CausalVerify - Difference-in-Differences: leaderboard

The difference-in-differences scenarios of CausalVerify (Zhang et al., 2026), 30 synthetic datasets with a known design. As in the full benchmark, the model writes R code from a research question, a data description and a preview of the data, the code is executed, and the treatment effect it prints must fall within 50 percent relative error of a canonical estimator run on the same data; pass rate in percent with one attempt per scenario, higher is better.

Metric: Execution-grounded pass rate (%; L2b+ over the 30 difference-in-differences scenarios; the model writes R code for a fixed-seed synthetic scenario from the research question, data description and a preview of the realised CSV; the code is executed and passes when the treatment-effect estimate it reports (read by a Claude Haiku 4.5 coefficient-extraction judge, event-study windows mapped to the canonical scale) is within 50% relative error of a canonical estimator applied to the same realised data; single-shot; the printed passes/30 count is read and converted to percent). Source: arxiv.org. Saturation forecast: Estimated already saturated. 7 models tracked.

Top models

#ModelScoreOverall rank
1Claude Opus 4.696.67#100
2GPT-4o83.33#741
3GPT-566.67#163
4Claude Sonnet 4 (20250514)66.67#386
5Gemini 2.5 Flash46.67#452
6O326.67#224

No result here: #1 Claude Fable 5.2, #2 Gemini 4 Carbon, #5 Claude Opus 5.5.

Interactive version: theaggregate.ai/benchmark?slug=causalverify-difference-in-differences · How It Works · Data refreshed daily, snapshot 2026-11-12.