Skip to content

ahmeddoghri/tabflowmini

Repository files navigation

tabflowmini

Fake tables are easy. Fake tables that don't quietly ruin your churn model are the actual assignment. tabflowmini grades itself on the second one.

CI python deps license

Synthetic tabular data can look completely plausible and still be worthless. It can match the column means and ruin the category balance, or preserve the categories and quietly leak entire rows, or worst of all, break the exact label relationship that made the table valuable in the first place. tabflowmini fits a compact Gaussian transport model over continuous columns (the readable stand-in for rectified flow, no hidden neural net required), samples categorical marginals separately, regenerates the churn label from the synthetic features, and then actually checks all of that instead of declaring victory after one histogram looks close enough.

Run it

git clone https://github.com/ahmeddoghri/tabflowmini
cd tabflowmini
pip install -e ".[dev]"
python -m tabflowmini.benchmark

Verified benchmark

Generated locally with python -m tabflowmini.benchmark:

mean_ks          0.056
plan_gap         0.040
churn_gap        0.026
duplicate_rate   0.000

Mean KS distance of 0.056 across continuous columns, a 0.040 gap on plan distribution, a 0.026 gap on the churn rate the whole exercise exists to protect, and zero duplicate rows leaking straight out of the training set. This is a small audit harness, not a magic anonymizer, and it will tell you exactly which of those four numbers to worry about before you ship the synthetic table anywhere near production.

Research trail

Tests

pytest -q
ruff check .

MIT © Ahmed Doghri

About

Fake tables are easy. Fake tables that don't wreck the model trained on them are the assignment. Flow-inspired synthesis graded on marginals, drift, and duplicates.

Topics

Resources

License

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages