trust

Why you can trust the numbers.

The fear with plain-English analytics is made-up numbers. So we made it impossible, three ways, and the third one is a test you can read.

smolanalytics cannot hallucinate your numbers, by construction. The AI never writes SQL that a model could get wrong: it calls exact, deterministic reports (funnels, retention, channels, web overview) that return the real computed number or nothing at all. Every answer ships a receipt showing which report ran and over what window, so you can open that report on the dashboard and get the same number. And it is not a promise, it is a CI test: on every build, an agreement test asserts the number you get over MCP is byte-for-byte the number the /v1 HTTP API returns and the number the dashboard renders. If any of the three ever diverge, the build fails and nothing ships. Competitors' AI layers generate queries and admit results may not match the UI; smolanalytics has no second query path that can drift, which is why the claim stays true.
01

Computed, not generated

Other tools' AI writes a query, runs it, and hopes it matches the dashboard, some even tell you it might not. smolanalytics never generates a query. Your question routes to an exact, deterministic report that returns the real number or nothing. There is no SQL for a model to get wrong, so there is nothing to hallucinate.

02

Every answer shows its work

Ask a question and the answer comes with a receipt: which report ran, over what window, and that you can open that exact report on the dashboard to check it yourself. No silent wrong-window answers, no invented figures.

you ▸ where do people drop off?
308 of 1035 users (30%) complete signup → activate → checkout. The biggest drop-off is at "activate", 416 users fall off there.
Computed by the funnel report over all recorded events, the same engine the dashboard runs, not generated by a model. A CI test asserts this number equals the dashboard's report, so it cannot be fabricated.
03

The test that keeps it honest

It is not a promise, it is enforced on every build. This is the header of the actual test, verbatim:

// The agreement test — CI enforcement of the product's core promise: the answer your
// AI gives over MCP is byte-for-byte the SAME computation the HTTP API returns and the
// dashboard renders. There is no second query path that can drift (competitors' AI
// layers generate queries and admit results "may not match the UI"; ours cannot,
// and this test is why that claim stays true forever). If a default, a window, or a
// boundary ever diverges between surfaces, this fails the build.

It seeds events, then asserts the number you get over MCP equals the number the /v1 API returns equals the number the dashboard shows, byte for byte. If any diverge, the build fails and nothing ships. read the whole test →

Common questions

How can it not hallucinate my numbers?

It doesn't write SQL a model might get wrong. Your AI calls exact, deterministic reports (funnels, retention, channels, web overview) that return the real computed number, or nothing. There is no generated query to be wrong.

How do I verify an answer myself?

Every answer shows a 'computed by' receipt: the exact report and the window behind it. Open that report on the dashboard and you get the same number. Nothing is a black box, and it never silently answers a different window than you asked.

What is the CI agreement test?

A test that runs on every build. It seeds events, then asserts the number you get over MCP equals the number the /v1 HTTP API returns equals the number the dashboard renders, byte for byte. If any diverge, the build fails and nothing ships. It's open source, you can read it.

What if I ask for a metric you don't have?

It tells you. Ask for MRR or churn without tracking those events and it says it doesn't invent metrics you haven't sent, then offers the closest real report. Naming what it won't fabricate is the point.

Ask the live demo, watch it show its work
no signup · or read the test

keep reading