PostHog Max, Mixpanel Spark and Amplitude's AI agents let you ask funnel, retention and segmentation questions in plain English and get a chart in seconds. This playbook adds the three habits that make those charts safe to quote: inspect the generated query, check the date range, and reproduce one number manually.
Workflow area: Analytics & Experimentation · Tier: Core · Hands-on time: ~35 minutes
Natural-language analytics is the single biggest self-serve unlock for PMs since dashboards — and its failure mode is uniquely dangerous. A wrong SQL query errors out; a wrong NL interpretation returns a beautiful, confident, plausible chart of the wrong thing. The model heard "signup conversion" and measured "signup button clicks." Nothing looks broken. That is the analytics equivalent of hallucination, and the fix is a routine, not a tool.
Ask the question with entities pinned down. Vague questions produce plausible-but-wrong interpretations. Name the exact event, the exact segment, the exact window:
What is the conversion rate from `signup_completed` to
`first_project_created` within 7 days, for users who signed up
between 1 June and 30 June, split by plan type (free vs pro)?
Exclude internal users (email ending in our domain).
Compare that with "what's our signup conversion?" — the AI must guess the events, the window, the cohort and the exclusions, and every guess is a place to be silently wrong.
Open the generated query before you look at the chart. Every serious tool exposes it — PostHog Max shows the HogQL/insight definition, Mixpanel Spark shows the report configuration, Amplitude shows the chart definition. Read it against a four-point checklist:
QUERY INSPECTION CHECKLIST
1. EVENTS — are these the events I meant? (signup_completed,
not signup_started or Sign Up Clicked)
2. DATE RANGE — is it the window I asked for, in the timezone
I think it is? Watch for "last 30 days" silently replacing
explicit dates.
3. FILTERS — did my exclusions survive? Is it counting unique
users or total events? Any filter I did NOT ask for?
4. MATH — conversion of what over what? Funnel windowed how?
Strict ordering or any-order?
Reproduce one number manually. Pick the headline number and rebuild it with the tool's classic UI — a hand-built funnel, a manual insight, or a known-good dashboard that tracks the same metric. A real check looks like this:
AI answer: signup → first project, June, free plan: 31.4%
Manual funnel: signup_completed → first_project_created,
1–30 June, plan=free, unique users: 31.4% ✓
Verdict: matches — safe to use for exploration.
AI answer: pro plan: 58.9%
Manual funnel: 44.2% ✗
Diagnosis: AI funnel used any-order matching, counting users
who created a project BEFORE completing signup (SSO flow).
One reproduced number per session is the minimum bar. If it doesn't match, the discrepancy is the finding — diagnose it before asking anything else, because the same misinterpretation is probably contaminating every answer in the thread.
Interrogate the anomaly before you narrate it. When a result surprises you, resist the story-shaped explanation and ask the tool to decompose it: "break that spike down by source," "show the same metric for the prior period," "how many users is this segment, absolutely?" Small-denominator segments produce dramatic percentages from a handful of users.
Record what you verified when you share. One line under the chart: "Generated via Max; query inspected; pro-plan number reproduced manually against the activation dashboard." That sentence is what separates self-serve analytics from vibes, and it teaches your team the standard.
Purchase vs your order_completed is the most common silent failure.Product analytics data can contain user identifiers, emails and behavioral traces — use the AI features inside your analytics vendor's tenant where your DPA already covers them, and never export raw user-level data into a consumer chatbot to "analyze it there."
NL analytics gives you speed; the inspect-the-query, check-the-dates, reproduce-one-number routine gives you the right to be believed — a confident chart of the wrong metric is worse than no chart, because it ships upward unchallenged.