Spaces:
Sleeping
Sleeping
Upload 26 files
Browse files- Dockerfile +25 -0
- README.md +34 -0
- backend/__init__.py +0 -0
- backend/app/__init__.py +0 -0
- backend/app/api/__init__.py +0 -0
- backend/app/api/compare.py +35 -0
- backend/app/api/datasets.py +89 -0
- backend/app/api/experiments.py +140 -0
- backend/app/api/exports.py +53 -0
- backend/app/api/health.py +7 -0
- backend/app/api/presets.py +13 -0
- backend/app/api/runs.py +29 -0
- backend/app/db.py +34 -0
- backend/app/main.py +45 -0
- backend/app/models/__init__.py +0 -0
- backend/app/models/dataset.py +14 -0
- backend/app/models/experiment.py +16 -0
- backend/app/repositories/__init__.py +0 -0
- backend/app/repositories/dataset_repo.py +35 -0
- backend/app/repositories/experiment_repo.py +45 -0
- backend/app/services/__init__.py +0 -0
- backend/app/services/profiling_service.py +23 -0
- backend/app/utils/__init__.py +0 -0
- backend/app/utils/ids.py +7 -0
- data_samples/access_demo.csv +801 -0
- requirements.txt +8 -0
Dockerfile
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
FROM python:3.11-slim
|
| 2 |
+
|
| 3 |
+
ENV PYTHONDONTWRITEBYTECODE=1
|
| 4 |
+
ENV PYTHONUNBUFFERED=1
|
| 5 |
+
ENV PORT=7860
|
| 6 |
+
ENV PYTHONPATH=/app
|
| 7 |
+
|
| 8 |
+
WORKDIR /app
|
| 9 |
+
|
| 10 |
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
| 11 |
+
build-essential \
|
| 12 |
+
curl \
|
| 13 |
+
&& rm -rf /var/lib/apt/lists/*
|
| 14 |
+
|
| 15 |
+
COPY requirements.txt .
|
| 16 |
+
RUN pip install --no-cache-dir -r requirements.txt
|
| 17 |
+
|
| 18 |
+
COPY backend /app/backend
|
| 19 |
+
COPY data_samples /app/data_samples
|
| 20 |
+
|
| 21 |
+
RUN mkdir -p /data/uploads /data/artifacts
|
| 22 |
+
|
| 23 |
+
EXPOSE 7860
|
| 24 |
+
|
| 25 |
+
CMD ["uvicorn", "backend.app.main:app", "--host", "0.0.0.0", "--port", "7860"]
|
README.md
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
title: ClusterBuster API
|
| 3 |
+
emoji: 📊
|
| 4 |
+
colorFrom: blue
|
| 5 |
+
colorTo: indigo
|
| 6 |
+
sdk: docker
|
| 7 |
+
app_port: 7860
|
| 8 |
+
pinned: false
|
| 9 |
+
---
|
| 10 |
+
|
| 11 |
+
# ClusterBuster
|
| 12 |
+
|
| 13 |
+
End to end clustering platform.
|
| 14 |
+
|
| 15 |
+
Backend:
|
| 16 |
+
- FastAPI
|
| 17 |
+
- SQLite at /data/clusterforge.db
|
| 18 |
+
- Upload datasets
|
| 19 |
+
- Profile datasets
|
| 20 |
+
- Run clustering experiments
|
| 21 |
+
- PCA scatter points
|
| 22 |
+
- Runs and compare APIs
|
| 23 |
+
- CSV export
|
| 24 |
+
|
| 25 |
+
Frontend:
|
| 26 |
+
- Next.js
|
| 27 |
+
- Upload page
|
| 28 |
+
- New experiment page
|
| 29 |
+
- Runs page
|
| 30 |
+
- Compare page
|
| 31 |
+
|
| 32 |
+
Deploy:
|
| 33 |
+
- backend repo to Hugging Face Docker Space
|
| 34 |
+
- frontend repo to Vercel
|
backend/__init__.py
ADDED
|
File without changes
|
backend/app/__init__.py
ADDED
|
File without changes
|
backend/app/api/__init__.py
ADDED
|
File without changes
|
backend/app/api/compare.py
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import json
|
| 2 |
+
|
| 3 |
+
from fastapi import APIRouter, Depends, Query
|
| 4 |
+
from sqlalchemy.orm import Session
|
| 5 |
+
|
| 6 |
+
from backend.app.db import get_db
|
| 7 |
+
from backend.app.repositories.experiment_repo import get_experiments_by_ids, list_experiments
|
| 8 |
+
|
| 9 |
+
router = APIRouter(tags=["compare"])
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
@router.get("/compare")
|
| 13 |
+
def compare_experiments(experiment_ids: str | None = Query(default=None), db: Session = Depends(get_db)):
|
| 14 |
+
if experiment_ids:
|
| 15 |
+
ids = [x.strip() for x in experiment_ids.split(",") if x.strip()]
|
| 16 |
+
experiments = get_experiments_by_ids(db, ids)
|
| 17 |
+
else:
|
| 18 |
+
experiments = list_experiments(db)
|
| 19 |
+
|
| 20 |
+
return {
|
| 21 |
+
"experiments": [
|
| 22 |
+
{
|
| 23 |
+
"experiment_id": exp.id,
|
| 24 |
+
"dataset_id": exp.dataset_id,
|
| 25 |
+
"algorithm": exp.algorithm,
|
| 26 |
+
"status": exp.status,
|
| 27 |
+
"config": json.loads(exp.config_json) if exp.config_json else {},
|
| 28 |
+
"metrics": json.loads(exp.metrics_json) if exp.metrics_json else {},
|
| 29 |
+
"summary": json.loads(exp.summary_json) if exp.summary_json else {},
|
| 30 |
+
"runtime_ms": exp.runtime_ms,
|
| 31 |
+
"error_message": exp.error_message,
|
| 32 |
+
}
|
| 33 |
+
for exp in experiments
|
| 34 |
+
]
|
| 35 |
+
}
|
backend/app/api/datasets.py
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import json
|
| 2 |
+
from pathlib import Path
|
| 3 |
+
|
| 4 |
+
import pandas as pd
|
| 5 |
+
from fastapi import APIRouter, Depends, File, HTTPException, UploadFile
|
| 6 |
+
from sqlalchemy.orm import Session
|
| 7 |
+
|
| 8 |
+
from backend.app.db import get_db
|
| 9 |
+
from backend.app.repositories.dataset_repo import create_dataset, get_dataset, list_datasets
|
| 10 |
+
from backend.app.services.profiling_service import profile_dataframe
|
| 11 |
+
from backend.app.utils.ids import make_dataset_id
|
| 12 |
+
|
| 13 |
+
router = APIRouter(tags=["datasets"])
|
| 14 |
+
|
| 15 |
+
UPLOAD_DIR = Path("/data/uploads")
|
| 16 |
+
UPLOAD_DIR.mkdir(parents=True, exist_ok=True)
|
| 17 |
+
|
| 18 |
+
|
| 19 |
+
@router.get("/datasets")
|
| 20 |
+
def datasets_list(db: Session = Depends(get_db)):
|
| 21 |
+
datasets = list_datasets(db)
|
| 22 |
+
return {
|
| 23 |
+
"datasets": [
|
| 24 |
+
{
|
| 25 |
+
"id": d.id,
|
| 26 |
+
"name": d.name,
|
| 27 |
+
"row_count": d.row_count,
|
| 28 |
+
"column_count": d.column_count,
|
| 29 |
+
}
|
| 30 |
+
for d in datasets
|
| 31 |
+
]
|
| 32 |
+
}
|
| 33 |
+
|
| 34 |
+
|
| 35 |
+
@router.post("/datasets/upload")
|
| 36 |
+
async def upload_dataset(file: UploadFile = File(...), db: Session = Depends(get_db)):
|
| 37 |
+
if not file.filename:
|
| 38 |
+
raise HTTPException(status_code=400, detail="Missing file name")
|
| 39 |
+
|
| 40 |
+
suffix = Path(file.filename).suffix.lower()
|
| 41 |
+
if suffix not in {".csv", ".xlsx", ".xls"}:
|
| 42 |
+
raise HTTPException(status_code=400, detail="Only CSV and Excel files are supported")
|
| 43 |
+
|
| 44 |
+
dataset_id = make_dataset_id()
|
| 45 |
+
path = UPLOAD_DIR / f"{dataset_id}{suffix}"
|
| 46 |
+
|
| 47 |
+
content = await file.read()
|
| 48 |
+
path.write_bytes(content)
|
| 49 |
+
|
| 50 |
+
if suffix == ".csv":
|
| 51 |
+
df = pd.read_csv(path)
|
| 52 |
+
else:
|
| 53 |
+
df = pd.read_excel(path)
|
| 54 |
+
|
| 55 |
+
profile = profile_dataframe(df)
|
| 56 |
+
|
| 57 |
+
create_dataset(
|
| 58 |
+
db=db,
|
| 59 |
+
id=dataset_id,
|
| 60 |
+
name=file.filename,
|
| 61 |
+
file_path=str(path),
|
| 62 |
+
row_count=int(len(df)),
|
| 63 |
+
column_count=int(len(df.columns)),
|
| 64 |
+
schema_json=json.dumps({"columns": list(df.columns)}),
|
| 65 |
+
profile_json=json.dumps(profile),
|
| 66 |
+
)
|
| 67 |
+
|
| 68 |
+
return {
|
| 69 |
+
"dataset_id": dataset_id,
|
| 70 |
+
"name": file.filename,
|
| 71 |
+
"row_count": int(len(df)),
|
| 72 |
+
"column_count": int(len(df.columns)),
|
| 73 |
+
}
|
| 74 |
+
|
| 75 |
+
|
| 76 |
+
@router.get("/datasets/{dataset_id}/profile")
|
| 77 |
+
def dataset_profile(dataset_id: str, db: Session = Depends(get_db)):
|
| 78 |
+
dataset = get_dataset(db, dataset_id)
|
| 79 |
+
if not dataset:
|
| 80 |
+
raise HTTPException(status_code=404, detail="Dataset not found")
|
| 81 |
+
|
| 82 |
+
return {
|
| 83 |
+
"dataset_id": dataset.id,
|
| 84 |
+
"name": dataset.name,
|
| 85 |
+
"row_count": dataset.row_count,
|
| 86 |
+
"column_count": dataset.column_count,
|
| 87 |
+
"schema": json.loads(dataset.schema_json),
|
| 88 |
+
"profile": json.loads(dataset.profile_json),
|
| 89 |
+
}
|
backend/app/api/experiments.py
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import json
|
| 2 |
+
import time
|
| 3 |
+
|
| 4 |
+
import pandas as pd
|
| 5 |
+
from fastapi import APIRouter, Depends, HTTPException
|
| 6 |
+
from pydantic import BaseModel
|
| 7 |
+
from sqlalchemy.orm import Session
|
| 8 |
+
from sklearn.cluster import AgglomerativeClustering, Birch, KMeans
|
| 9 |
+
from sklearn.decomposition import PCA
|
| 10 |
+
from sklearn.metrics import silhouette_score
|
| 11 |
+
|
| 12 |
+
from backend.app.db import get_db
|
| 13 |
+
from backend.app.repositories.dataset_repo import get_dataset
|
| 14 |
+
from backend.app.repositories.experiment_repo import create_experiment
|
| 15 |
+
from backend.app.utils.ids import make_experiment_id
|
| 16 |
+
|
| 17 |
+
router = APIRouter(tags=["experiments"])
|
| 18 |
+
|
| 19 |
+
|
| 20 |
+
class RunRequest(BaseModel):
|
| 21 |
+
dataset_id: str
|
| 22 |
+
name: str | None = None
|
| 23 |
+
algorithm: str = "kmeans"
|
| 24 |
+
n_clusters: int = 4
|
| 25 |
+
feature_columns: list[str]
|
| 26 |
+
|
| 27 |
+
|
| 28 |
+
@router.post("/experiments/run")
|
| 29 |
+
def run_experiment(req: RunRequest, db: Session = Depends(get_db)):
|
| 30 |
+
dataset = get_dataset(db, req.dataset_id)
|
| 31 |
+
if not dataset:
|
| 32 |
+
raise HTTPException(status_code=404, detail="Dataset not found")
|
| 33 |
+
|
| 34 |
+
if dataset.file_path.endswith(".csv"):
|
| 35 |
+
df = pd.read_csv(dataset.file_path)
|
| 36 |
+
else:
|
| 37 |
+
df = pd.read_excel(dataset.file_path)
|
| 38 |
+
|
| 39 |
+
if not req.feature_columns:
|
| 40 |
+
raise HTTPException(status_code=400, detail="feature_columns is required")
|
| 41 |
+
|
| 42 |
+
missing = [c for c in req.feature_columns if c not in df.columns]
|
| 43 |
+
if missing:
|
| 44 |
+
raise HTTPException(status_code=400, detail=f"Missing columns: {', '.join(missing)}")
|
| 45 |
+
|
| 46 |
+
X = df[req.feature_columns].copy()
|
| 47 |
+
X = pd.get_dummies(X)
|
| 48 |
+
X = X.fillna(0)
|
| 49 |
+
|
| 50 |
+
start = time.time()
|
| 51 |
+
|
| 52 |
+
if req.algorithm == "kmeans":
|
| 53 |
+
model = KMeans(n_clusters=req.n_clusters, n_init=10, random_state=42)
|
| 54 |
+
labels = model.fit_predict(X)
|
| 55 |
+
elif req.algorithm == "agglomerative":
|
| 56 |
+
model = AgglomerativeClustering(n_clusters=req.n_clusters)
|
| 57 |
+
labels = model.fit_predict(X)
|
| 58 |
+
elif req.algorithm == "birch":
|
| 59 |
+
model = Birch(n_clusters=req.n_clusters)
|
| 60 |
+
labels = model.fit_predict(X)
|
| 61 |
+
else:
|
| 62 |
+
raise HTTPException(status_code=400, detail="Unsupported algorithm")
|
| 63 |
+
|
| 64 |
+
runtime_ms = int((time.time() - start) * 1000)
|
| 65 |
+
unique_labels = sorted(set(labels.tolist()))
|
| 66 |
+
score = None
|
| 67 |
+
if len(unique_labels) > 1 and len(unique_labels) < len(X):
|
| 68 |
+
score = float(silhouette_score(X, labels))
|
| 69 |
+
|
| 70 |
+
pca = PCA(n_components=2, random_state=42)
|
| 71 |
+
coords = pca.fit_transform(X)
|
| 72 |
+
|
| 73 |
+
points = [
|
| 74 |
+
{
|
| 75 |
+
"row_index": int(i),
|
| 76 |
+
"cluster_label": int(labels[i]),
|
| 77 |
+
"x": float(coords[i][0]),
|
| 78 |
+
"y": float(coords[i][1]),
|
| 79 |
+
}
|
| 80 |
+
for i in range(len(labels))
|
| 81 |
+
]
|
| 82 |
+
|
| 83 |
+
cluster_sizes = {str(label): int((labels == label).sum()) for label in unique_labels}
|
| 84 |
+
experiment_id = make_experiment_id()
|
| 85 |
+
|
| 86 |
+
metrics = {
|
| 87 |
+
"silhouette_score": score,
|
| 88 |
+
"cluster_count": len(unique_labels),
|
| 89 |
+
"row_count": int(len(X)),
|
| 90 |
+
"runtime_ms": runtime_ms,
|
| 91 |
+
}
|
| 92 |
+
summary = {
|
| 93 |
+
"feature_columns": req.feature_columns,
|
| 94 |
+
"cluster_sizes": cluster_sizes,
|
| 95 |
+
"points": points,
|
| 96 |
+
}
|
| 97 |
+
|
| 98 |
+
create_experiment(
|
| 99 |
+
db=db,
|
| 100 |
+
id=experiment_id,
|
| 101 |
+
dataset_id=req.dataset_id,
|
| 102 |
+
algorithm=req.algorithm,
|
| 103 |
+
status="completed",
|
| 104 |
+
config_json=req.model_dump_json(),
|
| 105 |
+
metrics_json=json.dumps(metrics),
|
| 106 |
+
summary_json=json.dumps(summary),
|
| 107 |
+
runtime_ms=runtime_ms,
|
| 108 |
+
error_message=None,
|
| 109 |
+
)
|
| 110 |
+
|
| 111 |
+
return {
|
| 112 |
+
"experiment_id": experiment_id,
|
| 113 |
+
"status": "completed",
|
| 114 |
+
"silhouette_score": score,
|
| 115 |
+
"cluster_count": len(unique_labels),
|
| 116 |
+
"cluster_sizes": cluster_sizes,
|
| 117 |
+
"runtime_ms": runtime_ms,
|
| 118 |
+
"points": points,
|
| 119 |
+
}
|
| 120 |
+
|
| 121 |
+
|
| 122 |
+
@router.get("/experiments/{experiment_id}/results")
|
| 123 |
+
def experiment_results(experiment_id: str, db: Session = Depends(get_db)):
|
| 124 |
+
from backend.app.repositories.experiment_repo import get_experiment
|
| 125 |
+
|
| 126 |
+
exp = get_experiment(db, experiment_id)
|
| 127 |
+
if not exp:
|
| 128 |
+
raise HTTPException(status_code=404, detail="Experiment not found")
|
| 129 |
+
|
| 130 |
+
return {
|
| 131 |
+
"experiment_id": exp.id,
|
| 132 |
+
"dataset_id": exp.dataset_id,
|
| 133 |
+
"algorithm": exp.algorithm,
|
| 134 |
+
"status": exp.status,
|
| 135 |
+
"config": json.loads(exp.config_json) if exp.config_json else {},
|
| 136 |
+
"metrics": json.loads(exp.metrics_json) if exp.metrics_json else {},
|
| 137 |
+
"summary": json.loads(exp.summary_json) if exp.summary_json else {},
|
| 138 |
+
"runtime_ms": exp.runtime_ms,
|
| 139 |
+
"error_message": exp.error_message,
|
| 140 |
+
}
|
backend/app/api/exports.py
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import io
|
| 2 |
+
import json
|
| 3 |
+
|
| 4 |
+
import pandas as pd
|
| 5 |
+
from fastapi import APIRouter, Depends, HTTPException
|
| 6 |
+
from fastapi.responses import StreamingResponse
|
| 7 |
+
from sqlalchemy.orm import Session
|
| 8 |
+
|
| 9 |
+
from backend.app.db import get_db
|
| 10 |
+
from backend.app.repositories.dataset_repo import get_dataset
|
| 11 |
+
from backend.app.repositories.experiment_repo import get_experiment
|
| 12 |
+
|
| 13 |
+
router = APIRouter(tags=["exports"])
|
| 14 |
+
|
| 15 |
+
|
| 16 |
+
@router.get("/exports/{experiment_id}")
|
| 17 |
+
def export_experiment(experiment_id: str, db: Session = Depends(get_db)):
|
| 18 |
+
experiment = get_experiment(db, experiment_id)
|
| 19 |
+
if not experiment:
|
| 20 |
+
raise HTTPException(status_code=404, detail="Experiment not found")
|
| 21 |
+
|
| 22 |
+
dataset = get_dataset(db, experiment.dataset_id)
|
| 23 |
+
if not dataset:
|
| 24 |
+
raise HTTPException(status_code=404, detail="Dataset not found")
|
| 25 |
+
|
| 26 |
+
if dataset.file_path.endswith(".csv"):
|
| 27 |
+
df = pd.read_csv(dataset.file_path)
|
| 28 |
+
else:
|
| 29 |
+
df = pd.read_excel(dataset.file_path)
|
| 30 |
+
|
| 31 |
+
summary = json.loads(experiment.summary_json) if experiment.summary_json else {}
|
| 32 |
+
points = summary.get("points", [])
|
| 33 |
+
if points and len(points) == len(df):
|
| 34 |
+
export_df = df.copy()
|
| 35 |
+
export_df["cluster_label"] = [p["cluster_label"] for p in points]
|
| 36 |
+
export_df["pca_x"] = [p["x"] for p in points]
|
| 37 |
+
export_df["pca_y"] = [p["y"] for p in points]
|
| 38 |
+
else:
|
| 39 |
+
export_df = df.copy()
|
| 40 |
+
|
| 41 |
+
metrics = json.loads(experiment.metrics_json) if experiment.metrics_json else {}
|
| 42 |
+
for key, value in metrics.items():
|
| 43 |
+
export_df[f"metric_{key}"] = value
|
| 44 |
+
|
| 45 |
+
buffer = io.StringIO()
|
| 46 |
+
export_df.to_csv(buffer, index=False)
|
| 47 |
+
buffer.seek(0)
|
| 48 |
+
|
| 49 |
+
return StreamingResponse(
|
| 50 |
+
iter([buffer.getvalue()]),
|
| 51 |
+
media_type="text/csv",
|
| 52 |
+
headers={"Content-Disposition": f"attachment; filename={experiment_id}_export.csv"},
|
| 53 |
+
)
|
backend/app/api/health.py
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from fastapi import APIRouter
|
| 2 |
+
|
| 3 |
+
router = APIRouter(tags=["health"])
|
| 4 |
+
|
| 5 |
+
@router.get("/health")
|
| 6 |
+
def health():
|
| 7 |
+
return {"ok": True, "service": "clusterbuster-api"}
|
backend/app/api/presets.py
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from fastapi import APIRouter
|
| 2 |
+
|
| 3 |
+
router = APIRouter(tags=["presets"])
|
| 4 |
+
|
| 5 |
+
@router.get("/presets/algorithms")
|
| 6 |
+
def list_algorithms():
|
| 7 |
+
return {
|
| 8 |
+
"algorithms": [
|
| 9 |
+
{"key": "kmeans", "label": "KMeans", "params": {"n_clusters": 4}},
|
| 10 |
+
{"key": "agglomerative", "label": "Agglomerative", "params": {"n_clusters": 4}},
|
| 11 |
+
{"key": "birch", "label": "Birch", "params": {"n_clusters": 4}},
|
| 12 |
+
]
|
| 13 |
+
}
|
backend/app/api/runs.py
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import json
|
| 2 |
+
|
| 3 |
+
from fastapi import APIRouter, Depends
|
| 4 |
+
from sqlalchemy.orm import Session
|
| 5 |
+
|
| 6 |
+
from backend.app.db import get_db
|
| 7 |
+
from backend.app.repositories.experiment_repo import list_experiments
|
| 8 |
+
|
| 9 |
+
router = APIRouter(tags=["runs"])
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
@router.get("/runs")
|
| 13 |
+
def get_runs(db: Session = Depends(get_db)):
|
| 14 |
+
experiments = list_experiments(db)
|
| 15 |
+
return {
|
| 16 |
+
"runs": [
|
| 17 |
+
{
|
| 18 |
+
"experiment_id": exp.id,
|
| 19 |
+
"dataset_id": exp.dataset_id,
|
| 20 |
+
"algorithm": exp.algorithm,
|
| 21 |
+
"status": exp.status,
|
| 22 |
+
"metrics": json.loads(exp.metrics_json) if exp.metrics_json else {},
|
| 23 |
+
"summary": json.loads(exp.summary_json) if exp.summary_json else {},
|
| 24 |
+
"runtime_ms": exp.runtime_ms,
|
| 25 |
+
"error_message": exp.error_message,
|
| 26 |
+
}
|
| 27 |
+
for exp in experiments
|
| 28 |
+
]
|
| 29 |
+
}
|
backend/app/db.py
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import os
|
| 2 |
+
from sqlalchemy import create_engine
|
| 3 |
+
from sqlalchemy.orm import declarative_base, sessionmaker
|
| 4 |
+
|
| 5 |
+
DB_PATH = os.getenv("DB_PATH", "/data/clusterforge.db")
|
| 6 |
+
DATABASE_URL = f"sqlite:///{DB_PATH}"
|
| 7 |
+
|
| 8 |
+
engine = create_engine(
|
| 9 |
+
DATABASE_URL,
|
| 10 |
+
connect_args={"check_same_thread": False},
|
| 11 |
+
)
|
| 12 |
+
|
| 13 |
+
SessionLocal = sessionmaker(
|
| 14 |
+
autocommit=False,
|
| 15 |
+
autoflush=False,
|
| 16 |
+
bind=engine,
|
| 17 |
+
)
|
| 18 |
+
|
| 19 |
+
Base = declarative_base()
|
| 20 |
+
|
| 21 |
+
|
| 22 |
+
def init_db() -> None:
|
| 23 |
+
import backend.app.models.dataset
|
| 24 |
+
import backend.app.models.experiment
|
| 25 |
+
|
| 26 |
+
Base.metadata.create_all(bind=engine)
|
| 27 |
+
|
| 28 |
+
|
| 29 |
+
def get_db():
|
| 30 |
+
db = SessionLocal()
|
| 31 |
+
try:
|
| 32 |
+
yield db
|
| 33 |
+
finally:
|
| 34 |
+
db.close()
|
backend/app/main.py
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from fastapi import FastAPI
|
| 2 |
+
from fastapi.middleware.cors import CORSMiddleware
|
| 3 |
+
|
| 4 |
+
from backend.app.db import init_db
|
| 5 |
+
from backend.app.api.health import router as health_router
|
| 6 |
+
from backend.app.api.datasets import router as datasets_router
|
| 7 |
+
from backend.app.api.presets import router as presets_router
|
| 8 |
+
from backend.app.api.experiments import router as experiments_router
|
| 9 |
+
from backend.app.api.compare import router as compare_router
|
| 10 |
+
from backend.app.api.exports import router as exports_router
|
| 11 |
+
from backend.app.api.runs import router as runs_router
|
| 12 |
+
|
| 13 |
+
app = FastAPI(title="ClusterBuster API")
|
| 14 |
+
|
| 15 |
+
|
| 16 |
+
@app.on_event("startup")
|
| 17 |
+
def on_startup() -> None:
|
| 18 |
+
init_db()
|
| 19 |
+
|
| 20 |
+
|
| 21 |
+
origins = [
|
| 22 |
+
"http://localhost:3000",
|
| 23 |
+
"https://cluster-buster.vercel.app",
|
| 24 |
+
]
|
| 25 |
+
|
| 26 |
+
app.add_middleware(
|
| 27 |
+
CORSMiddleware,
|
| 28 |
+
allow_origins=origins,
|
| 29 |
+
allow_credentials=True,
|
| 30 |
+
allow_methods=["*"],
|
| 31 |
+
allow_headers=["*"],
|
| 32 |
+
)
|
| 33 |
+
|
| 34 |
+
app.include_router(health_router, prefix="/api")
|
| 35 |
+
app.include_router(datasets_router, prefix="/api")
|
| 36 |
+
app.include_router(presets_router, prefix="/api")
|
| 37 |
+
app.include_router(experiments_router, prefix="/api")
|
| 38 |
+
app.include_router(compare_router, prefix="/api")
|
| 39 |
+
app.include_router(exports_router, prefix="/api")
|
| 40 |
+
app.include_router(runs_router, prefix="/api")
|
| 41 |
+
|
| 42 |
+
|
| 43 |
+
@app.get("/")
|
| 44 |
+
def root():
|
| 45 |
+
return {"ok": True, "service": "clusterbuster-api"}
|
backend/app/models/__init__.py
ADDED
|
File without changes
|
backend/app/models/dataset.py
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from sqlalchemy import Column, Integer, String, Text
|
| 2 |
+
from backend.app.db import Base
|
| 3 |
+
|
| 4 |
+
|
| 5 |
+
class Dataset(Base):
|
| 6 |
+
__tablename__ = "datasets"
|
| 7 |
+
|
| 8 |
+
id = Column(String, primary_key=True, index=True)
|
| 9 |
+
name = Column(String, nullable=False)
|
| 10 |
+
file_path = Column(String, nullable=False)
|
| 11 |
+
row_count = Column(Integer, nullable=False)
|
| 12 |
+
column_count = Column(Integer, nullable=False)
|
| 13 |
+
schema_json = Column(Text, nullable=False)
|
| 14 |
+
profile_json = Column(Text, nullable=False)
|
backend/app/models/experiment.py
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from sqlalchemy import Column, Integer, String, Text
|
| 2 |
+
from backend.app.db import Base
|
| 3 |
+
|
| 4 |
+
|
| 5 |
+
class Experiment(Base):
|
| 6 |
+
__tablename__ = "experiments"
|
| 7 |
+
|
| 8 |
+
id = Column(String, primary_key=True, index=True)
|
| 9 |
+
dataset_id = Column(String, nullable=False, index=True)
|
| 10 |
+
algorithm = Column(String, nullable=False)
|
| 11 |
+
status = Column(String, nullable=False)
|
| 12 |
+
config_json = Column(Text, nullable=True)
|
| 13 |
+
metrics_json = Column(Text, nullable=True)
|
| 14 |
+
summary_json = Column(Text, nullable=True)
|
| 15 |
+
runtime_ms = Column(Integer, nullable=True)
|
| 16 |
+
error_message = Column(Text, nullable=True)
|
backend/app/repositories/__init__.py
ADDED
|
File without changes
|
backend/app/repositories/dataset_repo.py
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from sqlalchemy.orm import Session
|
| 2 |
+
from backend.app.models.dataset import Dataset
|
| 3 |
+
|
| 4 |
+
|
| 5 |
+
def create_dataset(
|
| 6 |
+
db: Session,
|
| 7 |
+
id: str,
|
| 8 |
+
name: str,
|
| 9 |
+
file_path: str,
|
| 10 |
+
row_count: int,
|
| 11 |
+
column_count: int,
|
| 12 |
+
schema_json: str,
|
| 13 |
+
profile_json: str,
|
| 14 |
+
) -> Dataset:
|
| 15 |
+
dataset = Dataset(
|
| 16 |
+
id=id,
|
| 17 |
+
name=name,
|
| 18 |
+
file_path=file_path,
|
| 19 |
+
row_count=row_count,
|
| 20 |
+
column_count=column_count,
|
| 21 |
+
schema_json=schema_json,
|
| 22 |
+
profile_json=profile_json,
|
| 23 |
+
)
|
| 24 |
+
db.add(dataset)
|
| 25 |
+
db.commit()
|
| 26 |
+
db.refresh(dataset)
|
| 27 |
+
return dataset
|
| 28 |
+
|
| 29 |
+
|
| 30 |
+
def get_dataset(db: Session, dataset_id: str) -> Dataset | None:
|
| 31 |
+
return db.query(Dataset).filter(Dataset.id == dataset_id).first()
|
| 32 |
+
|
| 33 |
+
|
| 34 |
+
def list_datasets(db: Session) -> list[Dataset]:
|
| 35 |
+
return db.query(Dataset).order_by(Dataset.name.asc()).all()
|
backend/app/repositories/experiment_repo.py
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from sqlalchemy.orm import Session
|
| 2 |
+
from backend.app.models.experiment import Experiment
|
| 3 |
+
|
| 4 |
+
|
| 5 |
+
def create_experiment(
|
| 6 |
+
db: Session,
|
| 7 |
+
id: str,
|
| 8 |
+
dataset_id: str,
|
| 9 |
+
algorithm: str,
|
| 10 |
+
status: str,
|
| 11 |
+
config_json: str | None = None,
|
| 12 |
+
metrics_json: str | None = None,
|
| 13 |
+
summary_json: str | None = None,
|
| 14 |
+
runtime_ms: int | None = None,
|
| 15 |
+
error_message: str | None = None,
|
| 16 |
+
) -> Experiment:
|
| 17 |
+
experiment = Experiment(
|
| 18 |
+
id=id,
|
| 19 |
+
dataset_id=dataset_id,
|
| 20 |
+
algorithm=algorithm,
|
| 21 |
+
status=status,
|
| 22 |
+
config_json=config_json,
|
| 23 |
+
metrics_json=metrics_json,
|
| 24 |
+
summary_json=summary_json,
|
| 25 |
+
runtime_ms=runtime_ms,
|
| 26 |
+
error_message=error_message,
|
| 27 |
+
)
|
| 28 |
+
db.add(experiment)
|
| 29 |
+
db.commit()
|
| 30 |
+
db.refresh(experiment)
|
| 31 |
+
return experiment
|
| 32 |
+
|
| 33 |
+
|
| 34 |
+
def get_experiment(db: Session, experiment_id: str) -> Experiment | None:
|
| 35 |
+
return db.query(Experiment).filter(Experiment.id == experiment_id).first()
|
| 36 |
+
|
| 37 |
+
|
| 38 |
+
def list_experiments(db: Session) -> list[Experiment]:
|
| 39 |
+
return db.query(Experiment).order_by(Experiment.id.desc()).all()
|
| 40 |
+
|
| 41 |
+
|
| 42 |
+
def get_experiments_by_ids(db: Session, experiment_ids: list[str]) -> list[Experiment]:
|
| 43 |
+
if not experiment_ids:
|
| 44 |
+
return []
|
| 45 |
+
return db.query(Experiment).filter(Experiment.id.in_(experiment_ids)).all()
|
backend/app/services/__init__.py
ADDED
|
File without changes
|
backend/app/services/profiling_service.py
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
def profile_dataframe(df):
|
| 2 |
+
numeric_cols = df.select_dtypes(include=["int64", "float64", "int32", "float32"]).columns.tolist()
|
| 3 |
+
categorical_cols = df.select_dtypes(include=["object", "bool"]).columns.tolist()
|
| 4 |
+
|
| 5 |
+
recommended = []
|
| 6 |
+
if numeric_cols:
|
| 7 |
+
recommended.extend(["kmeans", "birch"])
|
| 8 |
+
if categorical_cols:
|
| 9 |
+
recommended.append("agglomerative")
|
| 10 |
+
|
| 11 |
+
cols = []
|
| 12 |
+
for col in df.columns:
|
| 13 |
+
cols.append({
|
| 14 |
+
"name": col,
|
| 15 |
+
"inferred_type": str(df[col].dtype),
|
| 16 |
+
"missing_pct": float(df[col].isna().mean()),
|
| 17 |
+
"cardinality": int(df[col].nunique(dropna=True)),
|
| 18 |
+
})
|
| 19 |
+
|
| 20 |
+
return {
|
| 21 |
+
"columns": cols,
|
| 22 |
+
"recommended_algorithms": recommended,
|
| 23 |
+
}
|
backend/app/utils/__init__.py
ADDED
|
File without changes
|
backend/app/utils/ids.py
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import secrets
|
| 2 |
+
|
| 3 |
+
def make_dataset_id() -> str:
|
| 4 |
+
return "ds_" + secrets.token_hex(4)
|
| 5 |
+
|
| 6 |
+
def make_experiment_id() -> str:
|
| 7 |
+
return "exp_" + secrets.token_hex(4)
|
data_samples/access_demo.csv
ADDED
|
@@ -0,0 +1,801 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
user_id,department,title,location,application_name,entitlement_count,privileged_access_flag,mfa_enabled,risk_score,peer_access_overlap_score,last_login_days_ago,granted_count_6m,revoked_count_6m,review_count_6m,sensitive_access_flag
|
| 2 |
+
user_0,HR,Manager,NY,Workday,9,0,1,0.464,0.601,168,15,6,1,1
|
| 3 |
+
user_1,Sales,Analyst,TX,Jira,17,1,0,0.226,0.745,128,15,2,0,0
|
| 4 |
+
user_2,HR,Analyst,TX,Workday,28,1,0,0.239,0.819,104,1,6,1,0
|
| 5 |
+
user_3,Engineering,Specialist,TX,Workday,21,1,1,0.914,0.618,172,8,5,12,1
|
| 6 |
+
user_4,Support,Admin,SF,Oracle,17,0,1,0.528,0.73,152,15,9,11,0
|
| 7 |
+
user_5,HR,Analyst,TX,Jira,22,1,1,0.22,0.107,39,19,8,0,0
|
| 8 |
+
user_6,HR,Engineer,Remote,Oracle,21,0,0,0.74,0.157,78,14,7,7,0
|
| 9 |
+
user_7,Finance,Engineer,Remote,Jira,29,1,1,0.765,0.321,38,16,5,8,0
|
| 10 |
+
user_8,Sales,Analyst,SF,Jira,29,0,0,0.386,0.621,104,20,9,10,1
|
| 11 |
+
user_9,Support,Analyst,SF,Oracle,29,0,1,0.67,0.798,42,9,1,8,1
|
| 12 |
+
user_10,Support,Manager,Remote,Jira,19,1,1,0.378,0.32,120,8,8,2,1
|
| 13 |
+
user_11,Finance,Manager,SF,Workday,43,1,1,0.742,0.778,134,0,8,10,1
|
| 14 |
+
user_12,Engineering,Specialist,NY,SAP,9,1,1,0.385,0.736,70,4,6,6,1
|
| 15 |
+
user_13,Support,Specialist,Remote,Jira,33,0,1,0.586,0.766,164,16,6,5,0
|
| 16 |
+
user_14,Support,Specialist,Remote,Workday,21,0,0,0.84,0.933,43,9,9,1,1
|
| 17 |
+
user_15,Sales,Engineer,TX,GitHub,28,0,1,0.265,0.528,26,16,10,3,0
|
| 18 |
+
user_16,Engineering,Specialist,SF,SAP,24,0,1,0.236,0.356,163,10,1,9,1
|
| 19 |
+
user_17,Sales,Admin,NY,Workday,37,0,0,0.344,0.347,45,15,0,0,0
|
| 20 |
+
user_18,Engineering,Analyst,TX,GitHub,37,0,1,0.408,0.478,41,8,8,6,0
|
| 21 |
+
user_19,Finance,Admin,SF,Workday,26,0,1,0.458,0.496,70,16,3,10,0
|
| 22 |
+
user_20,HR,Engineer,SF,GitHub,39,0,1,0.642,0.749,33,8,6,10,0
|
| 23 |
+
user_21,Finance,Manager,TX,Workday,44,1,0,0.334,0.77,88,5,8,11,0
|
| 24 |
+
user_22,Engineering,Analyst,TX,GitHub,27,0,0,0.88,0.912,176,12,0,3,1
|
| 25 |
+
user_23,HR,Analyst,TX,SAP,33,1,1,0.681,0.136,17,20,1,8,1
|
| 26 |
+
user_24,Sales,Admin,Remote,Oracle,44,1,1,0.787,0.303,41,10,2,3,1
|
| 27 |
+
user_25,Sales,Specialist,Remote,Workday,45,1,1,0.75,0.22,71,12,7,4,0
|
| 28 |
+
user_26,Support,Specialist,Remote,Workday,41,0,1,0.223,0.12,100,15,6,12,0
|
| 29 |
+
user_27,HR,Admin,NY,GitHub,18,0,0,0.65,0.396,113,10,0,8,1
|
| 30 |
+
user_28,Support,Manager,TX,SAP,27,1,0,0.64,0.304,108,1,1,2,1
|
| 31 |
+
user_29,HR,Admin,Remote,Jira,6,1,1,0.938,0.801,122,20,9,9,1
|
| 32 |
+
user_30,HR,Manager,SF,SAP,15,1,1,0.285,0.329,23,3,2,0,1
|
| 33 |
+
user_31,Finance,Manager,Remote,GitHub,12,0,1,0.806,0.583,177,7,10,8,0
|
| 34 |
+
user_32,Support,Engineer,TX,Workday,37,0,1,0.598,0.242,37,1,1,0,0
|
| 35 |
+
user_33,Sales,Analyst,SF,Workday,24,0,1,0.306,0.58,42,9,6,0,0
|
| 36 |
+
user_34,HR,Engineer,SF,Oracle,38,0,1,0.473,0.744,100,12,3,9,0
|
| 37 |
+
user_35,Finance,Specialist,SF,Workday,26,1,1,0.386,0.617,174,1,7,6,0
|
| 38 |
+
user_36,HR,Manager,Remote,SAP,12,1,0,0.542,0.288,164,2,0,2,1
|
| 39 |
+
user_37,Sales,Analyst,NY,Jira,33,1,0,0.212,0.713,44,15,3,11,0
|
| 40 |
+
user_38,Finance,Analyst,SF,Workday,13,0,1,0.323,0.876,128,4,2,6,0
|
| 41 |
+
user_39,HR,Admin,NY,Oracle,11,0,1,0.861,0.371,74,5,3,11,1
|
| 42 |
+
user_40,Sales,Engineer,Remote,GitHub,19,0,0,0.755,0.902,30,20,2,3,1
|
| 43 |
+
user_41,HR,Admin,Remote,SAP,45,1,0,0.893,0.762,33,11,0,7,0
|
| 44 |
+
user_42,HR,Admin,SF,Jira,25,1,1,0.402,0.378,33,13,5,10,0
|
| 45 |
+
user_43,HR,Analyst,SF,Jira,28,1,1,0.651,0.485,103,6,7,6,0
|
| 46 |
+
user_44,Support,Specialist,NY,Oracle,21,0,0,0.854,0.733,169,17,7,8,1
|
| 47 |
+
user_45,Finance,Analyst,Remote,Jira,39,0,1,0.216,0.131,70,19,1,2,0
|
| 48 |
+
user_46,Engineering,Specialist,SF,GitHub,21,0,0,0.283,0.1,127,4,1,3,1
|
| 49 |
+
user_47,Finance,Engineer,NY,SAP,39,0,1,0.764,0.323,45,13,7,0,0
|
| 50 |
+
user_48,Sales,Specialist,Remote,GitHub,32,0,1,0.25,0.351,61,20,9,9,1
|
| 51 |
+
user_49,Engineering,Specialist,NY,SAP,30,1,1,0.45,0.516,173,10,8,3,0
|
| 52 |
+
user_50,HR,Engineer,NY,Workday,17,1,0,0.534,0.151,73,5,6,3,0
|
| 53 |
+
user_51,Finance,Manager,SF,SAP,6,0,1,0.496,0.387,132,7,3,6,0
|
| 54 |
+
user_52,Finance,Manager,Remote,Workday,6,1,0,0.897,0.94,147,12,2,11,0
|
| 55 |
+
user_53,Finance,Analyst,Remote,SAP,32,1,0,0.946,0.932,95,12,3,11,0
|
| 56 |
+
user_54,Engineering,Analyst,SF,Workday,25,1,0,0.547,0.104,51,10,8,5,1
|
| 57 |
+
user_55,HR,Specialist,Remote,Workday,35,1,1,0.33,0.573,0,4,9,2,0
|
| 58 |
+
user_56,Sales,Specialist,NY,GitHub,27,1,0,0.75,0.91,82,20,8,7,0
|
| 59 |
+
user_57,Engineering,Engineer,SF,Jira,28,1,1,0.552,0.802,108,8,8,6,1
|
| 60 |
+
user_58,HR,Admin,SF,GitHub,13,0,1,0.606,0.726,89,3,9,4,1
|
| 61 |
+
user_59,Finance,Specialist,NY,Workday,30,0,1,0.848,0.149,146,9,7,8,0
|
| 62 |
+
user_60,HR,Manager,Remote,Workday,22,0,1,0.328,0.25,24,18,7,1,1
|
| 63 |
+
user_61,HR,Engineer,SF,GitHub,21,1,0,0.646,0.201,141,18,7,0,1
|
| 64 |
+
user_62,HR,Specialist,Remote,GitHub,40,1,1,0.812,0.281,75,9,9,6,0
|
| 65 |
+
user_63,Finance,Admin,NY,GitHub,16,0,1,0.314,0.446,27,2,1,4,0
|
| 66 |
+
user_64,HR,Manager,TX,Oracle,37,1,1,0.928,0.552,110,8,0,6,0
|
| 67 |
+
user_65,Sales,Specialist,Remote,GitHub,37,1,0,0.228,0.447,150,1,5,8,1
|
| 68 |
+
user_66,Finance,Manager,SF,Oracle,19,0,0,0.56,0.136,18,16,6,1,1
|
| 69 |
+
user_67,Support,Specialist,SF,Oracle,24,1,1,0.22,0.732,122,6,5,9,0
|
| 70 |
+
user_68,Support,Admin,Remote,Oracle,43,0,0,0.633,0.682,76,3,10,6,1
|
| 71 |
+
user_69,Sales,Specialist,NY,GitHub,20,0,1,0.252,0.352,143,20,2,12,1
|
| 72 |
+
user_70,Sales,Specialist,SF,Workday,12,1,0,0.211,0.858,76,8,4,2,0
|
| 73 |
+
user_71,Finance,Specialist,SF,Jira,9,1,1,0.209,0.337,42,1,2,10,1
|
| 74 |
+
user_72,Support,Engineer,NY,Jira,30,1,0,0.701,0.195,162,11,6,3,0
|
| 75 |
+
user_73,Support,Engineer,Remote,SAP,33,1,1,0.825,0.927,72,3,8,11,0
|
| 76 |
+
user_74,Support,Specialist,TX,GitHub,30,1,1,0.784,0.316,21,16,6,5,0
|
| 77 |
+
user_75,HR,Manager,NY,GitHub,26,1,0,0.771,0.508,21,12,5,0,0
|
| 78 |
+
user_76,Support,Analyst,SF,Workday,42,1,1,0.54,0.433,26,0,2,10,0
|
| 79 |
+
user_77,Engineering,Engineer,Remote,Oracle,11,0,0,0.207,0.351,127,18,5,11,0
|
| 80 |
+
user_78,Sales,Analyst,NY,SAP,33,1,0,0.844,0.982,60,15,2,12,0
|
| 81 |
+
user_79,Sales,Specialist,NY,SAP,27,0,0,0.593,0.441,84,1,10,3,0
|
| 82 |
+
user_80,Sales,Specialist,Remote,SAP,16,1,1,0.242,0.932,112,6,8,3,0
|
| 83 |
+
user_81,Sales,Admin,SF,SAP,20,1,0,0.274,0.434,45,5,5,4,1
|
| 84 |
+
user_82,Finance,Engineer,SF,SAP,21,1,0,0.293,0.412,136,9,6,2,1
|
| 85 |
+
user_83,Support,Manager,Remote,Workday,13,1,1,0.731,0.607,141,12,0,4,0
|
| 86 |
+
user_84,Finance,Analyst,Remote,GitHub,19,0,1,0.773,0.8,71,11,10,7,1
|
| 87 |
+
user_85,Engineering,Engineer,TX,GitHub,38,1,1,0.588,0.833,12,10,5,10,1
|
| 88 |
+
user_86,Support,Admin,Remote,SAP,42,1,0,0.522,0.214,33,10,1,6,0
|
| 89 |
+
user_87,Finance,Analyst,NY,Oracle,26,1,1,0.452,0.114,116,8,10,1,1
|
| 90 |
+
user_88,Finance,Admin,Remote,Workday,11,1,1,0.215,0.863,4,16,4,6,0
|
| 91 |
+
user_89,HR,Manager,NY,GitHub,5,0,0,0.946,0.358,113,14,2,3,1
|
| 92 |
+
user_90,Finance,Engineer,Remote,Workday,37,0,0,0.635,0.602,3,5,3,2,0
|
| 93 |
+
user_91,Sales,Manager,SF,Jira,12,0,0,0.752,0.923,151,20,1,10,1
|
| 94 |
+
user_92,HR,Specialist,Remote,Oracle,16,1,0,0.819,0.162,97,19,5,2,1
|
| 95 |
+
user_93,Finance,Manager,TX,Oracle,34,1,1,0.367,0.979,60,14,2,0,1
|
| 96 |
+
user_94,Finance,Manager,Remote,GitHub,45,0,1,0.561,0.968,143,20,2,9,0
|
| 97 |
+
user_95,Engineering,Manager,TX,Workday,19,1,0,0.299,0.123,53,7,8,12,0
|
| 98 |
+
user_96,Finance,Admin,NY,Oracle,35,1,0,0.585,0.951,116,15,4,11,0
|
| 99 |
+
user_97,HR,Specialist,NY,GitHub,37,0,1,0.833,0.867,119,14,5,1,1
|
| 100 |
+
user_98,Sales,Engineer,NY,SAP,35,0,1,0.475,0.932,125,4,5,1,0
|
| 101 |
+
user_99,HR,Specialist,Remote,Oracle,9,1,1,0.405,0.348,91,18,4,5,1
|
| 102 |
+
user_100,Support,Admin,Remote,Workday,23,0,0,0.407,0.906,106,19,3,7,1
|
| 103 |
+
user_101,Engineering,Engineer,NY,Oracle,26,0,1,0.376,0.122,21,9,3,8,0
|
| 104 |
+
user_102,Finance,Analyst,Remote,Jira,42,1,0,0.287,0.633,30,10,1,1,1
|
| 105 |
+
user_103,Engineering,Analyst,SF,Workday,27,1,1,0.559,0.199,9,2,1,8,1
|
| 106 |
+
user_104,HR,Admin,Remote,Oracle,14,0,1,0.711,0.718,161,16,6,7,0
|
| 107 |
+
user_105,Support,Admin,NY,Workday,19,1,1,0.415,0.122,98,1,6,0,1
|
| 108 |
+
user_106,Support,Manager,Remote,Jira,42,1,0,0.485,0.927,105,17,4,8,0
|
| 109 |
+
user_107,Sales,Analyst,NY,SAP,31,1,1,0.923,0.731,102,19,4,3,1
|
| 110 |
+
user_108,HR,Engineer,TX,SAP,41,0,0,0.231,0.731,121,0,0,7,1
|
| 111 |
+
user_109,Sales,Specialist,Remote,Oracle,22,0,1,0.563,0.217,69,8,3,7,0
|
| 112 |
+
user_110,Finance,Specialist,NY,GitHub,34,1,1,0.916,0.717,37,15,1,3,1
|
| 113 |
+
user_111,Finance,Specialist,Remote,Workday,22,0,0,0.589,0.378,55,3,9,0,0
|
| 114 |
+
user_112,HR,Analyst,Remote,Jira,36,1,1,0.319,0.146,131,0,1,0,0
|
| 115 |
+
user_113,HR,Analyst,Remote,Workday,33,1,0,0.346,0.782,74,9,2,3,1
|
| 116 |
+
user_114,HR,Manager,Remote,Jira,9,0,1,0.25,0.671,21,12,3,7,1
|
| 117 |
+
user_115,HR,Specialist,Remote,Jira,26,1,0,0.481,0.986,37,15,10,1,0
|
| 118 |
+
user_116,Engineering,Manager,SF,Oracle,33,0,1,0.26,0.197,5,6,2,5,1
|
| 119 |
+
user_117,HR,Analyst,NY,Workday,45,1,0,0.677,0.368,99,3,6,1,1
|
| 120 |
+
user_118,Finance,Admin,SF,Oracle,41,0,0,0.707,0.437,115,8,4,5,0
|
| 121 |
+
user_119,Support,Manager,TX,Workday,38,1,1,0.578,0.111,48,18,7,1,0
|
| 122 |
+
user_120,Engineering,Manager,SF,Workday,21,0,1,0.474,0.789,134,7,7,12,1
|
| 123 |
+
user_121,HR,Analyst,TX,GitHub,26,1,0,0.357,0.249,38,10,4,2,1
|
| 124 |
+
user_122,Sales,Analyst,NY,Oracle,39,1,0,0.507,0.225,95,13,9,0,1
|
| 125 |
+
user_123,HR,Specialist,SF,Workday,32,0,1,0.528,0.793,163,2,6,0,0
|
| 126 |
+
user_124,Finance,Analyst,NY,Oracle,17,0,0,0.879,0.878,81,3,1,3,1
|
| 127 |
+
user_125,HR,Admin,Remote,Jira,28,0,1,0.265,0.239,92,13,2,0,1
|
| 128 |
+
user_126,Support,Manager,Remote,Workday,12,1,0,0.547,0.377,16,11,9,11,0
|
| 129 |
+
user_127,Engineering,Admin,NY,Oracle,12,0,0,0.662,0.773,91,20,10,7,0
|
| 130 |
+
user_128,Support,Engineer,TX,Jira,25,0,1,0.633,0.462,28,8,4,8,1
|
| 131 |
+
user_129,Sales,Manager,SF,SAP,20,1,0,0.741,0.489,87,11,3,11,0
|
| 132 |
+
user_130,Sales,Manager,Remote,Oracle,8,1,1,0.337,0.131,79,5,0,8,0
|
| 133 |
+
user_131,Sales,Engineer,Remote,GitHub,10,0,1,0.498,0.618,172,6,0,1,1
|
| 134 |
+
user_132,HR,Manager,TX,GitHub,8,1,1,0.638,0.966,151,17,2,3,0
|
| 135 |
+
user_133,Engineering,Manager,NY,GitHub,33,0,0,0.431,0.988,79,0,7,3,0
|
| 136 |
+
user_134,Support,Analyst,Remote,SAP,19,1,1,0.213,0.547,30,11,2,10,0
|
| 137 |
+
user_135,Engineering,Engineer,NY,SAP,21,1,1,0.58,0.75,180,18,1,1,1
|
| 138 |
+
user_136,HR,Manager,Remote,SAP,34,1,1,0.663,0.352,145,18,5,8,0
|
| 139 |
+
user_137,Finance,Analyst,NY,Workday,40,1,1,0.537,0.396,140,11,3,7,0
|
| 140 |
+
user_138,HR,Admin,TX,Jira,15,0,1,0.627,0.527,11,5,1,0,1
|
| 141 |
+
user_139,Sales,Admin,TX,SAP,15,0,0,0.348,0.985,125,11,0,8,1
|
| 142 |
+
user_140,Engineering,Admin,NY,GitHub,25,0,1,0.936,0.393,0,20,1,9,1
|
| 143 |
+
user_141,HR,Analyst,Remote,Jira,23,0,1,0.419,0.515,82,11,10,3,0
|
| 144 |
+
user_142,HR,Engineer,SF,Oracle,39,0,1,0.622,0.229,168,3,1,9,0
|
| 145 |
+
user_143,HR,Engineer,TX,GitHub,17,0,1,0.203,0.491,18,2,7,11,1
|
| 146 |
+
user_144,Engineering,Specialist,SF,Workday,7,1,1,0.859,0.341,46,18,1,10,0
|
| 147 |
+
user_145,Finance,Specialist,SF,SAP,13,1,1,0.771,0.689,101,14,5,2,0
|
| 148 |
+
user_146,Engineering,Specialist,NY,SAP,14,0,1,0.662,0.733,136,20,6,1,0
|
| 149 |
+
user_147,Sales,Analyst,TX,SAP,24,1,1,0.942,0.806,37,14,7,5,1
|
| 150 |
+
user_148,Finance,Engineer,Remote,Workday,29,1,1,0.271,0.79,58,9,7,4,0
|
| 151 |
+
user_149,HR,Admin,TX,SAP,32,0,0,0.581,0.527,169,14,4,9,0
|
| 152 |
+
user_150,HR,Specialist,TX,Oracle,27,0,1,0.885,0.504,109,3,2,2,1
|
| 153 |
+
user_151,Support,Admin,TX,SAP,21,1,1,0.569,0.673,153,11,5,2,0
|
| 154 |
+
user_152,Support,Analyst,Remote,Workday,12,0,1,0.743,0.343,42,5,8,9,0
|
| 155 |
+
user_153,HR,Engineer,NY,Workday,24,1,1,0.706,0.445,149,12,5,10,0
|
| 156 |
+
user_154,Sales,Engineer,NY,GitHub,31,1,0,0.248,0.631,87,1,5,3,1
|
| 157 |
+
user_155,Sales,Analyst,NY,Oracle,21,0,1,0.71,0.205,67,18,8,5,0
|
| 158 |
+
user_156,Support,Admin,Remote,GitHub,23,0,0,0.213,0.411,50,9,1,2,1
|
| 159 |
+
user_157,HR,Specialist,Remote,Jira,24,0,0,0.31,0.198,172,0,3,10,0
|
| 160 |
+
user_158,Support,Specialist,SF,Workday,36,0,0,0.325,0.258,147,9,5,12,0
|
| 161 |
+
user_159,Support,Engineer,NY,SAP,40,1,0,0.333,0.37,56,7,1,11,0
|
| 162 |
+
user_160,Sales,Manager,TX,Jira,41,0,1,0.891,0.871,170,4,3,2,0
|
| 163 |
+
user_161,Sales,Analyst,Remote,Workday,41,0,0,0.712,0.331,46,18,4,8,0
|
| 164 |
+
user_162,Engineering,Specialist,SF,SAP,33,0,0,0.593,0.647,63,13,8,2,1
|
| 165 |
+
user_163,Support,Specialist,NY,GitHub,36,0,0,0.743,0.861,171,19,0,10,1
|
| 166 |
+
user_164,Support,Specialist,NY,GitHub,15,0,1,0.653,0.471,1,2,9,2,0
|
| 167 |
+
user_165,Finance,Engineer,Remote,Jira,33,0,0,0.291,0.511,76,3,10,0,1
|
| 168 |
+
user_166,Sales,Engineer,NY,Workday,6,0,1,0.884,0.187,99,10,5,8,0
|
| 169 |
+
user_167,Support,Manager,TX,GitHub,23,1,1,0.82,0.574,2,14,2,9,0
|
| 170 |
+
user_168,HR,Manager,SF,GitHub,15,1,0,0.557,0.189,33,19,8,2,1
|
| 171 |
+
user_169,Finance,Analyst,Remote,Workday,7,1,0,0.776,0.125,79,3,8,12,1
|
| 172 |
+
user_170,HR,Manager,TX,Workday,34,0,0,0.896,0.517,43,8,2,4,1
|
| 173 |
+
user_171,Finance,Engineer,TX,SAP,27,0,0,0.662,0.667,74,3,9,5,1
|
| 174 |
+
user_172,Support,Specialist,NY,Jira,13,0,1,0.201,0.184,17,13,5,2,1
|
| 175 |
+
user_173,HR,Engineer,NY,GitHub,12,0,0,0.814,0.362,146,16,3,0,1
|
| 176 |
+
user_174,Finance,Manager,TX,GitHub,6,1,0,0.411,0.915,166,9,8,10,1
|
| 177 |
+
user_175,HR,Manager,TX,SAP,10,0,0,0.366,0.779,164,4,6,8,1
|
| 178 |
+
user_176,Engineering,Admin,TX,Oracle,23,0,0,0.933,0.944,161,18,0,1,1
|
| 179 |
+
user_177,HR,Analyst,Remote,Workday,43,1,0,0.391,0.361,128,11,9,12,0
|
| 180 |
+
user_178,Sales,Manager,TX,Jira,15,1,0,0.587,0.283,175,6,7,12,0
|
| 181 |
+
user_179,Support,Manager,TX,SAP,44,0,0,0.529,0.855,140,20,7,11,0
|
| 182 |
+
user_180,Sales,Specialist,SF,Jira,41,1,1,0.478,0.619,129,19,10,8,1
|
| 183 |
+
user_181,Sales,Admin,TX,Oracle,44,0,0,0.764,0.911,147,5,2,5,0
|
| 184 |
+
user_182,Engineering,Admin,TX,Jira,43,0,0,0.442,0.564,73,19,8,5,0
|
| 185 |
+
user_183,Finance,Specialist,Remote,GitHub,35,1,1,0.453,0.759,82,15,6,2,0
|
| 186 |
+
user_184,Finance,Specialist,NY,Workday,17,1,0,0.764,0.335,16,0,1,8,1
|
| 187 |
+
user_185,HR,Analyst,Remote,Oracle,9,1,1,0.311,0.409,118,15,3,6,0
|
| 188 |
+
user_186,Engineering,Manager,TX,SAP,28,0,0,0.578,0.664,79,17,6,3,1
|
| 189 |
+
user_187,HR,Admin,TX,Workday,43,0,1,0.839,0.654,111,15,3,3,0
|
| 190 |
+
user_188,Sales,Engineer,SF,SAP,22,1,1,0.324,0.819,43,18,5,5,0
|
| 191 |
+
user_189,HR,Specialist,Remote,SAP,16,0,1,0.548,0.658,151,0,1,8,0
|
| 192 |
+
user_190,Sales,Engineer,Remote,Jira,10,0,0,0.599,0.397,117,19,5,12,1
|
| 193 |
+
user_191,Finance,Manager,TX,GitHub,19,1,1,0.619,0.239,167,18,9,10,0
|
| 194 |
+
user_192,Support,Specialist,SF,Oracle,39,1,1,0.742,0.224,123,8,3,7,1
|
| 195 |
+
user_193,Sales,Admin,Remote,Oracle,28,1,1,0.663,0.24,100,20,10,12,1
|
| 196 |
+
user_194,HR,Specialist,TX,Jira,45,0,0,0.382,0.314,142,13,3,3,0
|
| 197 |
+
user_195,HR,Manager,SF,GitHub,15,1,1,0.734,0.878,93,16,9,9,0
|
| 198 |
+
user_196,Sales,Specialist,NY,Workday,44,0,0,0.347,0.183,12,17,5,7,0
|
| 199 |
+
user_197,Engineering,Manager,Remote,Jira,16,1,1,0.594,0.672,73,13,10,3,0
|
| 200 |
+
user_198,HR,Analyst,TX,Workday,44,1,0,0.626,0.458,8,16,9,2,1
|
| 201 |
+
user_199,Support,Manager,Remote,SAP,31,1,1,0.505,0.629,70,1,4,7,1
|
| 202 |
+
user_200,Finance,Admin,SF,GitHub,20,1,0,0.587,0.629,67,15,0,1,0
|
| 203 |
+
user_201,Support,Engineer,SF,GitHub,8,0,0,0.376,0.156,147,11,6,0,1
|
| 204 |
+
user_202,Sales,Analyst,NY,GitHub,27,1,0,0.627,0.291,54,20,8,8,1
|
| 205 |
+
user_203,Engineering,Manager,SF,SAP,23,1,0,0.621,0.822,105,10,8,1,1
|
| 206 |
+
user_204,Support,Manager,TX,SAP,7,1,0,0.398,0.675,15,12,6,12,0
|
| 207 |
+
user_205,Sales,Analyst,NY,Oracle,5,0,1,0.324,0.929,154,6,4,5,0
|
| 208 |
+
user_206,Engineering,Manager,Remote,Oracle,40,0,0,0.878,0.879,151,20,2,3,1
|
| 209 |
+
user_207,Sales,Manager,TX,Oracle,43,1,0,0.279,0.436,0,12,7,9,0
|
| 210 |
+
user_208,Finance,Engineer,Remote,Oracle,41,0,1,0.365,0.707,170,18,3,5,0
|
| 211 |
+
user_209,Sales,Admin,TX,Oracle,15,0,0,0.403,0.869,102,10,1,0,1
|
| 212 |
+
user_210,HR,Analyst,SF,GitHub,17,0,0,0.376,0.806,114,15,10,0,0
|
| 213 |
+
user_211,Sales,Manager,TX,Workday,14,0,1,0.587,0.636,153,6,5,5,0
|
| 214 |
+
user_212,Support,Manager,SF,SAP,39,1,1,0.25,0.402,8,17,10,2,0
|
| 215 |
+
user_213,Engineering,Analyst,TX,Oracle,32,1,0,0.832,0.736,75,5,9,12,1
|
| 216 |
+
user_214,Finance,Manager,Remote,Jira,44,0,1,0.766,0.96,131,1,9,8,0
|
| 217 |
+
user_215,Finance,Analyst,Remote,Workday,6,1,1,0.612,0.547,82,6,4,10,0
|
| 218 |
+
user_216,Finance,Admin,NY,SAP,17,1,1,0.262,0.947,159,9,7,5,0
|
| 219 |
+
user_217,Sales,Engineer,TX,Oracle,8,0,0,0.402,0.823,27,16,2,3,0
|
| 220 |
+
user_218,Engineering,Manager,TX,Jira,28,1,1,0.282,0.132,144,14,2,11,1
|
| 221 |
+
user_219,HR,Analyst,NY,Workday,35,0,0,0.776,0.722,13,12,6,7,1
|
| 222 |
+
user_220,HR,Specialist,SF,Jira,23,1,1,0.61,0.761,0,7,7,5,0
|
| 223 |
+
user_221,Sales,Manager,TX,Oracle,12,0,0,0.242,0.632,57,16,2,10,0
|
| 224 |
+
user_222,HR,Engineer,TX,SAP,7,0,0,0.567,0.592,163,17,5,10,1
|
| 225 |
+
user_223,HR,Specialist,Remote,SAP,25,0,0,0.651,0.896,167,16,5,7,0
|
| 226 |
+
user_224,HR,Analyst,SF,Workday,7,1,0,0.436,0.741,52,14,0,1,1
|
| 227 |
+
user_225,Sales,Manager,NY,SAP,39,1,1,0.688,0.22,123,13,3,5,1
|
| 228 |
+
user_226,Sales,Specialist,NY,Oracle,39,0,0,0.802,0.892,133,5,8,11,0
|
| 229 |
+
user_227,Sales,Manager,NY,Jira,6,0,1,0.411,0.96,41,3,6,7,1
|
| 230 |
+
user_228,Engineering,Manager,NY,Oracle,41,1,0,0.527,0.293,170,13,10,0,1
|
| 231 |
+
user_229,HR,Specialist,SF,SAP,33,0,0,0.772,0.809,69,2,3,7,1
|
| 232 |
+
user_230,HR,Engineer,NY,Jira,10,1,0,0.777,0.977,160,19,8,5,1
|
| 233 |
+
user_231,Engineering,Analyst,TX,Jira,42,1,0,0.708,0.923,16,3,9,10,1
|
| 234 |
+
user_232,Finance,Admin,TX,SAP,25,0,0,0.264,0.58,116,0,4,9,0
|
| 235 |
+
user_233,Engineering,Manager,NY,Jira,45,1,1,0.84,0.632,75,12,9,11,0
|
| 236 |
+
user_234,Engineering,Engineer,NY,GitHub,45,0,0,0.345,0.354,42,0,8,12,1
|
| 237 |
+
user_235,Support,Specialist,TX,GitHub,18,1,0,0.46,0.167,123,8,6,11,0
|
| 238 |
+
user_236,Support,Manager,SF,Workday,5,0,0,0.287,0.838,138,20,7,8,0
|
| 239 |
+
user_237,Engineering,Engineer,Remote,GitHub,5,0,0,0.587,0.608,64,9,5,9,0
|
| 240 |
+
user_238,HR,Admin,TX,SAP,30,1,0,0.747,0.629,104,18,1,7,1
|
| 241 |
+
user_239,Engineering,Manager,Remote,Workday,10,1,0,0.768,0.363,116,12,9,3,1
|
| 242 |
+
user_240,Support,Analyst,NY,Jira,14,0,0,0.908,0.286,5,14,10,5,1
|
| 243 |
+
user_241,Engineering,Manager,TX,GitHub,8,0,1,0.471,0.367,131,3,4,6,0
|
| 244 |
+
user_242,Engineering,Admin,NY,SAP,37,1,0,0.247,0.853,30,6,10,6,1
|
| 245 |
+
user_243,Support,Admin,Remote,Jira,37,1,0,0.785,0.668,152,13,5,1,0
|
| 246 |
+
user_244,Support,Admin,SF,SAP,45,1,0,0.285,0.787,109,5,1,2,1
|
| 247 |
+
user_245,HR,Engineer,TX,Oracle,20,1,1,0.726,0.723,120,13,9,5,1
|
| 248 |
+
user_246,Engineering,Manager,Remote,SAP,38,1,0,0.441,0.187,103,0,7,10,1
|
| 249 |
+
user_247,Engineering,Engineer,TX,GitHub,13,1,1,0.405,0.261,161,10,6,3,1
|
| 250 |
+
user_248,Support,Analyst,Remote,GitHub,18,0,0,0.547,0.498,120,10,3,12,1
|
| 251 |
+
user_249,Sales,Analyst,TX,Oracle,36,0,0,0.417,0.312,158,19,8,4,1
|
| 252 |
+
user_250,Engineering,Admin,Remote,Workday,16,1,0,0.433,0.772,2,11,6,0,0
|
| 253 |
+
user_251,HR,Specialist,Remote,Oracle,24,0,0,0.259,0.789,174,7,3,5,0
|
| 254 |
+
user_252,Engineering,Specialist,SF,Workday,26,1,1,0.524,0.922,78,1,2,8,1
|
| 255 |
+
user_253,Support,Analyst,NY,Jira,21,0,0,0.651,0.644,120,20,10,0,0
|
| 256 |
+
user_254,Finance,Engineer,NY,Workday,12,0,0,0.243,0.795,78,20,4,7,0
|
| 257 |
+
user_255,HR,Analyst,TX,SAP,28,1,0,0.22,0.359,88,12,1,5,0
|
| 258 |
+
user_256,Sales,Analyst,NY,GitHub,36,0,1,0.26,0.124,39,13,0,5,0
|
| 259 |
+
user_257,Engineering,Manager,SF,Oracle,6,0,0,0.491,0.767,119,16,2,8,1
|
| 260 |
+
user_258,Finance,Admin,TX,Jira,21,1,1,0.583,0.653,146,18,10,9,1
|
| 261 |
+
user_259,Engineering,Manager,NY,Jira,12,0,0,0.419,0.968,96,4,6,10,1
|
| 262 |
+
user_260,Sales,Specialist,SF,GitHub,15,1,0,0.253,0.104,115,19,9,9,1
|
| 263 |
+
user_261,Sales,Analyst,TX,Oracle,25,0,0,0.607,0.285,37,17,4,2,0
|
| 264 |
+
user_262,HR,Admin,Remote,Workday,7,0,0,0.727,0.122,158,3,3,2,1
|
| 265 |
+
user_263,Sales,Admin,TX,Oracle,38,1,1,0.886,0.643,121,17,5,3,0
|
| 266 |
+
user_264,Engineering,Manager,SF,SAP,38,1,1,0.754,0.493,89,14,10,3,1
|
| 267 |
+
user_265,Support,Analyst,SF,SAP,16,1,0,0.772,0.906,70,13,5,5,1
|
| 268 |
+
user_266,Sales,Manager,NY,Jira,14,0,0,0.568,0.674,137,18,5,9,1
|
| 269 |
+
user_267,Finance,Analyst,Remote,Oracle,24,1,0,0.655,0.246,162,16,9,2,0
|
| 270 |
+
user_268,HR,Admin,TX,SAP,41,1,1,0.887,0.978,129,16,1,2,1
|
| 271 |
+
user_269,Support,Specialist,SF,SAP,8,1,0,0.465,0.561,135,14,2,11,0
|
| 272 |
+
user_270,Engineering,Admin,NY,Oracle,35,1,1,0.285,0.813,41,1,10,10,1
|
| 273 |
+
user_271,Finance,Admin,Remote,Workday,8,1,1,0.213,0.291,169,7,3,7,1
|
| 274 |
+
user_272,Engineering,Specialist,NY,Workday,24,1,1,0.352,0.6,143,11,2,11,1
|
| 275 |
+
user_273,Sales,Analyst,Remote,Oracle,6,0,1,0.217,0.801,71,20,7,9,0
|
| 276 |
+
user_274,HR,Engineer,NY,Workday,32,0,0,0.218,0.6,44,4,7,7,0
|
| 277 |
+
user_275,Finance,Analyst,Remote,Oracle,23,0,0,0.23,0.467,107,5,8,11,0
|
| 278 |
+
user_276,HR,Engineer,NY,Oracle,38,0,1,0.464,0.198,76,5,2,4,1
|
| 279 |
+
user_277,Engineering,Admin,NY,Workday,18,0,0,0.823,0.842,46,13,0,4,1
|
| 280 |
+
user_278,Support,Manager,Remote,SAP,42,1,0,0.345,0.209,144,7,9,3,0
|
| 281 |
+
user_279,Sales,Engineer,SF,Jira,25,0,1,0.461,0.681,172,11,8,6,1
|
| 282 |
+
user_280,Sales,Manager,TX,GitHub,45,1,0,0.43,0.432,119,10,6,7,0
|
| 283 |
+
user_281,Engineering,Engineer,Remote,Oracle,31,0,0,0.73,0.419,8,17,7,8,1
|
| 284 |
+
user_282,Finance,Manager,Remote,SAP,22,0,0,0.365,0.739,151,2,7,7,0
|
| 285 |
+
user_283,Engineering,Manager,SF,Jira,42,1,1,0.804,0.605,43,6,3,0,0
|
| 286 |
+
user_284,Sales,Manager,SF,Oracle,43,0,0,0.344,0.926,67,16,3,2,0
|
| 287 |
+
user_285,Finance,Manager,TX,Workday,27,1,0,0.286,0.923,138,20,9,0,0
|
| 288 |
+
user_286,HR,Admin,NY,Workday,20,1,1,0.211,0.333,91,10,8,1,1
|
| 289 |
+
user_287,Finance,Manager,Remote,GitHub,21,1,0,0.259,0.922,137,13,6,2,0
|
| 290 |
+
user_288,Engineering,Analyst,SF,SAP,31,0,0,0.242,0.759,65,16,4,8,0
|
| 291 |
+
user_289,Finance,Admin,TX,Jira,24,1,1,0.632,0.934,168,6,10,12,0
|
| 292 |
+
user_290,Support,Manager,Remote,Workday,10,1,0,0.619,0.62,169,6,1,4,0
|
| 293 |
+
user_291,Support,Manager,NY,GitHub,12,0,0,0.905,0.648,126,17,0,1,1
|
| 294 |
+
user_292,Engineering,Specialist,SF,Jira,35,1,1,0.816,0.786,47,1,8,12,0
|
| 295 |
+
user_293,Sales,Specialist,TX,GitHub,13,1,0,0.238,0.607,45,4,6,7,1
|
| 296 |
+
user_294,HR,Analyst,TX,Jira,31,1,0,0.402,0.603,148,5,9,2,1
|
| 297 |
+
user_295,HR,Engineer,NY,Workday,37,1,1,0.781,0.17,86,11,0,7,0
|
| 298 |
+
user_296,Engineering,Admin,TX,GitHub,35,1,0,0.615,0.517,20,10,10,0,1
|
| 299 |
+
user_297,Engineering,Admin,Remote,Workday,9,1,1,0.288,0.813,168,5,7,3,1
|
| 300 |
+
user_298,Engineering,Analyst,TX,SAP,21,0,1,0.442,0.243,64,2,0,7,1
|
| 301 |
+
user_299,Support,Analyst,SF,GitHub,15,1,0,0.269,0.232,58,0,4,10,0
|
| 302 |
+
user_300,Finance,Specialist,TX,Workday,10,1,0,0.75,0.916,66,5,8,9,0
|
| 303 |
+
user_301,HR,Engineer,SF,Jira,7,1,1,0.373,0.363,55,7,9,0,0
|
| 304 |
+
user_302,Sales,Analyst,NY,Oracle,28,1,1,0.496,0.492,103,7,8,4,0
|
| 305 |
+
user_303,Engineering,Specialist,TX,Oracle,29,0,0,0.244,0.141,21,20,7,2,0
|
| 306 |
+
user_304,Engineering,Manager,NY,Jira,11,0,0,0.642,0.866,133,15,5,3,0
|
| 307 |
+
user_305,HR,Manager,NY,Workday,27,0,1,0.732,0.364,74,7,7,2,1
|
| 308 |
+
user_306,Sales,Specialist,NY,GitHub,36,1,1,0.441,0.653,138,13,6,4,0
|
| 309 |
+
user_307,Support,Manager,SF,Workday,19,0,0,0.911,0.859,90,1,1,9,0
|
| 310 |
+
user_308,Finance,Specialist,Remote,Oracle,22,0,0,0.22,0.473,79,7,3,5,1
|
| 311 |
+
user_309,Sales,Admin,NY,SAP,14,1,0,0.419,0.489,177,12,6,3,0
|
| 312 |
+
user_310,Finance,Analyst,SF,SAP,13,1,0,0.635,0.177,14,9,8,4,1
|
| 313 |
+
user_311,Support,Analyst,TX,Jira,14,0,1,0.937,0.746,109,12,2,3,1
|
| 314 |
+
user_312,Engineering,Admin,TX,Oracle,8,1,1,0.833,0.586,122,10,3,6,0
|
| 315 |
+
user_313,Support,Engineer,Remote,Oracle,27,0,0,0.53,0.845,91,16,7,11,1
|
| 316 |
+
user_314,HR,Manager,TX,GitHub,34,0,1,0.886,0.901,166,0,10,7,0
|
| 317 |
+
user_315,Finance,Manager,NY,Workday,33,0,0,0.622,0.578,101,13,7,1,0
|
| 318 |
+
user_316,Finance,Admin,NY,Oracle,36,1,0,0.884,0.213,167,2,2,10,0
|
| 319 |
+
user_317,Finance,Admin,SF,Jira,43,0,0,0.769,0.21,146,18,7,0,1
|
| 320 |
+
user_318,Support,Manager,TX,GitHub,29,1,1,0.389,0.624,137,19,1,12,1
|
| 321 |
+
user_319,Finance,Engineer,Remote,Oracle,42,0,0,0.893,0.939,75,13,5,10,1
|
| 322 |
+
user_320,Sales,Manager,TX,Oracle,12,0,0,0.578,0.663,103,15,1,10,0
|
| 323 |
+
user_321,Finance,Manager,NY,SAP,35,0,0,0.688,0.146,64,17,6,12,1
|
| 324 |
+
user_322,Finance,Admin,TX,SAP,42,1,1,0.681,0.785,91,16,5,7,1
|
| 325 |
+
user_323,Sales,Admin,NY,Oracle,37,0,1,0.684,0.655,172,18,10,11,0
|
| 326 |
+
user_324,Engineering,Specialist,NY,Oracle,9,1,1,0.383,0.134,115,2,5,5,0
|
| 327 |
+
user_325,Support,Analyst,NY,Oracle,32,0,0,0.877,0.911,93,19,7,11,0
|
| 328 |
+
user_326,HR,Engineer,NY,Jira,30,1,0,0.79,0.297,5,16,4,0,1
|
| 329 |
+
user_327,Support,Analyst,SF,Workday,29,1,1,0.453,0.594,45,12,9,3,1
|
| 330 |
+
user_328,Support,Admin,NY,GitHub,32,1,1,0.233,0.887,20,10,8,6,0
|
| 331 |
+
user_329,HR,Analyst,NY,GitHub,32,0,1,0.771,0.691,62,20,7,7,0
|
| 332 |
+
user_330,HR,Analyst,SF,GitHub,25,1,0,0.377,0.145,16,2,5,6,1
|
| 333 |
+
user_331,Support,Specialist,NY,Workday,7,0,1,0.407,0.525,21,5,9,11,1
|
| 334 |
+
user_332,HR,Analyst,SF,GitHub,33,0,0,0.774,0.862,30,5,2,4,0
|
| 335 |
+
user_333,Finance,Engineer,NY,GitHub,7,0,0,0.658,0.38,67,15,9,4,0
|
| 336 |
+
user_334,Finance,Admin,SF,SAP,13,1,1,0.857,0.131,73,5,0,0,0
|
| 337 |
+
user_335,HR,Manager,TX,Jira,8,1,1,0.581,0.633,101,19,9,12,1
|
| 338 |
+
user_336,Finance,Analyst,TX,GitHub,40,1,1,0.317,0.668,21,17,1,6,0
|
| 339 |
+
user_337,Support,Manager,TX,GitHub,8,0,1,0.796,0.698,61,9,1,10,1
|
| 340 |
+
user_338,Sales,Engineer,TX,Workday,11,0,1,0.547,0.64,59,20,9,7,0
|
| 341 |
+
user_339,Sales,Admin,SF,GitHub,38,1,0,0.434,0.155,159,2,4,11,0
|
| 342 |
+
user_340,Finance,Engineer,TX,Jira,28,0,1,0.599,0.493,136,19,9,0,0
|
| 343 |
+
user_341,Support,Analyst,TX,Jira,7,0,0,0.904,0.798,132,9,6,7,1
|
| 344 |
+
user_342,Support,Manager,TX,Oracle,32,1,0,0.224,0.908,172,0,5,1,1
|
| 345 |
+
user_343,Sales,Specialist,NY,SAP,10,0,1,0.881,0.28,45,14,7,3,1
|
| 346 |
+
user_344,Engineering,Analyst,TX,Workday,36,1,1,0.449,0.495,178,14,2,0,1
|
| 347 |
+
user_345,Engineering,Analyst,TX,GitHub,44,0,0,0.425,0.724,89,6,3,0,0
|
| 348 |
+
user_346,HR,Analyst,NY,Jira,28,1,1,0.498,0.661,92,20,6,4,0
|
| 349 |
+
user_347,HR,Specialist,TX,Jira,13,1,1,0.234,0.382,175,5,8,2,1
|
| 350 |
+
user_348,Support,Manager,NY,Oracle,29,0,0,0.746,0.708,143,16,0,5,0
|
| 351 |
+
user_349,Support,Admin,NY,Oracle,37,0,0,0.817,0.38,176,18,7,5,0
|
| 352 |
+
user_350,Support,Admin,TX,Workday,9,0,1,0.542,0.794,109,17,2,1,0
|
| 353 |
+
user_351,HR,Analyst,Remote,SAP,26,1,1,0.881,0.569,101,13,10,4,0
|
| 354 |
+
user_352,Finance,Specialist,TX,Jira,44,1,0,0.756,0.84,106,1,9,1,0
|
| 355 |
+
user_353,HR,Engineer,Remote,GitHub,31,1,0,0.248,0.132,12,10,7,0,0
|
| 356 |
+
user_354,Finance,Manager,SF,SAP,7,1,0,0.279,0.188,168,8,0,2,0
|
| 357 |
+
user_355,Sales,Manager,NY,Oracle,15,0,1,0.389,0.223,145,17,8,1,0
|
| 358 |
+
user_356,Support,Manager,Remote,GitHub,45,1,1,0.369,0.925,88,13,8,11,0
|
| 359 |
+
user_357,Engineering,Specialist,Remote,SAP,30,1,0,0.441,0.539,164,15,1,8,0
|
| 360 |
+
user_358,Engineering,Manager,Remote,Oracle,28,1,0,0.878,0.698,37,3,8,5,0
|
| 361 |
+
user_359,Engineering,Specialist,TX,Workday,39,1,1,0.213,0.583,109,1,9,9,1
|
| 362 |
+
user_360,Sales,Manager,Remote,SAP,37,0,0,0.701,0.933,99,2,1,3,1
|
| 363 |
+
user_361,Sales,Manager,SF,Jira,44,1,0,0.783,0.709,105,16,5,7,0
|
| 364 |
+
user_362,Engineering,Analyst,NY,Oracle,22,0,1,0.686,0.903,141,0,7,12,0
|
| 365 |
+
user_363,HR,Analyst,NY,SAP,26,1,1,0.679,0.362,3,10,9,9,1
|
| 366 |
+
user_364,Finance,Specialist,SF,Jira,44,1,1,0.76,0.181,149,4,3,4,1
|
| 367 |
+
user_365,Finance,Analyst,NY,Oracle,11,1,0,0.751,0.812,99,4,0,2,1
|
| 368 |
+
user_366,HR,Manager,TX,Jira,6,1,0,0.873,0.972,57,14,0,1,1
|
| 369 |
+
user_367,Support,Manager,Remote,GitHub,28,0,1,0.823,0.417,96,13,5,3,0
|
| 370 |
+
user_368,HR,Manager,Remote,SAP,42,1,0,0.43,0.795,101,19,0,12,1
|
| 371 |
+
user_369,Finance,Admin,NY,Oracle,10,0,1,0.31,0.171,88,19,2,0,0
|
| 372 |
+
user_370,HR,Admin,SF,Oracle,31,1,0,0.809,0.347,60,1,8,4,0
|
| 373 |
+
user_371,Engineering,Manager,SF,Workday,19,0,1,0.428,0.246,31,17,10,5,1
|
| 374 |
+
user_372,Sales,Admin,Remote,Workday,37,0,1,0.496,0.58,13,14,3,8,0
|
| 375 |
+
user_373,Engineering,Engineer,NY,SAP,6,0,0,0.344,0.378,134,14,4,0,0
|
| 376 |
+
user_374,Support,Analyst,SF,SAP,20,1,0,0.253,0.353,72,4,4,6,1
|
| 377 |
+
user_375,HR,Manager,Remote,Jira,18,1,1,0.881,0.639,160,6,8,9,0
|
| 378 |
+
user_376,Support,Admin,Remote,SAP,36,1,0,0.483,0.538,67,19,2,5,0
|
| 379 |
+
user_377,HR,Engineer,SF,Workday,24,0,1,0.787,0.407,149,12,10,11,1
|
| 380 |
+
user_378,Sales,Engineer,NY,Workday,13,1,0,0.581,0.842,29,8,0,2,0
|
| 381 |
+
user_379,Sales,Analyst,TX,GitHub,38,1,0,0.943,0.635,131,14,4,5,0
|
| 382 |
+
user_380,Sales,Engineer,SF,Workday,39,1,1,0.442,0.473,164,4,0,1,1
|
| 383 |
+
user_381,Support,Admin,SF,SAP,44,1,0,0.873,0.907,35,2,0,1,0
|
| 384 |
+
user_382,Finance,Analyst,SF,Jira,40,1,0,0.448,0.717,143,15,1,0,0
|
| 385 |
+
user_383,Engineering,Manager,NY,SAP,25,1,0,0.342,0.354,34,3,7,6,1
|
| 386 |
+
user_384,Engineering,Specialist,TX,SAP,14,0,1,0.919,0.369,84,12,10,2,1
|
| 387 |
+
user_385,Support,Specialist,NY,Workday,36,1,0,0.784,0.397,121,4,10,11,1
|
| 388 |
+
user_386,Finance,Analyst,SF,Workday,25,0,0,0.846,0.933,136,15,10,1,0
|
| 389 |
+
user_387,HR,Specialist,NY,GitHub,8,1,1,0.389,0.695,115,15,6,3,1
|
| 390 |
+
user_388,Engineering,Engineer,NY,Workday,33,0,1,0.882,0.389,56,0,5,4,0
|
| 391 |
+
user_389,Finance,Engineer,Remote,Jira,18,0,1,0.717,0.523,95,5,3,12,0
|
| 392 |
+
user_390,Support,Manager,NY,Workday,9,1,0,0.31,0.539,81,6,7,7,1
|
| 393 |
+
user_391,Support,Engineer,Remote,Jira,35,0,1,0.91,0.961,117,5,9,5,0
|
| 394 |
+
user_392,Support,Admin,NY,GitHub,41,0,1,0.748,0.807,170,2,7,1,1
|
| 395 |
+
user_393,Support,Manager,TX,SAP,21,1,1,0.638,0.196,38,4,0,5,1
|
| 396 |
+
user_394,HR,Manager,SF,Jira,28,1,0,0.23,0.315,35,15,9,5,0
|
| 397 |
+
user_395,Sales,Specialist,TX,GitHub,40,1,0,0.579,0.629,153,18,6,4,1
|
| 398 |
+
user_396,HR,Engineer,TX,Oracle,10,0,0,0.54,0.555,166,3,3,7,0
|
| 399 |
+
user_397,Finance,Manager,NY,SAP,33,0,0,0.363,0.855,10,18,8,2,1
|
| 400 |
+
user_398,Support,Analyst,TX,SAP,24,0,1,0.802,0.653,54,8,2,11,0
|
| 401 |
+
user_399,Engineering,Analyst,TX,GitHub,17,0,1,0.36,0.929,150,13,0,11,1
|
| 402 |
+
user_400,Sales,Analyst,Remote,GitHub,7,1,0,0.747,0.693,37,17,1,2,0
|
| 403 |
+
user_401,HR,Engineer,TX,Jira,43,0,0,0.37,0.311,23,16,6,1,0
|
| 404 |
+
user_402,HR,Admin,TX,Jira,35,1,1,0.727,0.77,155,3,0,12,0
|
| 405 |
+
user_403,Engineering,Admin,TX,Jira,10,1,1,0.243,0.371,154,1,5,7,1
|
| 406 |
+
user_404,HR,Analyst,SF,Workday,29,1,1,0.874,0.833,13,5,3,8,1
|
| 407 |
+
user_405,Finance,Admin,NY,Jira,31,0,1,0.482,0.502,142,14,2,1,0
|
| 408 |
+
user_406,Engineering,Analyst,TX,SAP,39,0,0,0.297,0.508,130,11,8,11,0
|
| 409 |
+
user_407,Support,Manager,NY,SAP,14,1,0,0.803,0.63,23,16,0,1,1
|
| 410 |
+
user_408,Support,Admin,SF,Workday,37,1,0,0.553,0.646,41,20,10,3,0
|
| 411 |
+
user_409,Sales,Analyst,SF,Jira,27,1,1,0.868,0.11,98,15,9,2,1
|
| 412 |
+
user_410,Support,Analyst,SF,Workday,28,0,1,0.672,0.235,119,12,1,11,0
|
| 413 |
+
user_411,HR,Analyst,TX,Jira,38,0,0,0.854,0.466,84,4,6,2,0
|
| 414 |
+
user_412,Support,Engineer,TX,Jira,37,1,1,0.827,0.77,57,5,6,2,0
|
| 415 |
+
user_413,Support,Specialist,SF,Jira,9,1,0,0.304,0.71,46,7,7,11,0
|
| 416 |
+
user_414,Finance,Manager,NY,Jira,32,1,1,0.329,0.426,10,12,7,3,1
|
| 417 |
+
user_415,Sales,Analyst,SF,Oracle,32,0,1,0.32,0.183,84,5,10,10,1
|
| 418 |
+
user_416,Sales,Analyst,Remote,Workday,37,0,0,0.463,0.906,129,17,8,11,0
|
| 419 |
+
user_417,Sales,Manager,TX,Workday,21,1,1,0.935,0.642,112,11,8,5,0
|
| 420 |
+
user_418,Sales,Analyst,Remote,Jira,43,1,1,0.798,0.447,102,11,6,10,1
|
| 421 |
+
user_419,HR,Engineer,NY,Jira,33,1,1,0.644,0.485,137,11,2,10,0
|
| 422 |
+
user_420,Support,Manager,NY,Workday,12,1,0,0.915,0.655,65,11,0,2,0
|
| 423 |
+
user_421,Engineering,Analyst,TX,Workday,39,0,1,0.519,0.561,129,14,7,3,0
|
| 424 |
+
user_422,Sales,Specialist,SF,Oracle,38,0,0,0.658,0.392,5,20,9,12,0
|
| 425 |
+
user_423,Sales,Specialist,Remote,GitHub,43,0,0,0.589,0.441,25,20,0,4,0
|
| 426 |
+
user_424,Sales,Engineer,Remote,GitHub,19,0,0,0.453,0.699,173,12,2,1,1
|
| 427 |
+
user_425,HR,Engineer,TX,Jira,22,0,0,0.264,0.147,87,1,2,10,1
|
| 428 |
+
user_426,Finance,Engineer,Remote,Workday,31,0,1,0.612,0.164,139,13,5,2,1
|
| 429 |
+
user_427,Sales,Engineer,Remote,Workday,15,0,0,0.48,0.461,161,0,2,12,1
|
| 430 |
+
user_428,Sales,Specialist,NY,GitHub,42,0,1,0.424,0.389,110,13,5,12,0
|
| 431 |
+
user_429,Engineering,Analyst,SF,Oracle,12,1,1,0.54,0.42,175,15,0,12,0
|
| 432 |
+
user_430,Engineering,Engineer,Remote,Oracle,36,0,0,0.939,0.809,58,1,4,4,1
|
| 433 |
+
user_431,Engineering,Analyst,Remote,Jira,13,1,1,0.776,0.626,149,13,10,12,1
|
| 434 |
+
user_432,Finance,Engineer,NY,Workday,45,0,0,0.361,0.36,15,15,5,1,0
|
| 435 |
+
user_433,Finance,Specialist,Remote,GitHub,12,0,1,0.354,0.365,76,11,3,8,1
|
| 436 |
+
user_434,Support,Manager,SF,SAP,10,0,0,0.668,0.786,148,12,7,3,1
|
| 437 |
+
user_435,Sales,Analyst,NY,Workday,37,0,0,0.79,0.944,62,20,0,4,1
|
| 438 |
+
user_436,Sales,Admin,TX,Oracle,34,1,1,0.264,0.413,68,1,0,6,1
|
| 439 |
+
user_437,Engineering,Analyst,TX,Workday,7,1,0,0.342,0.226,105,13,7,11,0
|
| 440 |
+
user_438,HR,Specialist,Remote,Jira,10,1,1,0.419,0.722,85,17,4,11,0
|
| 441 |
+
user_439,Finance,Analyst,Remote,Jira,27,0,1,0.357,0.229,133,7,6,7,1
|
| 442 |
+
user_440,HR,Analyst,SF,Oracle,10,0,1,0.391,0.891,170,12,1,6,0
|
| 443 |
+
user_441,Engineering,Engineer,NY,Workday,13,0,0,0.852,0.614,7,10,3,8,1
|
| 444 |
+
user_442,Engineering,Admin,TX,Jira,25,1,0,0.782,0.257,90,14,7,7,0
|
| 445 |
+
user_443,HR,Admin,TX,Jira,10,0,0,0.541,0.457,152,20,9,11,0
|
| 446 |
+
user_444,Sales,Admin,TX,Oracle,35,1,0,0.621,0.155,153,18,6,5,0
|
| 447 |
+
user_445,Support,Analyst,TX,GitHub,32,1,0,0.531,0.898,53,15,0,7,0
|
| 448 |
+
user_446,Finance,Manager,NY,Workday,27,1,1,0.932,0.608,2,19,3,2,0
|
| 449 |
+
user_447,Finance,Admin,SF,SAP,34,0,0,0.301,0.978,24,3,4,0,0
|
| 450 |
+
user_448,Finance,Manager,TX,Jira,42,0,0,0.829,0.384,34,6,3,9,1
|
| 451 |
+
user_449,Support,Specialist,Remote,GitHub,43,1,1,0.686,0.833,27,12,10,3,1
|
| 452 |
+
user_450,Finance,Manager,TX,GitHub,19,0,0,0.496,0.3,150,6,3,0,0
|
| 453 |
+
user_451,Sales,Engineer,NY,Oracle,35,0,0,0.272,0.79,42,9,2,5,0
|
| 454 |
+
user_452,Engineering,Analyst,SF,GitHub,12,0,1,0.614,0.792,48,8,9,8,1
|
| 455 |
+
user_453,Sales,Analyst,NY,GitHub,23,1,1,0.728,0.73,20,7,5,3,1
|
| 456 |
+
user_454,Sales,Engineer,Remote,Jira,30,1,1,0.612,0.629,88,4,4,0,1
|
| 457 |
+
user_455,Engineering,Admin,NY,Jira,15,0,0,0.867,0.759,27,18,7,3,0
|
| 458 |
+
user_456,Sales,Specialist,NY,Workday,40,0,0,0.623,0.583,86,3,0,4,1
|
| 459 |
+
user_457,Finance,Analyst,Remote,Jira,27,0,1,0.754,0.556,59,9,5,11,0
|
| 460 |
+
user_458,Finance,Analyst,TX,Jira,22,0,1,0.861,0.608,101,7,7,9,1
|
| 461 |
+
user_459,Finance,Admin,TX,Oracle,34,0,1,0.494,0.194,50,3,9,3,1
|
| 462 |
+
user_460,Sales,Admin,TX,GitHub,30,1,1,0.297,0.982,152,3,9,1,1
|
| 463 |
+
user_461,HR,Admin,TX,Workday,45,1,0,0.563,0.126,117,17,2,5,1
|
| 464 |
+
user_462,Engineering,Engineer,NY,GitHub,18,0,1,0.6,0.834,93,9,0,3,0
|
| 465 |
+
user_463,Finance,Specialist,TX,SAP,18,0,1,0.257,0.143,30,18,8,9,0
|
| 466 |
+
user_464,Finance,Specialist,SF,GitHub,14,1,1,0.316,0.712,127,8,10,8,0
|
| 467 |
+
user_465,Support,Specialist,NY,Workday,23,1,1,0.888,0.278,138,4,4,5,0
|
| 468 |
+
user_466,Engineering,Analyst,SF,SAP,15,0,1,0.719,0.78,97,7,1,0,0
|
| 469 |
+
user_467,Finance,Manager,SF,Oracle,34,1,0,0.654,0.94,142,8,1,5,0
|
| 470 |
+
user_468,Engineering,Engineer,SF,Workday,6,1,0,0.845,0.473,132,15,9,7,1
|
| 471 |
+
user_469,HR,Engineer,Remote,SAP,32,1,1,0.279,0.323,90,1,8,10,0
|
| 472 |
+
user_470,Support,Engineer,NY,Oracle,13,0,0,0.464,0.871,67,7,0,5,1
|
| 473 |
+
user_471,Finance,Manager,NY,Jira,44,0,0,0.588,0.337,164,15,5,1,0
|
| 474 |
+
user_472,Finance,Engineer,Remote,Jira,10,0,0,0.812,0.577,179,15,3,1,0
|
| 475 |
+
user_473,Sales,Analyst,Remote,SAP,37,1,0,0.888,0.48,138,13,2,11,1
|
| 476 |
+
user_474,Engineering,Manager,SF,Workday,22,1,0,0.885,0.491,20,5,3,8,0
|
| 477 |
+
user_475,HR,Admin,SF,Workday,6,0,0,0.587,0.151,68,0,6,3,0
|
| 478 |
+
user_476,Support,Specialist,Remote,GitHub,28,0,0,0.45,0.592,145,7,9,0,0
|
| 479 |
+
user_477,Finance,Specialist,TX,Workday,22,0,1,0.3,0.895,66,1,2,8,1
|
| 480 |
+
user_478,Engineering,Manager,TX,Jira,42,1,0,0.901,0.442,95,5,6,9,0
|
| 481 |
+
user_479,HR,Manager,NY,Jira,14,1,1,0.303,0.591,179,0,4,11,0
|
| 482 |
+
user_480,HR,Manager,SF,GitHub,40,1,1,0.297,0.82,91,7,8,12,1
|
| 483 |
+
user_481,Finance,Manager,TX,Workday,40,1,1,0.453,0.63,56,15,3,5,1
|
| 484 |
+
user_482,Support,Manager,Remote,Oracle,32,0,1,0.246,0.982,63,3,8,12,0
|
| 485 |
+
user_483,Support,Specialist,TX,GitHub,32,1,0,0.798,0.151,129,2,9,3,0
|
| 486 |
+
user_484,HR,Engineer,TX,SAP,14,0,0,0.223,0.721,12,13,4,5,0
|
| 487 |
+
user_485,Support,Specialist,SF,SAP,19,0,1,0.418,0.375,79,13,3,9,1
|
| 488 |
+
user_486,Support,Analyst,Remote,Jira,6,1,1,0.719,0.222,130,9,2,10,1
|
| 489 |
+
user_487,Support,Manager,Remote,Oracle,18,1,1,0.732,0.565,12,18,9,6,0
|
| 490 |
+
user_488,Support,Specialist,TX,Oracle,30,0,1,0.93,0.54,25,18,3,0,1
|
| 491 |
+
user_489,HR,Analyst,TX,Workday,42,1,0,0.582,0.377,126,4,10,10,1
|
| 492 |
+
user_490,Support,Engineer,SF,Oracle,29,0,0,0.95,0.278,152,19,1,5,0
|
| 493 |
+
user_491,Sales,Engineer,TX,GitHub,37,0,1,0.438,0.273,22,17,8,7,0
|
| 494 |
+
user_492,Support,Analyst,TX,GitHub,9,0,1,0.642,0.576,141,9,5,5,1
|
| 495 |
+
user_493,Engineering,Engineer,NY,Workday,35,0,0,0.731,0.289,168,20,7,6,0
|
| 496 |
+
user_494,Engineering,Analyst,Remote,SAP,38,1,0,0.306,0.776,147,19,4,9,1
|
| 497 |
+
user_495,HR,Engineer,TX,GitHub,24,1,0,0.623,0.677,150,3,3,12,1
|
| 498 |
+
user_496,Finance,Analyst,NY,SAP,31,0,1,0.544,0.114,14,15,7,4,1
|
| 499 |
+
user_497,HR,Manager,SF,Workday,15,1,1,0.258,0.916,55,6,7,0,0
|
| 500 |
+
user_498,Support,Admin,TX,SAP,15,0,1,0.556,0.247,62,3,2,4,1
|
| 501 |
+
user_499,Engineering,Specialist,NY,SAP,27,0,1,0.324,0.823,155,1,1,10,0
|
| 502 |
+
user_500,HR,Analyst,SF,GitHub,6,0,1,0.397,0.565,90,14,9,8,1
|
| 503 |
+
user_501,Finance,Specialist,TX,Oracle,14,0,1,0.347,0.541,8,10,6,3,1
|
| 504 |
+
user_502,Finance,Engineer,NY,Workday,22,1,1,0.686,0.413,34,9,5,5,1
|
| 505 |
+
user_503,Support,Engineer,TX,Workday,17,1,1,0.412,0.437,48,15,6,2,1
|
| 506 |
+
user_504,HR,Analyst,SF,Workday,9,1,1,0.641,0.327,35,10,5,1,0
|
| 507 |
+
user_505,Finance,Engineer,Remote,Workday,19,1,0,0.317,0.513,164,4,7,9,1
|
| 508 |
+
user_506,Support,Manager,Remote,Jira,44,0,1,0.69,0.597,115,9,2,11,1
|
| 509 |
+
user_507,Support,Engineer,Remote,Jira,19,0,1,0.353,0.326,116,1,9,11,1
|
| 510 |
+
user_508,Support,Manager,Remote,SAP,5,1,0,0.369,0.524,158,4,7,9,0
|
| 511 |
+
user_509,HR,Specialist,NY,Oracle,13,1,0,0.829,0.684,114,2,4,10,1
|
| 512 |
+
user_510,Finance,Admin,SF,Jira,30,0,1,0.635,0.816,148,20,4,11,1
|
| 513 |
+
user_511,Sales,Manager,Remote,Workday,37,1,1,0.627,0.374,43,2,0,10,0
|
| 514 |
+
user_512,HR,Specialist,TX,GitHub,19,1,1,0.398,0.293,172,14,9,5,1
|
| 515 |
+
user_513,HR,Analyst,TX,Oracle,6,1,1,0.291,0.629,152,18,7,1,0
|
| 516 |
+
user_514,Sales,Specialist,SF,GitHub,6,1,0,0.363,0.459,118,5,7,12,0
|
| 517 |
+
user_515,HR,Engineer,Remote,SAP,23,0,0,0.634,0.317,164,7,8,8,0
|
| 518 |
+
user_516,Support,Manager,NY,Jira,27,1,1,0.769,0.183,23,10,0,2,0
|
| 519 |
+
user_517,Engineering,Engineer,SF,Jira,12,1,0,0.634,0.389,97,12,0,2,0
|
| 520 |
+
user_518,Support,Manager,NY,GitHub,5,1,1,0.332,0.345,111,6,8,11,0
|
| 521 |
+
user_519,Finance,Specialist,TX,Jira,33,1,0,0.744,0.213,37,4,4,7,0
|
| 522 |
+
user_520,Finance,Specialist,SF,Workday,18,0,1,0.553,0.435,40,19,2,8,0
|
| 523 |
+
user_521,Sales,Analyst,SF,Oracle,14,0,0,0.899,0.959,117,2,10,2,1
|
| 524 |
+
user_522,Engineering,Manager,TX,Oracle,44,1,0,0.663,0.515,27,5,6,8,0
|
| 525 |
+
user_523,Engineering,Engineer,SF,SAP,23,1,0,0.409,0.473,102,15,3,8,1
|
| 526 |
+
user_524,Engineering,Admin,TX,SAP,44,0,1,0.921,0.832,99,19,6,10,1
|
| 527 |
+
user_525,Engineering,Manager,NY,Jira,32,0,0,0.828,0.187,52,19,1,3,0
|
| 528 |
+
user_526,HR,Admin,TX,SAP,10,0,1,0.767,0.609,77,5,8,1,1
|
| 529 |
+
user_527,Finance,Admin,TX,GitHub,24,1,1,0.821,0.237,15,11,10,1,1
|
| 530 |
+
user_528,Sales,Engineer,Remote,Oracle,45,0,0,0.769,0.702,47,2,4,0,0
|
| 531 |
+
user_529,HR,Admin,NY,SAP,19,0,1,0.201,0.747,32,3,0,6,1
|
| 532 |
+
user_530,HR,Engineer,NY,Jira,25,1,1,0.455,0.96,61,10,5,12,0
|
| 533 |
+
user_531,Engineering,Admin,SF,Workday,33,0,0,0.944,0.414,31,1,2,9,0
|
| 534 |
+
user_532,Sales,Analyst,SF,Oracle,14,0,0,0.214,0.971,137,14,8,8,1
|
| 535 |
+
user_533,HR,Manager,Remote,Oracle,34,0,0,0.766,0.53,89,20,10,8,1
|
| 536 |
+
user_534,Finance,Specialist,SF,Workday,7,0,1,0.323,0.945,164,18,1,9,1
|
| 537 |
+
user_535,Sales,Manager,Remote,GitHub,29,0,1,0.918,0.677,149,6,7,4,1
|
| 538 |
+
user_536,HR,Manager,Remote,GitHub,9,1,0,0.556,0.522,134,10,4,0,0
|
| 539 |
+
user_537,HR,Admin,Remote,Workday,25,1,1,0.393,0.81,106,3,0,5,0
|
| 540 |
+
user_538,HR,Manager,TX,GitHub,15,0,0,0.399,0.853,175,16,6,4,0
|
| 541 |
+
user_539,Finance,Manager,NY,GitHub,39,1,1,0.507,0.31,121,12,7,5,0
|
| 542 |
+
user_540,Engineering,Admin,Remote,Oracle,14,1,1,0.768,0.845,40,8,1,0,1
|
| 543 |
+
user_541,Finance,Specialist,TX,GitHub,29,0,1,0.864,0.976,118,3,10,3,1
|
| 544 |
+
user_542,Finance,Engineer,SF,SAP,16,0,1,0.429,0.648,99,3,6,4,0
|
| 545 |
+
user_543,Engineering,Analyst,NY,Jira,20,0,0,0.887,0.779,166,3,2,5,1
|
| 546 |
+
user_544,Sales,Analyst,Remote,Jira,31,0,1,0.788,0.609,62,9,5,4,1
|
| 547 |
+
user_545,HR,Admin,Remote,GitHub,34,0,0,0.394,0.657,45,6,2,11,0
|
| 548 |
+
user_546,HR,Specialist,TX,Workday,20,1,1,0.427,0.432,158,7,4,0,0
|
| 549 |
+
user_547,Sales,Analyst,TX,Workday,41,1,0,0.688,0.816,114,12,8,0,0
|
| 550 |
+
user_548,Engineering,Engineer,SF,Jira,43,1,0,0.571,0.229,16,12,5,3,1
|
| 551 |
+
user_549,HR,Admin,Remote,Workday,12,0,1,0.596,0.984,17,18,5,10,0
|
| 552 |
+
user_550,HR,Manager,NY,Jira,35,0,0,0.323,0.563,140,4,6,1,0
|
| 553 |
+
user_551,HR,Specialist,SF,SAP,32,1,0,0.424,0.884,148,17,10,0,0
|
| 554 |
+
user_552,Sales,Engineer,Remote,Workday,43,0,0,0.318,0.269,145,12,9,0,1
|
| 555 |
+
user_553,Support,Specialist,Remote,Workday,37,0,0,0.494,0.881,6,14,3,12,0
|
| 556 |
+
user_554,Finance,Specialist,TX,Workday,11,1,1,0.236,0.729,35,17,7,11,1
|
| 557 |
+
user_555,Support,Manager,SF,GitHub,42,1,0,0.243,0.98,104,7,1,11,0
|
| 558 |
+
user_556,Engineering,Analyst,SF,SAP,13,1,1,0.825,0.569,114,6,9,10,1
|
| 559 |
+
user_557,Finance,Specialist,NY,Workday,37,1,1,0.695,0.415,10,10,8,3,1
|
| 560 |
+
user_558,Support,Manager,TX,Jira,35,1,0,0.395,0.569,89,11,1,9,1
|
| 561 |
+
user_559,Engineering,Analyst,TX,SAP,45,1,1,0.348,0.673,13,1,1,0,0
|
| 562 |
+
user_560,Sales,Engineer,SF,Jira,17,1,0,0.499,0.551,153,3,0,3,0
|
| 563 |
+
user_561,Finance,Engineer,TX,Jira,25,1,0,0.821,0.449,25,1,0,12,1
|
| 564 |
+
user_562,Sales,Analyst,SF,GitHub,18,0,0,0.252,0.187,51,8,5,7,0
|
| 565 |
+
user_563,HR,Admin,NY,Jira,44,1,0,0.704,0.949,79,10,4,3,1
|
| 566 |
+
user_564,Engineering,Admin,NY,Workday,9,1,0,0.914,0.179,170,9,8,11,1
|
| 567 |
+
user_565,Finance,Specialist,SF,Oracle,44,1,1,0.262,0.79,107,15,10,2,0
|
| 568 |
+
user_566,Engineering,Manager,Remote,GitHub,24,0,0,0.588,0.711,2,1,8,8,1
|
| 569 |
+
user_567,Sales,Analyst,Remote,Oracle,12,0,1,0.322,0.209,43,17,9,10,1
|
| 570 |
+
user_568,Sales,Engineer,Remote,Oracle,16,0,1,0.21,0.85,161,19,7,5,1
|
| 571 |
+
user_569,HR,Admin,NY,Oracle,13,0,0,0.764,0.45,135,14,2,1,0
|
| 572 |
+
user_570,Support,Manager,Remote,SAP,29,0,1,0.462,0.23,174,17,5,11,1
|
| 573 |
+
user_571,Support,Analyst,TX,Oracle,33,1,1,0.468,0.905,53,12,5,9,0
|
| 574 |
+
user_572,Sales,Analyst,SF,Oracle,25,0,1,0.742,0.947,123,12,10,0,1
|
| 575 |
+
user_573,Finance,Manager,NY,Workday,33,0,1,0.323,0.788,169,11,7,5,0
|
| 576 |
+
user_574,Sales,Specialist,NY,Oracle,23,1,0,0.795,0.659,33,10,2,3,1
|
| 577 |
+
user_575,Sales,Admin,Remote,Workday,8,0,1,0.629,0.423,53,17,0,3,0
|
| 578 |
+
user_576,Sales,Admin,Remote,Workday,26,1,1,0.709,0.978,20,7,5,9,1
|
| 579 |
+
user_577,Support,Specialist,SF,GitHub,15,1,1,0.42,0.917,154,6,0,12,0
|
| 580 |
+
user_578,Engineering,Engineer,NY,Oracle,15,0,0,0.317,0.684,96,6,5,7,0
|
| 581 |
+
user_579,Finance,Admin,Remote,SAP,28,0,1,0.773,0.875,73,1,8,5,0
|
| 582 |
+
user_580,Finance,Manager,TX,Jira,41,0,0,0.51,0.944,59,5,2,8,0
|
| 583 |
+
user_581,Engineering,Specialist,Remote,Workday,42,1,0,0.63,0.237,106,19,0,0,1
|
| 584 |
+
user_582,Engineering,Specialist,Remote,GitHub,44,1,0,0.661,0.807,9,1,5,4,1
|
| 585 |
+
user_583,HR,Specialist,TX,GitHub,39,0,0,0.426,0.832,40,14,2,3,0
|
| 586 |
+
user_584,Support,Manager,Remote,GitHub,15,1,0,0.526,0.949,98,15,0,7,0
|
| 587 |
+
user_585,Finance,Specialist,SF,Jira,21,1,0,0.352,0.656,167,17,6,0,0
|
| 588 |
+
user_586,Finance,Analyst,TX,GitHub,37,0,1,0.285,0.405,20,4,3,9,0
|
| 589 |
+
user_587,Support,Admin,SF,Oracle,37,0,1,0.537,0.573,126,2,3,1,1
|
| 590 |
+
user_588,Support,Engineer,NY,GitHub,29,0,0,0.51,0.348,180,18,5,5,1
|
| 591 |
+
user_589,HR,Manager,NY,GitHub,42,1,0,0.54,0.235,8,18,6,0,1
|
| 592 |
+
user_590,HR,Specialist,TX,GitHub,7,1,0,0.698,0.796,160,11,7,11,0
|
| 593 |
+
user_591,Finance,Manager,TX,GitHub,26,1,0,0.624,0.235,139,7,5,6,0
|
| 594 |
+
user_592,Sales,Specialist,Remote,SAP,11,1,1,0.581,0.201,64,2,2,8,1
|
| 595 |
+
user_593,Finance,Engineer,NY,SAP,17,1,1,0.781,0.193,120,14,0,8,0
|
| 596 |
+
user_594,Support,Manager,Remote,Workday,25,1,0,0.483,0.35,72,18,2,9,0
|
| 597 |
+
user_595,Sales,Manager,SF,Jira,37,0,0,0.289,0.454,55,6,2,2,1
|
| 598 |
+
user_596,HR,Specialist,SF,Workday,29,1,1,0.606,0.45,13,19,7,10,0
|
| 599 |
+
user_597,Finance,Engineer,SF,Jira,32,1,1,0.445,0.303,166,1,9,7,0
|
| 600 |
+
user_598,HR,Specialist,TX,Workday,17,1,1,0.863,0.902,92,15,3,1,0
|
| 601 |
+
user_599,HR,Admin,NY,Oracle,22,1,1,0.531,0.188,27,14,3,11,0
|
| 602 |
+
user_600,Support,Analyst,NY,SAP,9,1,1,0.798,0.792,96,4,1,12,0
|
| 603 |
+
user_601,Support,Admin,Remote,GitHub,5,1,1,0.679,0.259,90,9,8,8,0
|
| 604 |
+
user_602,Sales,Specialist,TX,SAP,45,0,0,0.842,0.11,133,17,9,2,0
|
| 605 |
+
user_603,Finance,Analyst,SF,GitHub,22,1,0,0.393,0.27,25,11,7,7,1
|
| 606 |
+
user_604,Support,Specialist,Remote,Oracle,39,1,1,0.544,0.71,27,2,3,4,1
|
| 607 |
+
user_605,Engineering,Analyst,SF,Oracle,19,1,0,0.445,0.146,151,20,0,11,0
|
| 608 |
+
user_606,Sales,Specialist,TX,Oracle,41,0,0,0.737,0.706,48,16,0,9,1
|
| 609 |
+
user_607,Sales,Analyst,TX,SAP,37,1,0,0.292,0.181,10,2,8,11,1
|
| 610 |
+
user_608,Engineering,Specialist,Remote,Workday,29,0,1,0.514,0.111,135,13,6,9,1
|
| 611 |
+
user_609,Engineering,Admin,SF,SAP,41,1,0,0.382,0.583,171,12,4,9,0
|
| 612 |
+
user_610,HR,Admin,SF,Oracle,42,0,1,0.31,0.764,33,6,6,10,1
|
| 613 |
+
user_611,Engineering,Specialist,SF,Oracle,6,1,1,0.934,0.866,157,2,9,5,0
|
| 614 |
+
user_612,HR,Analyst,Remote,Workday,31,0,1,0.304,0.635,41,12,8,5,1
|
| 615 |
+
user_613,Sales,Specialist,TX,Oracle,40,0,1,0.408,0.91,70,6,0,7,0
|
| 616 |
+
user_614,HR,Engineer,SF,Jira,21,1,1,0.706,0.149,122,12,8,1,0
|
| 617 |
+
user_615,Support,Analyst,SF,Jira,6,0,0,0.827,0.385,158,6,7,7,1
|
| 618 |
+
user_616,Sales,Admin,NY,SAP,43,1,0,0.543,0.946,148,5,1,5,1
|
| 619 |
+
user_617,Sales,Specialist,SF,Jira,6,0,0,0.672,0.704,34,12,3,0,1
|
| 620 |
+
user_618,Finance,Analyst,Remote,SAP,6,0,0,0.478,0.74,123,1,2,2,0
|
| 621 |
+
user_619,Engineering,Specialist,SF,Workday,10,1,1,0.469,0.108,159,5,4,9,0
|
| 622 |
+
user_620,Finance,Analyst,TX,GitHub,23,1,0,0.897,0.28,111,2,7,4,1
|
| 623 |
+
user_621,Finance,Engineer,NY,Oracle,31,0,1,0.623,0.98,74,7,3,6,0
|
| 624 |
+
user_622,Engineering,Specialist,SF,GitHub,26,1,0,0.392,0.169,8,6,9,4,1
|
| 625 |
+
user_623,Support,Admin,TX,Jira,38,0,1,0.928,0.504,35,6,1,7,1
|
| 626 |
+
user_624,Support,Engineer,SF,GitHub,39,1,1,0.234,0.585,121,16,8,3,0
|
| 627 |
+
user_625,HR,Manager,Remote,Workday,26,0,0,0.451,0.607,83,7,9,2,1
|
| 628 |
+
user_626,Support,Analyst,SF,SAP,27,1,0,0.505,0.427,54,10,3,8,1
|
| 629 |
+
user_627,Engineering,Manager,SF,GitHub,14,1,0,0.675,0.543,83,15,8,9,1
|
| 630 |
+
user_628,HR,Analyst,SF,Workday,45,0,1,0.658,0.224,32,19,2,1,0
|
| 631 |
+
user_629,Support,Analyst,Remote,Jira,26,0,0,0.59,0.657,163,19,4,11,1
|
| 632 |
+
user_630,Finance,Specialist,NY,GitHub,9,0,0,0.664,0.315,95,8,1,9,0
|
| 633 |
+
user_631,Sales,Specialist,Remote,Oracle,8,0,0,0.275,0.629,110,0,9,4,1
|
| 634 |
+
user_632,Engineering,Admin,NY,Workday,27,1,1,0.727,0.7,108,3,8,1,1
|
| 635 |
+
user_633,Finance,Manager,TX,Oracle,33,0,0,0.603,0.193,129,6,2,1,1
|
| 636 |
+
user_634,Engineering,Analyst,NY,Workday,33,0,0,0.893,0.858,10,15,9,12,0
|
| 637 |
+
user_635,Sales,Admin,TX,GitHub,8,1,1,0.855,0.848,137,9,10,8,1
|
| 638 |
+
user_636,Finance,Specialist,NY,SAP,15,1,1,0.432,0.412,26,6,9,6,0
|
| 639 |
+
user_637,Finance,Manager,NY,SAP,42,0,0,0.514,0.501,12,0,9,10,0
|
| 640 |
+
user_638,Sales,Admin,SF,Workday,24,1,1,0.915,0.976,163,15,0,7,1
|
| 641 |
+
user_639,HR,Admin,SF,Oracle,39,0,0,0.25,0.174,46,10,7,6,1
|
| 642 |
+
user_640,Sales,Specialist,NY,SAP,38,1,0,0.829,0.141,77,11,3,8,1
|
| 643 |
+
user_641,Sales,Analyst,Remote,Jira,9,1,0,0.254,0.835,123,4,4,2,1
|
| 644 |
+
user_642,Finance,Engineer,TX,GitHub,33,0,0,0.272,0.816,95,17,6,12,0
|
| 645 |
+
user_643,Support,Analyst,TX,Workday,22,1,1,0.353,0.163,61,17,6,2,1
|
| 646 |
+
user_644,HR,Specialist,NY,Workday,28,0,1,0.342,0.986,128,1,10,12,1
|
| 647 |
+
user_645,HR,Engineer,Remote,Workday,43,0,0,0.948,0.556,146,8,9,2,1
|
| 648 |
+
user_646,Support,Specialist,TX,SAP,33,1,1,0.444,0.392,4,6,6,2,1
|
| 649 |
+
user_647,Engineering,Manager,TX,Jira,38,1,1,0.588,0.928,101,3,8,8,0
|
| 650 |
+
user_648,HR,Analyst,TX,Oracle,23,0,0,0.564,0.232,133,14,0,7,0
|
| 651 |
+
user_649,Finance,Specialist,SF,Jira,6,1,1,0.41,0.348,127,3,9,7,1
|
| 652 |
+
user_650,Finance,Admin,NY,SAP,13,1,0,0.736,0.112,124,1,7,3,0
|
| 653 |
+
user_651,Support,Admin,SF,Workday,32,1,0,0.642,0.279,70,0,3,9,1
|
| 654 |
+
user_652,Finance,Specialist,Remote,GitHub,32,0,0,0.271,0.424,42,18,4,7,1
|
| 655 |
+
user_653,Sales,Manager,TX,Oracle,27,1,1,0.213,0.449,11,6,2,5,1
|
| 656 |
+
user_654,Support,Manager,NY,SAP,17,0,0,0.65,0.153,110,6,0,5,1
|
| 657 |
+
user_655,Finance,Analyst,Remote,Jira,24,0,0,0.531,0.526,135,17,3,5,0
|
| 658 |
+
user_656,Finance,Analyst,Remote,GitHub,43,1,0,0.491,0.209,158,18,9,7,1
|
| 659 |
+
user_657,Engineering,Analyst,NY,Oracle,16,1,1,0.485,0.808,166,13,10,10,0
|
| 660 |
+
user_658,Support,Admin,TX,GitHub,32,1,1,0.22,0.377,161,14,6,10,1
|
| 661 |
+
user_659,HR,Analyst,NY,Oracle,29,0,1,0.35,0.569,174,13,6,10,0
|
| 662 |
+
user_660,Engineering,Manager,NY,SAP,44,1,1,0.251,0.321,86,4,6,5,1
|
| 663 |
+
user_661,HR,Specialist,Remote,SAP,45,1,0,0.362,0.271,94,3,4,10,0
|
| 664 |
+
user_662,Sales,Analyst,NY,Workday,10,1,0,0.45,0.631,5,11,5,3,1
|
| 665 |
+
user_663,Support,Analyst,TX,Jira,18,0,1,0.259,0.693,134,3,1,4,0
|
| 666 |
+
user_664,Support,Admin,Remote,Oracle,5,0,0,0.341,0.775,172,11,4,11,1
|
| 667 |
+
user_665,Finance,Specialist,TX,Workday,34,1,0,0.422,0.39,86,9,8,12,0
|
| 668 |
+
user_666,Engineering,Engineer,NY,Oracle,24,1,1,0.71,0.562,111,16,6,1,0
|
| 669 |
+
user_667,Engineering,Analyst,NY,GitHub,36,0,1,0.208,0.413,179,14,8,9,1
|
| 670 |
+
user_668,Sales,Analyst,NY,SAP,39,1,1,0.724,0.294,77,2,4,11,1
|
| 671 |
+
user_669,HR,Analyst,TX,SAP,14,1,1,0.306,0.861,156,5,5,12,1
|
| 672 |
+
user_670,Support,Admin,SF,Oracle,25,0,1,0.774,0.453,87,18,8,9,1
|
| 673 |
+
user_671,Support,Manager,Remote,SAP,6,1,0,0.404,0.753,29,12,3,10,1
|
| 674 |
+
user_672,Sales,Admin,Remote,Jira,27,1,1,0.504,0.579,105,17,4,8,1
|
| 675 |
+
user_673,HR,Manager,TX,GitHub,10,0,0,0.311,0.964,154,9,10,9,1
|
| 676 |
+
user_674,Support,Admin,Remote,Oracle,38,0,1,0.433,0.386,41,8,8,0,0
|
| 677 |
+
user_675,Sales,Analyst,TX,Workday,19,0,1,0.412,0.106,162,14,9,1,0
|
| 678 |
+
user_676,Engineering,Specialist,SF,Workday,29,1,1,0.377,0.261,14,20,7,0,1
|
| 679 |
+
user_677,Support,Specialist,SF,Workday,44,1,0,0.343,0.744,22,13,9,1,0
|
| 680 |
+
user_678,Finance,Admin,NY,SAP,36,1,0,0.908,0.674,77,12,6,10,0
|
| 681 |
+
user_679,Sales,Admin,TX,GitHub,26,1,1,0.711,0.768,6,2,1,3,1
|
| 682 |
+
user_680,Engineering,Manager,Remote,GitHub,14,0,1,0.434,0.497,130,17,9,5,0
|
| 683 |
+
user_681,HR,Analyst,SF,Oracle,19,1,1,0.902,0.908,113,14,0,7,1
|
| 684 |
+
user_682,HR,Manager,TX,Workday,14,1,0,0.707,0.968,68,18,4,2,0
|
| 685 |
+
user_683,Support,Specialist,SF,Oracle,6,1,1,0.753,0.936,129,9,6,0,0
|
| 686 |
+
user_684,HR,Specialist,NY,SAP,38,1,0,0.327,0.718,41,10,3,10,0
|
| 687 |
+
user_685,Support,Manager,Remote,Oracle,41,0,1,0.553,0.918,152,8,4,10,0
|
| 688 |
+
user_686,Finance,Manager,NY,SAP,30,0,0,0.906,0.431,17,9,1,12,0
|
| 689 |
+
user_687,Finance,Analyst,SF,Jira,7,0,0,0.935,0.722,24,9,1,1,1
|
| 690 |
+
user_688,Support,Engineer,TX,Oracle,24,0,1,0.23,0.379,157,5,3,4,0
|
| 691 |
+
user_689,Sales,Specialist,Remote,SAP,39,1,1,0.226,0.652,32,17,4,2,1
|
| 692 |
+
user_690,Finance,Manager,NY,GitHub,19,1,1,0.512,0.234,115,16,6,12,1
|
| 693 |
+
user_691,HR,Manager,TX,SAP,24,0,1,0.489,0.367,115,18,10,6,0
|
| 694 |
+
user_692,Engineering,Engineer,Remote,Workday,8,1,1,0.584,0.685,180,1,5,4,1
|
| 695 |
+
user_693,HR,Engineer,NY,SAP,17,1,0,0.589,0.288,155,20,0,0,0
|
| 696 |
+
user_694,HR,Engineer,TX,Oracle,23,1,0,0.518,0.476,91,10,6,8,1
|
| 697 |
+
user_695,Finance,Engineer,NY,Oracle,6,0,0,0.513,0.944,160,11,9,7,1
|
| 698 |
+
user_696,Support,Admin,SF,Oracle,24,1,1,0.485,0.263,92,1,3,11,1
|
| 699 |
+
user_697,Engineering,Manager,SF,Oracle,21,1,0,0.643,0.793,71,15,4,12,1
|
| 700 |
+
user_698,HR,Specialist,SF,SAP,38,1,1,0.355,0.209,128,12,8,6,0
|
| 701 |
+
user_699,Sales,Admin,NY,SAP,22,1,0,0.881,0.983,152,10,7,9,1
|
| 702 |
+
user_700,Support,Engineer,Remote,Workday,30,1,1,0.537,0.101,85,17,1,3,0
|
| 703 |
+
user_701,Support,Manager,Remote,Jira,20,0,0,0.788,0.341,103,12,3,9,0
|
| 704 |
+
user_702,Finance,Specialist,Remote,Oracle,6,1,0,0.573,0.671,32,4,10,9,1
|
| 705 |
+
user_703,Support,Manager,Remote,Workday,13,0,1,0.332,0.176,122,5,2,6,1
|
| 706 |
+
user_704,Support,Analyst,SF,Workday,22,0,1,0.57,0.79,65,9,8,1,0
|
| 707 |
+
user_705,Finance,Admin,NY,GitHub,42,0,1,0.235,0.442,94,2,9,12,0
|
| 708 |
+
user_706,Sales,Engineer,TX,Jira,34,0,1,0.486,0.395,133,10,8,8,0
|
| 709 |
+
user_707,Engineering,Admin,TX,SAP,17,1,1,0.55,0.585,31,20,8,6,1
|
| 710 |
+
user_708,Support,Analyst,SF,GitHub,28,1,0,0.429,0.985,56,4,6,3,0
|
| 711 |
+
user_709,Engineering,Manager,SF,SAP,35,1,1,0.374,0.574,97,20,5,9,0
|
| 712 |
+
user_710,HR,Specialist,TX,GitHub,17,1,1,0.765,0.57,140,20,7,3,0
|
| 713 |
+
user_711,Support,Manager,SF,GitHub,37,0,0,0.524,0.106,164,10,9,2,1
|
| 714 |
+
user_712,Engineering,Engineer,SF,Workday,40,0,0,0.306,0.426,164,20,6,3,1
|
| 715 |
+
user_713,HR,Admin,SF,SAP,39,0,0,0.912,0.248,21,17,1,9,1
|
| 716 |
+
user_714,Sales,Specialist,TX,SAP,39,1,0,0.763,0.303,26,13,3,3,0
|
| 717 |
+
user_715,Finance,Manager,NY,Jira,43,1,1,0.207,0.839,55,14,5,1,0
|
| 718 |
+
user_716,Engineering,Manager,SF,GitHub,19,0,0,0.713,0.63,143,4,3,12,0
|
| 719 |
+
user_717,HR,Admin,SF,Jira,40,0,1,0.321,0.547,166,15,9,5,0
|
| 720 |
+
user_718,Engineering,Admin,NY,Oracle,16,0,1,0.571,0.327,101,1,8,0,0
|
| 721 |
+
user_719,Engineering,Engineer,SF,Jira,32,1,0,0.82,0.72,149,11,9,1,0
|
| 722 |
+
user_720,HR,Engineer,SF,Jira,34,0,1,0.283,0.487,87,13,0,7,0
|
| 723 |
+
user_721,Sales,Admin,TX,SAP,27,0,1,0.885,0.537,34,9,8,4,0
|
| 724 |
+
user_722,Sales,Manager,TX,GitHub,8,0,1,0.405,0.355,36,7,8,11,0
|
| 725 |
+
user_723,HR,Admin,NY,GitHub,36,0,0,0.773,0.263,18,3,4,3,0
|
| 726 |
+
user_724,Sales,Analyst,SF,Jira,41,1,1,0.503,0.406,30,8,1,11,0
|
| 727 |
+
user_725,Sales,Analyst,TX,Oracle,29,1,0,0.634,0.125,120,3,8,5,1
|
| 728 |
+
user_726,Support,Admin,TX,Oracle,12,1,1,0.91,0.244,91,8,4,2,1
|
| 729 |
+
user_727,Sales,Engineer,NY,Workday,7,0,1,0.279,0.217,168,0,7,7,1
|
| 730 |
+
user_728,Engineering,Specialist,Remote,GitHub,37,0,1,0.915,0.568,177,20,5,2,0
|
| 731 |
+
user_729,HR,Engineer,SF,Workday,35,0,1,0.605,0.435,13,18,5,4,1
|
| 732 |
+
user_730,Support,Specialist,SF,Jira,13,1,0,0.884,0.213,160,18,9,3,1
|
| 733 |
+
user_731,HR,Admin,Remote,Oracle,41,0,0,0.775,0.249,78,8,2,5,0
|
| 734 |
+
user_732,Support,Analyst,Remote,Workday,26,0,1,0.66,0.277,11,19,3,9,0
|
| 735 |
+
user_733,Support,Admin,NY,SAP,26,1,1,0.36,0.944,81,12,3,3,1
|
| 736 |
+
user_734,Support,Analyst,SF,GitHub,16,0,0,0.466,0.197,73,11,4,6,0
|
| 737 |
+
user_735,Support,Manager,Remote,GitHub,25,0,1,0.303,0.432,136,4,2,1,1
|
| 738 |
+
user_736,HR,Engineer,SF,GitHub,17,0,1,0.623,0.231,65,6,9,10,0
|
| 739 |
+
user_737,HR,Manager,TX,Oracle,42,0,0,0.738,0.697,105,3,0,4,0
|
| 740 |
+
user_738,Sales,Analyst,Remote,Oracle,24,0,1,0.726,0.71,116,13,0,4,0
|
| 741 |
+
user_739,Finance,Analyst,TX,Jira,24,1,0,0.742,0.318,94,9,5,12,1
|
| 742 |
+
user_740,Support,Engineer,SF,GitHub,43,0,0,0.468,0.612,113,18,4,6,0
|
| 743 |
+
user_741,Support,Admin,Remote,Oracle,24,1,0,0.381,0.254,114,0,8,3,0
|
| 744 |
+
user_742,Engineering,Engineer,TX,SAP,11,1,0,0.94,0.351,0,9,2,9,1
|
| 745 |
+
user_743,Support,Engineer,Remote,Oracle,42,1,1,0.675,0.777,157,11,4,0,1
|
| 746 |
+
user_744,Finance,Specialist,NY,SAP,8,0,1,0.558,0.782,4,6,6,3,1
|
| 747 |
+
user_745,Sales,Analyst,Remote,Oracle,9,1,0,0.693,0.897,163,15,1,2,0
|
| 748 |
+
user_746,Sales,Engineer,Remote,Workday,23,1,1,0.776,0.238,120,5,9,12,0
|
| 749 |
+
user_747,Sales,Specialist,Remote,Oracle,22,1,0,0.896,0.687,43,9,9,9,0
|
| 750 |
+
user_748,Support,Manager,TX,Jira,6,1,0,0.839,0.427,98,5,8,1,1
|
| 751 |
+
user_749,Finance,Analyst,NY,Oracle,13,0,0,0.707,0.845,73,9,4,4,0
|
| 752 |
+
user_750,HR,Specialist,SF,Workday,7,1,1,0.413,0.237,171,13,10,8,1
|
| 753 |
+
user_751,Finance,Analyst,SF,Jira,11,1,0,0.887,0.69,29,1,3,11,1
|
| 754 |
+
user_752,Sales,Engineer,Remote,Oracle,43,1,1,0.805,0.155,108,8,4,3,0
|
| 755 |
+
user_753,Engineering,Specialist,SF,Oracle,11,1,1,0.8,0.363,112,8,10,2,0
|
| 756 |
+
user_754,HR,Engineer,TX,Oracle,24,0,1,0.755,0.233,30,20,9,10,0
|
| 757 |
+
user_755,HR,Admin,Remote,Jira,38,0,0,0.322,0.408,121,3,3,4,1
|
| 758 |
+
user_756,Finance,Specialist,NY,Oracle,27,1,0,0.356,0.531,110,6,1,8,0
|
| 759 |
+
user_757,Engineering,Analyst,TX,GitHub,15,0,1,0.601,0.388,4,5,6,0,0
|
| 760 |
+
user_758,Support,Manager,Remote,Oracle,23,0,1,0.644,0.852,42,9,10,6,0
|
| 761 |
+
user_759,HR,Specialist,Remote,GitHub,16,0,0,0.476,0.664,75,13,3,6,0
|
| 762 |
+
user_760,Support,Engineer,TX,SAP,42,1,1,0.347,0.701,42,5,9,1,0
|
| 763 |
+
user_761,Engineering,Admin,NY,SAP,11,0,0,0.62,0.656,134,2,7,2,1
|
| 764 |
+
user_762,Finance,Analyst,SF,GitHub,24,1,1,0.76,0.163,45,13,9,11,1
|
| 765 |
+
user_763,Support,Manager,Remote,GitHub,21,0,1,0.878,0.844,128,13,1,1,0
|
| 766 |
+
user_764,Support,Engineer,SF,SAP,10,1,1,0.504,0.453,31,3,3,5,0
|
| 767 |
+
user_765,Support,Admin,Remote,Workday,27,1,1,0.901,0.614,146,14,0,4,0
|
| 768 |
+
user_766,Sales,Engineer,NY,GitHub,28,1,0,0.413,0.7,174,16,2,6,1
|
| 769 |
+
user_767,Engineering,Manager,TX,GitHub,16,1,0,0.349,0.157,61,3,6,2,0
|
| 770 |
+
user_768,HR,Analyst,SF,Workday,19,1,0,0.286,0.502,86,10,2,9,1
|
| 771 |
+
user_769,HR,Admin,TX,Oracle,36,1,0,0.54,0.753,102,3,3,6,1
|
| 772 |
+
user_770,Sales,Engineer,NY,SAP,30,0,1,0.918,0.358,164,13,6,8,0
|
| 773 |
+
user_771,Support,Admin,Remote,Workday,30,1,1,0.429,0.2,61,2,8,4,1
|
| 774 |
+
user_772,HR,Admin,Remote,Oracle,32,1,1,0.255,0.293,163,11,3,12,1
|
| 775 |
+
user_773,Engineering,Admin,Remote,GitHub,15,0,0,0.758,0.831,31,13,8,2,1
|
| 776 |
+
user_774,Support,Manager,TX,SAP,26,1,0,0.941,0.875,161,0,4,12,0
|
| 777 |
+
user_775,HR,Specialist,SF,SAP,27,0,0,0.209,0.458,23,4,4,2,1
|
| 778 |
+
user_776,Finance,Manager,NY,Jira,17,1,0,0.449,0.505,57,1,1,8,1
|
| 779 |
+
user_777,HR,Admin,Remote,Oracle,21,0,1,0.768,0.559,170,10,0,10,1
|
| 780 |
+
user_778,Sales,Admin,TX,Oracle,8,0,1,0.628,0.775,78,7,1,10,0
|
| 781 |
+
user_779,Support,Manager,NY,Jira,34,1,1,0.87,0.208,111,15,7,2,0
|
| 782 |
+
user_780,Finance,Specialist,Remote,Jira,41,0,0,0.258,0.549,17,17,10,3,1
|
| 783 |
+
user_781,HR,Engineer,NY,Workday,19,1,1,0.648,0.528,116,1,2,0,1
|
| 784 |
+
user_782,Support,Admin,TX,Jira,28,1,1,0.233,0.255,51,18,9,7,0
|
| 785 |
+
user_783,Engineering,Specialist,Remote,SAP,34,1,0,0.556,0.86,106,17,0,5,0
|
| 786 |
+
user_784,HR,Manager,SF,Oracle,19,0,1,0.842,0.781,8,7,8,3,1
|
| 787 |
+
user_785,Engineering,Manager,NY,Oracle,25,0,1,0.557,0.712,29,20,5,12,0
|
| 788 |
+
user_786,Finance,Engineer,TX,GitHub,41,1,1,0.745,0.4,112,9,4,2,1
|
| 789 |
+
user_787,Support,Analyst,NY,Jira,7,1,1,0.897,0.439,57,19,9,12,0
|
| 790 |
+
user_788,Sales,Engineer,NY,Jira,42,1,0,0.929,0.171,111,6,6,6,1
|
| 791 |
+
user_789,HR,Manager,TX,Oracle,35,1,0,0.588,0.176,82,14,8,11,0
|
| 792 |
+
user_790,Support,Admin,NY,GitHub,7,1,1,0.736,0.538,29,19,0,4,0
|
| 793 |
+
user_791,Finance,Engineer,Remote,Jira,18,1,1,0.896,0.861,0,1,10,0,0
|
| 794 |
+
user_792,Engineering,Analyst,NY,Workday,6,0,1,0.603,0.769,176,3,9,4,0
|
| 795 |
+
user_793,Engineering,Admin,NY,Oracle,29,0,1,0.87,0.228,3,19,0,0,0
|
| 796 |
+
user_794,Engineering,Manager,SF,SAP,30,1,1,0.872,0.864,174,14,3,0,0
|
| 797 |
+
user_795,Finance,Admin,TX,GitHub,9,0,0,0.224,0.878,120,20,2,12,0
|
| 798 |
+
user_796,Engineering,Admin,SF,SAP,41,0,0,0.34,0.16,14,11,7,6,0
|
| 799 |
+
user_797,Sales,Analyst,NY,Workday,9,1,0,0.42,0.393,91,20,5,4,0
|
| 800 |
+
user_798,Finance,Analyst,TX,SAP,40,0,1,0.824,0.489,158,11,10,12,0
|
| 801 |
+
user_799,Sales,Manager,TX,Workday,44,0,0,0.721,0.314,148,19,3,2,0
|
requirements.txt
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
fastapi==0.110.0
|
| 2 |
+
uvicorn==0.29.0
|
| 3 |
+
pandas==2.2.2
|
| 4 |
+
scikit-learn==1.4.2
|
| 5 |
+
numpy==1.26.4
|
| 6 |
+
sqlalchemy==2.0.29
|
| 7 |
+
python-multipart==0.0.9
|
| 8 |
+
openpyxl==3.1.2
|