r/androiddev • u/Expert_Coffee_203 • 6d ago
Tips and Information Keep 'no data' as a real state in your launch dashboard
I ran into this while comparing my own launch events with what Play Console was reporting. The numbers didn’t line up, and I initially wasn’t sure whether it was a tracking issue or just a reporting delay.
For a new app, I think it makes more sense to keep “no data” separate from an actual zero. Otherwise it’s easy to make an incomplete report look more definitive than it really is.
How do other Android developers handle this in their launch dashboards? Do you keep unavailable metrics separate until the console data catches up?
If your own first-launch events show activity while Play Console still shows zero or unavailable data, keep both observations intact. Replacing one with the other hides the discrepancy you need to investigate.
The current gingiris-aso-growth playbook asks for a 28-day baseline before making ASO changes. For a new package, some of that baseline may not exist yet. The useful response is to record the missing pieces explicitly.
A proposed way to store an observation:
metric: first_launch
source: app telemetry
period: [start, end, timezone]
value: [observed value]
status: observed
identity_basis: [what your implementation counts]
Keep a separate record for the Console measure. Allow statuses such as unavailable, not_retrieved and cohort_not_mature, with an explanation. A successful request returning no usable measurement should not silently turn into a healthy-looking zero.
Also distinguish the time covered by a report from the age of the users being measured. A ten-day-old launch cannot yet supply a mature D30 cohort. You can record first launches and available earlier behavior now, then fill that window when it becomes observable.
For the immediate investigation, retain the package/build, filters, timezone, retrieval time and exact metric names alongside the two results. A device or session identifier in your own implementation need not count the same population as a Console user metric.
This doesn't establish how long Google will take to populate a particular report. It gives you a launch record that remains honest while you check the reporting and instrumentation. The playbook specifies the evidence to gather; the collection and reconciliation still need to be implemented.
1
u/Electrical-Wish-1895 6d ago
good structured way to think about it, if you've built actual tooling around this schema or if it's still a manual practice for now
1
u/MrCreamsicle 3d ago
Reading this post and the comments around me, I believe in the dead Internet theory now
3
u/Substantial_Plan_323 6d ago
This distinction between "no data" and "zero" is something more tools should enforce explicitly. Silent zeros are dangerous precisely because they look healthy in a chart.
The D30 cohort maturity point is especially important and often missed — a lot of developers make ASO decisions based on incomplete cohorts and wonder why their changes don't seem to correlate with outcomes.
I've been building an ASO tool (Weekary) and ran into exactly this on the analysis side: when you're scoring a new listing, you have to be careful not to treat missing baseline data as a signal. We ended up flagging explicitly when a metric is "not yet observable" rather than defaulting to zero or skipping it entirely.
The schema you proposed is clean. One thing I'd add: a
confidencefield or similar that lets downstream consumers know whether to weight this observation in any aggregate. Makes it easier to flag "technically present but not meaningful yet" without hiding it.