A closer look at synthetic data in lending
Features are tangled together
Loan approval models rely on applicant features that depend on each other. Even without sensitive attributes, correlated features can still lead to unfair outcomes.
Five datasets, one pipeline
The original data against SMOTE, CTGAN, TVAE and Gaussian Copula, measured on ROC AUC, three fairness metrics and a Dependency Preservation Score.
The real data held up best
The baseline kept the relationships and the most stable fairness-utility trade-off. No synthetic method beat it.
Explore the study
Results
Every published number, method by method, with the spread across 10 runs.
→ ⚖️The fairness metrics
Drag two groups’ rates and watch Disparate Impact and Predictive Parity react.
→ 🕸️Dependencies
The real relationships in the data, computed live, and the Dependency Preservation Score.
→ 🧬Method and limitations
The pipeline from raw data to metrics, and everything the paper says it couldn’t do.
→ ✨Deluxe editionNEW
New follow-up experiments on the questions the paper left open.
→Pick a method and see how it did
Every number here is from the paper: the mean ± standard deviation over 10 runs with different random seeds. The faint marks on each scale are the other methods.
| Method | ROC AUC | Equalized Odds | Disparate Impact | Predictive Parity | Dependency Preservation Score |
|---|
The paper reports no formal significance testing, so the differences are trends rather than statistically confirmed effects. Under a robustness check (normalization, Gaussian noise, small hyperparameter changes and an out-of-sample 80/20 split), SMOTE had a Dependency Preservation Score of 0.6573, and CTGAN was sensitive to small hyperparameter and data-split changes.
What the fairness numbers mean
Move the sliders to build two groups and see how each metric reacts. The marks show where the paper’s three valid methods landed.
Disparate Impact
The ratio of desired outcomes (here, approvals) between the protected and unprotected groups. Closer to 1 means fairer.
Predictive Parity
The difference in positive predictive value between groups: of the applicants the model flags, how often it’s right in each group. Lower absolute differences mean better parity.
Equalized Odds
Measures differences in error rates (true positive and false positive rates) across groups. Lower values mean more equitable performance. The baseline scored 0.081 ± 0.007, SMOTE 0.118 ± 0.013 and CTGAN 0.102 ± 0.011.
Disparate Impact and Equalized Odds were computed mainly for personal_status_sex and foreign_worker; Predictive Parity and Equalized Odds for credit_history and employment_since. The first category of each attribute is the reference group for ratio-based measures.
The relationships synthetic data has to keep
The real relationships between the numeric columns in German Credit, computed live in your browser from all 1,000 applicants. Each cell is a Spearman rank correlation. Hover or tap a cell to read it.
Dependency Preservation Score
- For numerical features, Spearman correlation coefficients were computed for all feature pairs between the original and synthetic datasets, and their mean is the numerical dependency score.
- For categorical features, Cramér’s V was computed for all feature pairs, and its mean is the categorical dependency score.
- The final score averages the two. A companion measure, the Frobenius norm of the difference between the original and synthetic Spearman matrices, gives the overall distance; lower is better.
The heatmap covers the seven numeric columns only. The paper’s score also includes the categorical columns through Cramér’s V. Data: Hofmann, H. (1994), Statlog (German Credit Data), UCI Machine Learning Repository, doi.org/10.24432/C5NC77 (CC BY 4.0).
The pipeline
Limitations the paper names
- TVAE and Gaussian Copula failed. Both produced NaN for every metric because the synthetic data itself was invalid (for example constant columns, empty subgroups or undefined values).
- Small dataset. Models trained on 800–1120 samples and were validated on 200–280, so a few errors can move the fairness estimates.
- No significance testing. Results are means and standard deviations over 10 runs, so they should be read as trends.
- Imbalanced baseline. The baseline used the original 70/30 data while the synthetic methods were balanced, which is not a like-for-like comparison.
- Default generator settings. CTGAN and TVAE used default architectures and hyperparameters, with no tuning.
- One selected model. Results come from the single model AutoGluon selected (XGBoost).
- Messy attributes. foreign_worker is mislabeled in the UCI version, and personal status and sex are combined into one attribute.
- No privacy check. Privacy leakage, such as membership inference, was not measured.
Bottom line from the paper: for fairness-critical applications like loan approval, it may be safer to rely on the original data with fairness-aware preprocessing than on synthetic data generation, which introduces dependency distortions and fairness instability, albeit improving class balance.
Picking up where the paper stopped
New experiments on the open questions from the paper’s limitations and future work.
Running the study again, from scratch
The same five datasets, trained and tested again with XGBoost over the same 80/20 split design. TVAE and Gaussian Copula get another try with a current version of the SDV library. Published values are on the left of each pair; this re-run is in bold.
| Method | ROC AUC paper | ROC AUC re-run | Disparate Impact paper | Disparate Impact re-run | Equalized Odds paper | Equalized Odds re-run |
|---|
Does a balanced baseline change the story?
The paper notes its baseline trained on imbalanced 70/30 data while the synthetic methods trained on balanced data. Here the original data is balanced too, by class weighting and by plain random oversampling, with no new rows invented.
Disparate Impact for women vs men
Approval rate for women divided by approval rate for men, in each method’s model. The dashed line at 1 is equal treatment.
How much synthetic data can a model take?
Start with the real training set and swap a growing share of its rows for synthetic ones from each generator, keeping the size the same. At 100%, the model never sees a real applicant. Every model is tested on the same real held-out applicants. Points were measured at 0, 25, 50, 75 and 100%; the slider reads between them.
Original data with fairness-aware preprocessing
The paper concludes that real data with fairness-aware preprocessing may be the safer path. Here that is tested with reweighing (Kamiran and Calders), which weights each sex and outcome combination so the two are independent in training.
Which differences are more than noise?
Paired Wilcoxon signed-rank tests across seeds, each method against the original-data baseline. A ✓ marks p < 0.05. With this few runs and no correction for multiple tests, treat a single ✓ as a hint, not proof.
| Method | ROC AUC | Disparate Impact | Equalized Odds | Predictive Parity |
|---|
How much structure each generator keeps
Our implementation of the Dependency Preservation Score as the paper describes it (1 means the synthetic rows keep exactly the real relationships), measured on rows each generator produced.
Frobenius distance between the real and synthetic Spearman matrices (lower is closer):
Do synthetic rows sit too close to real people?
The paper didn’t measure privacy. A simple first check is the distance from each synthetic row to its nearest real training row, compared with how close genuinely new real applicants (the held-out set) sit. Much closer than real newcomers suggests copying.
Exact definitions used in the deluxe experiments
The whole study, in the journal
Published in NHSJS Reports, The National High School Journal of Science, and awarded a Gold CREST Award.