Synthetic control · runs in your browser

Did the buyback move the price?

Pick a token that runs a buyback. The estimator builds a counterfactual out of a weighted blend of tokens that never ran one, fits that blend to the treated token's price path before the date you choose, and reports the gap that opens afterwards.

Then it does the same thing again pretending each donor was the treated one, so the gap can be read against the gaps you get by chance. The date is yours to move on purpose: sweeping it across every week in the window is what tells you whether a result at any single date means anything.

Pre-fit RMSPE

How well the blend tracked before the date. Large means nothing after it is interpretable.

Post/pre ratio

The effect size. Dividing by pre-fit is what makes placebos comparable.

Rank p-value

Share of placebos with a ratio at least this large.

Donors with weight

Simplex constraint drives most weights to exactly zero.

Gap from the synthetic counterfactual

Orange is the treated token. Every grey line is one donor put through the identical procedure as if it had been treated on the same date. If orange sits inside the grey bundle after the marker, there is no effect to report.

treated placebo donors treatment date

Where the effect ranks

The same estimate at every possible treatment date

Effect size computed at every candidate date in the window. Blue dashes are dates a protocol actually changed its buyback policy. Click anywhere to move the estimator there.

Donor weights

The counterfactual is this blend, and nothing else.

What the estimator is doing

Minimising ‖y_pre − X_pre w‖² subject to w ≥ 0 and Σw = 1, by projected gradient with Nesterov momentum and an exact projection onto the simplex. Both constraints matter: without them the fit becomes an unconstrained regression that interpolates anything and predicts nothing.

Inference is a rank test, not a parametric tail. With donors the finest achievable p-value is ; a smaller number would be precision the design cannot deliver.

This page was built expecting the opposite result. The draft copy here said the estimator would "happily report a large, tidy effect at dates chosen at random", because that is what post-hoc event studies usually do. Then it was measured, and it is not true of this one: the sweep is still computing…
The reason is the placebo bundle. A market-wide move lifts the treated token and every donor, so it inflates the placebo ratios by the same amount and cancels out of the rank. That is what a single-token event study cannot do, and it is why a null here is worth something: the method is not failing to find an effect, it is finding that there is not one to report.