Synthetic Control Methods Made Accessible
2025-10-02
The MLSYNTH App = point-and-click interface for causal inference
Wraps my mlsynth
Python package
Designed for:
Policy evaluation needs credible counterfactuals
Synthetic control (SCM) provides a flexible framework, especially when the parallel trends assumption of DID does not hold.
But today:
What are you really getting when you use the MLSYNTH App?
Convenience.
Many papers are hard to digest
Some take days of rereading (e.g. On Robustness of Principal Component Regression Anish Agarwal,Devavrat Shah,Dennis Shen & Dogyoon Song, 1731-1745)
Even relatively more straightforward ones (e.g. Li, Kathleen T. (2023). “Frontiers: A Simple Forward Difference-in-Differences Method.” Marketing Science 43(2):267-279. ) demand hours to read.
Code is fragmented
Some estimators exist only in replication files or are in fragile, unpackaged R/Python scripts
Some may be tied to Stata or MATLAB (paid software)
Rough estimates of time saved by MLSYNTH:
Estimator | Hours to Learn + Code | MLSYNTH Time |
---|---|---|
FDID | ~40 | Minutes |
FSCM | ~75 | Minutes |
RPCA | ~90 | Minutes |
SI | ~110 | Minutes |
Even trained researchers spend dozens of hours per estimator in the time that it takes to code and understand it.
For the average policy analyst or master’s student:
Multiply those hours by 2–4
Steep learning curve which demands solid stats, math, code, causal inference background
MLSYNTH App = simplifies this process.
Pay in Time
Learn Python and read the papers
Use mlsynth
source code directly
Pay in Money
Use the app
Skip the coding, focus on analysis
Either way, with the mlsynth app, you never pay in both.
Upload a panel dataset (unit, time, outcome, treatment)
Choose an estimator
Run the model → results visualized automatically
Download outputs for further analysis
Use MLSYNTH to save coding time — but still understand what each method does.