screenroveSCREENS WORTH STUDYING
← Field notes
Pattern study

Dashboard empty state: sample data vs honest zeros in 93 products

We read the dashboard empty state across 262 screens from 93 SaaS products: who fills charts with sample data, who shows honest zeros, and where checklists fit.

The dashboard empty state is the first screen most new SaaS users see: of the 262 dashboard screens in our dashboards wall, 109 (42%) are first-run or empty, and 68 of the 93 products we captured showed us at least one. When those empty screens still have a chart to fill, products split into two camps: fill it with labelled sample data, or draw the frame and print an honest zero.

Neither camp is wrong. But the details inside each one, from where the "sample" label sits to whether a rate reads 0% or a dash, decide whether a new user learns something or just feels behind. Here is what we found.

How often the dashboard empty state shows a chart at all

Less often than you might expect. Only 11 of the 109 first-run screens still draw a chart. Most empty dashboards drop charts entirely and lead with something you can act on: 48 of the 109 put an AI prompt box on the page, and plenty more lead with create tiles or a single "new" button.

The 11 that keep a chart are the interesting ones, because they had to decide what goes inside it. Four of them, Amplitude's home and three PostHog screens, fill it with sample data. The other seven, from Sentry, GitBook, Gumroad, Voiceflow, Dub and Resend, plot nothing at all. You can browse all 11 in first-run screens with charts.

Camp one: sample data, labelled

Amplitude does not wait for your events. A new workspace opens on "Explore sample product insights": a "Sample conversion funnel" at 98.7% and a Daily Active Users chart at 4.18k, down 7.25%. It looks like a working product on day one.

Amplitude: home with a sample conversion funnel at 98.7% and a DAU line at 4.18k under an Exploring a demo workspace notice
Two banners stack above the sample charts: a peach "Your organization doesn't have data yet" bar with Set Up Amplitude, and a blue "Exploring a demo workspace" notice with Connect Live Data. Captured 21 October 2026 · DesktopExplore reference ↗

The cost of realistic fake numbers is that you have to keep saying they are fake. Amplitude says it twice, in two banners with two different calls to action, before the first chart. Clockify does the same job with plainer copy: "You are currently using sample data to help you explore." appears in the blue trial bar at the top and again in a panel above the dashboard, with a bordered REMOVE SAMPLE DATA button.

Clockify: dashboard with a sample-data notice and a REMOVE SAMPLE DATA button above a teal daily bar chart
The exit is as visible as the data: REMOVE SAMPLE DATA sits on the same row as the notice, so you never have to hunt for how to clear the demo. Captured 22 October 2026 · DesktopExplore reference ↗

PostHog takes the most granular approach. Instead of one page-level banner, every chart tile carries its own small "Sample data" tag, paired with a copyable npx @posthog/wizard chip that installs the real thing. On its web analytics screen the result is a page that tells the truth and the fiction side by side: the KPI tiles read Visitors 0, Page views 0, Sessions 0, "vs. 0 prior", while the Unique visitors chart directly below runs on a tagged sample line.

PostHog: web analytics with zero KPI tiles above a Unique visitors chart tagged Sample data next to an npx wizard install chip
Real zeros on top, a tagged sample chart underneath. The install command sits inside the chart it would populate, not in a separate onboarding page. Captured 21 October 2026 · DesktopExplore reference ↗

Twenty, the open-source CRM, is the quiet case. Its "My First Dashboard" is filled with sample deals (an "11 Total" donut, pipeline bars from 84k to 118k), and the only disclosure is a sentence inside the welcome text widget: "Don't forget to replace the sample data with your own." Maze uses the same idea in a list: a "Demo Maze" study with a DEMO tag and 20 participants sits under the user's own draft study with 0.

Camp two: honest zeros, with the frame intact

The other camp shows what is actually there, which is nothing, but keeps the furniture so you can see what the page will become. Sentry's saved dashboard is the clearest example: six widgets in a 3x2 grid, each keeping its title and axes.

Sentry: six empty dashboard widgets with axes, a No data to plot message and a yellow Performance Score ring reading 0
One dashboard, four ways to say "nothing yet": flat lines at 0, "No data to plot. Try adjusting the filters.", "No results found for your query" and a yellow ring reading 0. Captured 21 October 2026 · DesktopExplore reference ↗

That inconsistency is worth noticing. On a brand-new project, "Try adjusting the filters" points the user at the wrong problem: the filters are fine, the SDK has not sent anything. Wrike does the same in a list widget, "Nothing to show... yet!" followed by "To see data here, change this widget's settings."

The rest of the honest-zero camp varies in how much it draws. GitBook's Traffic page shows three zero stat cards and an orange line flat at 0 from Sep 24 to Oct 21. Dub's Analytics card shows Clicks 0, Leads 0 and Sales $0 over a flat line, with a "Complete setup" pill in the corner. Gumroad's sales chart covers 9/22/2026 to 10/22/2026 but holds a single pink dot at "Today", on a dual axis that tops out at $0.02 and 2. Resend keeps a 15-day axis from Sep 18 to Oct 02 with nothing plotted on it.

Neon has the most informative zero we found. Its Postgres Monitoring chart is hatched end to end and labelled ENDPOINT INACTIVE in the legend, with one thin RAM spike where the database briefly woke. The hatching says "this was asleep", which is different from "this is broken" or "you have no data".

Neon: Postgres Monitoring chart hatched as ENDPOINT INACTIVE with a single RAM usage spike
An empty period gets its own legend entry, ENDPOINT INACTIVE, so a flat chart reads as a known state rather than a fault. Captured 21 October 2026 · DesktopExplore reference ↗

Zero is a count, not a rate

One detail separates careful empty states from careless ones. Resend prints EMAILS 0 next to DELIVERABILITY RATE 0%, and bounce and complaint rates of 0%. A 0% deliverability rate on 0 emails is technically undefined, and at a glance it reads like an alarm. PostHog prints "No data for this period" for Session duration and Bounce rate. Voiceflow prints Total conversations 0 but a plain dash for Resolution rate and Cost per conversation.

Words also work where numbers would mislead. Prezi's Analytics report has four cards and not one number: "No activity yet" three times and "No views yet" once. Cloudinary keeps its four usage tiles at 0 and 0 B but replaces each chart with "Not Enough Data. After you start adding and delivering assets, check back here to track your activity."

Voiceflow: analytics with Total conversations 0, dashes for rates, and the message No live conversations in the last 30 days. Tests don't count here.
The best empty-state sentence on the wall: "No live conversations in the last 30 days. Tests don't count here." It answers the question a builder who just tested their agent is about to ask, then offers Publish. Captured 22 October 2026 · DesktopExplore reference ↗

Checklists: rarer than charts, and they cheat a little

Setup checklists are less common than their reputation suggests. Only 24 of the 262 screens (9%) carry a checklist, from 11 of the 93 products, against 109 first-run screens overall. Where they appear, they nearly always start you with progress already made.

Deepnote's Getting started panel reads 2/5 completed beside a 3-minute product demo video. Gumroad's eight hand-drawn sticker cards ("Welcome aboard", "Make an impression", "Cha-ching", "Money inbound") open with the first two ticked, and the first one is simply "Make a Gumroad account." Lucidchart and Maze strike through finished steps rather than just ticking them: Lucidchart's Education center crosses out "Create first document", and Maze crosses out "Create a study", then swaps its pitch to "You're almost ready to recruit!"

Gumroad: Getting started grid of eight hand-drawn sticker cards with Welcome aboard and Make an impression already ticked
Two of eight cards are ticked before the user has made anything. Signing up counts as step one, so nobody starts at zero. Captured 22 October 2026 · DesktopExplore reference ↗

Wrike attaches a reward: its Quick start card says "Complete them all to get 1 month free!" with a progress bar at 20%. None of the other checklists above offer anything beyond the progress itself.

How we counted

We captured these screens in desktop browsers with research accounts between September and October 2026. A vision model recorded each screen's attributes, including whether it is first-run or empty, whether it shows a chart and whether it has a setup checklist; you can check each one on the screen's own page. The sample-versus-zero split above comes from opening every first-run chart screen and reading it. We record what we saw on brand-new accounts, not A/B tests, so nothing here says which approach converts better.

What to steal

To compare these side by side while you build, browse the getting-started dashboards or the full PostHog and Sentry collections. Or connect the Screenrove MCP server and ask your agent for "first-run dashboards with sample data" before you design your own empty state.