What would it have told you, and on which day?
Every analytics tool can describe your last quarter. Only one can tell you what you would have known during it. Run the same investigator with the clock moved back, one sweep at a time, and every finding comes back stamped with the day it would first have reached you.
smolanalytics backtest or GET /v1/backtest. It is possible because every report is a pure function of the raw event log — no pre-aggregated rollups, no sampling — so any question can be recomputed as of any past date. Each sweep sees only events that had already happened, and deploy markers are filtered to the sweep's own date, so a finding can never cite a release that had not shipped yet.Here it is, running on the demo right now
- 1 julopen rose 34% on 2026-06-27~480 people/mo4d to become conclusivecause not narrowed
- 1 julsignup fell 28% on 2026-06-27~300 people/mo4d to become conclusive92% of the loss is US.
- 4 julcheckout fell 33% on 2026-06-30~60 people/mo4d to become conclusive67% of the loss is macOS.
- 10 julcheckout rose 67% on 2026-07-06~120 people/mo4d to become conclusivecause not narrowed
- 13 julopen rose 28% on 2026-07-04~555 people/mo9d to become conclusivecause not narrowed
- 16 julopen rose 29% on 2026-07-06~600 people/mo10d to become conclusivecause not narrowed
run it on your own quarter: smolanalytics backtest · sweeps every 3 days here, daily on your machine
Why this is the only demo in analytics that cannot come back empty
Not because the tool is clever. Because of a measured prior about how software actually gets built.
Most shipped work does not move the metric it was built to move.
The gap that sells it is not the finding. It's the date.
The detection lag is printed, even though it flatters nobody.
Nothing is cherry-picked, and the same finding is reported once.
It cannot read forward, and that is tested in both directions.
Run it on your own quarter
smolanalytics backtest smolanalytics backtest --days 180 --step 2
Sweeps daily by default. Ends with the only question that matters: for each line, did you know, did you not know, or is it wrong?
GET /v1/backtest?days=90&step=1
Same code path, same defaults. Memoized for an hour, because it is an expensive exact answer rather than a cheap approximate one.
Questions
What is an analytics backtest?
Running your analytics against history you have already lived through, to see what it would have surfaced and on which day. smolanalytics re-runs the same investigator that runs today, once per step across a window, with the clock moved back each time — so each sweep sees only the events that had happened by that date. Every finding comes back stamped with the day it would first have been reported and the detection lag: how long the data took to become conclusive after the change itself.
How is this different from just looking at a chart of the last 90 days?
A chart shows you the past with today's knowledge. A backtest shows you what you would have KNOWN at the time, which is a claim about a specific day you remember. "On 14 June this would have told you checkout was broken, and you found out on 2 July" is checkable against your own memory. "Checkout dipped in June" is not a claim about anything.
Can it see the future while replaying?
No, and this is the part that decides whether the whole artefact is worth anything. Each sweep is handed only the events that occurred strictly before its own date, deploy markers are filtered the same way, and experiments that had not started yet are dropped. A finding dated before the change it describes, or a June regression attributed to a July release, would make every lag number a fabrication — so both are tested, in both directions: the future ship must not be named, and the ship that landed on the drop must be.
Why can smolanalytics replay history when other analytics tools cannot?
Because every report here is a pure function of the raw event log. There are no pre-aggregated rollup tables and no sampling, so any question can be recomputed as of any past date. Tools built on rollups cannot recompute a past day's answer independently — they can only read the rollups that already exist, which were written with whatever definitions were in force at the time.
Will the replay find something on my product?
Almost certainly, and that is not a boast about the tool. Microsoft's published measurement across thousands of controlled experiments found roughly a third of tested ideas improve the metric they were built to improve; Google and Netflix have reported closer to one in ten. Pendo's telemetry across 615 subscriptions found 80% of features are rarely or never used. Any real product's last quarter contains waste. The replay's job is to date it.
Does it report nothing if nothing happened?
Yes, and it says what it looked at. An empty replay reads "across the whole window there was no step change big enough to be worth telling you about", followed by the list of metrics it swept — so an honest empty is distinguishable from a broken run. A backtest that manufactures findings to look impressive is worth less than one that comes back empty, because the first thing a sceptic does is check a line.
How do I run it on my own data?
smolanalytics backtest, from the CLI, over whatever history you already have. It takes --days (default 90) and --step (default 1, meaning it re-checks daily) and prints each finding with the date it would have arrived. Over HTTP it is GET /v1/backtest?days=90&step=1. Both are the same code path as the live investigation, not a separate reporting mode built for demos.