Ahmed Doghri Logo Image
Ahmed Doghri

tabflowmini

Synthetic tabular data is easy to fake. tabflowmini reports marginal fit, category drift, churn drift, and duplicate rate. Mean KS lands at 0.056.

tabflowmini, a tabular synthetic data generator

Fake Rows Need Real Checks

A synthetic table can look plausible and still be useless. It can match the means, ruin the categories, leak rows, or break the label relationship that made the table valuable.

tabflowmini fits a compact transport model over continuous columns, samples categorical marginals, regenerates the churn label, and then grades the result on more than one number.

Small Flow, Clear Failure Modes

The generator is inspired by flow matching, but implemented as a readable Gaussian transport. That keeps the repo dependency-free and makes the assumptions obvious.

The benchmark reports KS distance for continuous columns, plan distribution gap, churn rate gap, and rounded duplicate rate. It is a small audit harness, not a magic anonymizer.

The Number

Mean KS is 0.056. Plan gap is 0.040. Churn gap is 0.026. Duplicate rate is 0.000 on the checked fixture.

3 tests pass locally and on GitHub Actions across Python 3.9, 3.11, and 3.13, with metrics written to `artifacts/metrics.json`.

Tools Used

Python
Synthetic Data
Tabular Modeling
Flow Transport
Privacy Checks
pytest
GitHub Actions CI