Cross-tabs gave us dozens of significant findings. This analysis used four machine learning models and used SHAP to separate the real drivers from the noise. Here is what the models agreed on, and where they disagreed.
The survey cross-tab compared three satisfaction groups: Low (1–4), Mid (5–7), and High (8–10), against every individual question in the survey. A lot of variables showed a statistically significant difference somewhere. Salary band. Work setup. Career stage. AI tool usage. Team size. Role type. Time in current salary. And many more.
Cross-tabs answer "Is this variable related to satisfaction?" They do not answer "How much does it actually matter, relative to everything else?" Using extensive Market Research experience, drivers analysis was the natural next step to surface key drivers.
This analysis trained five models on the same dataset and applied SHAP (SHapley Additive exPlanations) to each. SHAP assigns every feature a contribution score for each prediction, i.e., how much did this variable move the satisfaction score, on average, across all respondents? This is the same principle as individual-level attribution in Market Research using SAS, now made computationally accessible through Python.
A driver that shows high SHAP importance in a Random Forest and in a Lasso regression is a genuine driver. One that only appears in a linear model but not in the tree-based model is telling us something about the nature of the relationship (linear vs. non-linear) not just its existence. LightGBM was run separately as a validation step on the top 20 features, confirming whether the driver ranking holds under a gradient boosting method with a completely different training mechanic.
df_single_with_grps.csv │ ▼ PART 0 · DATA PREPARATION · Ordinal encoding ─► salary_broader*, sizeteam, how_long_in_salary · One-hot encoding (OHE) ─► careerstg, datarole, sitework, ai_work, ai_study, … · Drop n < 30 one-hot cols (prevents overfit on thin cells) · Drop NAs and "None of the above" OHE columns *salary_broader simplifies the salary bands into Low, Mid, High │ ▼ PART 1 · FIVE MODELS ┌─────────────────────────┐ ┌───────────────────────────────┐ │ Random Forest │ │ Ordinal Logistic Regression │ │ · Gini impurity splits │ │ · 3 variants (raw / filtered │ │ · No scaling needed │ │ / scaled+filtered) │ │ · Non-linear signal │ │ · n<30 columns dropped │ └─────────────────────────┘ └───────────────────────────────┘ ┌─────────────────────────┐ ┌──────────────────────────────┐ │ Linear Regression │ │ Lasso Regression │ │ · StandardScaler │ │ · alpha=0.1 penalty │ │ · Simple linear signal │ │ · Zeroes out weak drivers │ └─────────────────────────┘ └──────────────────────────────┘ ┌─────────────────────────────────────────────────────────┐ │ LightGBM (validation — separate notebook) │ │ · Gradient boosting — sequential error correction │ │ · No scaling needed — tree-based │ │ · Run on top 20 features from RF / LR / Lasso │ │ · Confirms driver ranking under boosting mechanic │ └─────────────────────────────────────────────────────────┘ │ ▼ PART 2 · SHAP ATTRIBUTION RF ──► TreeExplainer ──► bar + beeswarm plots LR ──► LinearExplainer ──► bar + beeswarm plots Lasso ──► LinearExplainer ──► bar + beeswarm plots LightGBM ──► TreeExplainer ──► bar + beeswarm plots (Ordinal Logistic skipped — KernelExplainer prohibitively slow at this feature count; OL coefficients used directly instead) │ ▼ shap_comparison.csv ◄── mean |SHAP| per feature × model RF · LightGBM · LR · Lasso │ ▼ PART 3 · CORRELATION CHECK Full heatmap (all features) + small heatmap (top 8 drivers) Within-group OHE correlations are expected and present. No strong off-diagonal correlations between driver groups.
The SHAP comparison table produced a short, defensible list of 8 drivers. Two appeared as high-importance across all three SHAP models. These are the obvious leads.
% scoring 8–10 out of 10 (satisfaction), except Career Shifters row which shows % scoring 1–5.
The table below shows each driver's SHAP signal strength across the four models where SHAP was computed. LightGBM was run on the top 20 features, since prework was already done using the other models. Features outside that set are marked '—'. The difference between RF and LR tells us something about the nature of the relationship.
| Driver | RF | LightGBM | LR | Lasso | Signal type |
|---|---|---|---|---|---|
| careerstg · Career Shifter | ● High | ● High | ● Mid | ● High | Universal |
| salary_broader | ● High | ● High | ● High | ● High | Universal |
| sizeteam | ● Mid | ● High | ● High | ● Mid | Non-linear |
| sitework · WFH / Remote | ● Low | ● Mid | ● High | ● Low | Linear |
| ai_work · Daily | ● Low | ● Mid | ● High | ● Low | Linear |
| ai_study · Daily | ● Mid | ● Mid | ● Low | ● Low | Tree-led |
| datarole · Admin & Support | ● Low | ● Mid | ● Low | ● Low | Tree-led |
| how_long_in_salary | ● Low | ● Mid | ● Mid | ● Low | Moderate |
● High = mean |SHAP| ≥ 0.30 · ◐ Mid = 0.08–0.29 · ● Low = < 0.08 · — = not in top 20 tested by LightGBM
Click to view the SHAP beeswarm plot for each model. Each dot is one respondent, colored by feature value, positioned by its SHAP contribution to satisfaction.
A correlation heatmap of the key drivers shows within-group OHE (one-hot encoding) correlations. This is expected. No strong correlations exist in the off-diagonal space between driver groups. Each driver earned its place independently and can be discussed as a separate lever.
The DEP Survey 2026 Summary covers the complete survey analysis, plus findings for four audience segments — Students & Job Seekers, Career Shifters, Data Professionals, and DEP Community Leaders. This satisfaction drivers analysis links to the deepdive README on GitHub where the full pipeline code and SHAP output files are uploaded.
This survey captures what the data community itself reported. It cannot capture the full scope of satisfaction drivers, e.g., autonomy, advancement opportunities, psychological safety, and management quality. Those are equally real but harder to measure in a structured survey. The literature below covers these dimensions well.