Row grain
One row per account with first or achieved milestone state.
Decision supported
Select one transition and cohort for qualitative and instrumentation review.
Metric contract
Put the denominator and units beside the chart
Adapt these names to your contract while preserving the declared grain. Inspect the linked event schema before mapping fields from production producers.
- Signed-up accounts
- Sources connected
- First queries run
- Dashboards created
accounts %
Demonstration data, not a customer result or benchmark
Review the query before adapting the fields
This public query is a starting definition. Add a bounded time filter, complete-bucket policy, environment, and minimum volume appropriate to your production event contract.
WITH milestones AS (
SELECT
account_id,
MAX(CASE WHEN event_name = 'source_connected'
AND status = 'success' THEN 1 ELSE 0 END) AS connected,
MAX(CASE WHEN event_name = 'query_completed'
AND status = 'success' THEN 1 ELSE 0 END) AS queried,
MAX(CASE WHEN event_name = 'dashboard_created'
AND status = 'success' THEN 1 ELSE 0 END) AS dashboarded
FROM product_events
GROUP BY account_id
)
SELECT 'signed_up' AS step, COUNT(*) AS accounts FROM accounts
UNION ALL
SELECT 'source_connected', SUM(connected) FROM milestones
UNION ALL
SELECT 'query_completed', SUM(queried) FROM milestones
UNION ALL
SELECT 'dashboard_created', SUM(dashboarded) FROM milestones;Prove these before publishing the result
- Every milestone represents committed product state, not a UI click.
- The same pseudonymous account identifier is used at every step.
- Signup cohort and observation window are fixed before comparison.
Checks that keep the dashboard trustworthy
- Use one account-level row before counting funnel steps.
- Make each step denominator explicit when calculating conversion.
- Segment by cohort before attributing a drop to onboarding changes.
Interpretation boundary
What this result cannot prove by itself
A funnel describes observed milestones, not why accounts stopped. Pair it with qualitative research and segment by cohort before changing onboarding.
Related dashboard examples
SaaS health overview
Did account adoption, application reliability, or represented revenue change enough to require a deeper review?
Inspect exampleAPI reliability and latency
Which sufficiently busy endpoint has the broadest error or tail-latency regression?
Inspect exampleIncident customer impact
Which accounts and operations were directly represented in a declared incident window?
Inspect exampleValidate the definition with known data
Run a fixture with known success, failure, missing, duplicate, and boundary cases before connecting the query to a production dashboard or alert.