In November 2021, Zillow shut down Zillow Offers, took a write-down of more than $500 million, and laid off roughly a quarter of its staff. The company had been buying homes against price forecasts that looked precise on the screen. In the markets where the model was thin, the product still showed a number.
That is the lesson. The danger is not only that a model can be wrong. The danger is that software often shows a normal-looking number when it should say, plainly, "we do not know."
Growth teams see the same problem every week. A campaign row says 0 conversions. Did the campaign really convert nobody, or did the Meta sync fail? A channel says no revenue. Is revenue truly zero, or has Stripe not been joined to the visitor record yet? A CAC cell is blank. Is the metric unsupported, hidden, failed, or actually zero?
Those are four different situations. Most dashboards collapse them into one empty cell.
The Problem
When a tool cannot compute a value, it usually fills the space anyway. It shows zero. It shows a dash. It shows "no data." It leaves the cell blank.
That looks tidy, but it is unsafe. A verified zero is a business signal. A failed calculation is an operations problem. A metric that is not supported yet is a roadmap gap. A hidden value is a permission or privacy decision.
If the interface does not tell the difference, the operator cannot respond correctly. They pause campaigns that might be fine. They keep campaigns that might be broken. They spend time debugging a metric that simply has not shipped. They miss a real failure because the dashboard made it look like nothing happened.
Poor data quality is already expensive. Gartner has estimated that bad data costs the average organization $12.9 million per year, and IBM-backed research popularized by Thomas Redman put the U.S. economic drag from bad data at $3.1 trillion annually. The exact number matters less than the mechanism: bad decisions come from numbers people trust more than they should.
Why this is an operating problem, not a UI problem
A blank cell looks like interface design. It is really an operating contract.
If the product cannot tell the difference between a real zero and a failed metric, the team cannot assign the right next step. A real zero belongs to the growth owner. A failed metric belongs to operations or engineering. An unsupported metric belongs to implementation or product planning. A suppressed metric belongs to access, privacy, or governance. When all four look the same, nobody knows who owns the problem.
This is why dashboards often create meetings instead of decisions. The meeting is not about the business result. It is about the status of the measurement system.
In performance marketing, that ambiguity is expensive. A team may pause a campaign because a conversion cell says zero, when the real issue is a broken provider sync. Or it may keep spending because the revenue cell is blank, assuming the join is not ready, when the verified result is actually zero revenue. The same visual state points to opposite actions.
The four states
Every empty metric is one of four things.
Verified zero. The system measured the thing and the answer is truly zero. A campaign ran and produced no purchases. A customer placed no orders this month. A provider returned a valid response with a count of zero. This is the only case where showing 0 is honest.
Failed to compute. The system tried and failed. The API timed out. A provider rate limit was hit. A join key was missing. A required column was malformed. This should be shown as a failure with a reason and an action: retry, fix the mapping, reconnect the provider, or escalate.
Not yet supported. The product cannot compute the metric yet. Maybe spend ingestion is not built for that provider. Maybe revenue attribution depends on a connector the team has not enabled. The honest label is "awaiting analytics" or "not supported yet," not a fake placeholder.
Intentionally suppressed. The value exists but should not be shown. The cohort is too small. The user lacks permission. A privacy policy blocks the read. A value is redacted. The interface should say the value is hidden and why.
One empty cell cannot carry all four meanings. The product has to say which state it is in.
The new standard
Every metric should carry two values: the number and the reason the number can or cannot be shown.
That reason should travel through the whole path:
- the provider sync
- the event ingestion
- the identity join
- the metric calculation
- the permission check
- the UI cell
- the recommendation or decision that uses the metric
If the provider sync failed, the final dashboard should not quietly show a dash. If the metric is not supported for one channel, the recommendation engine should not treat that as a weak result. If the value is suppressed because the cohort is too small, the export should not reveal it by accident.
This is a small product rule with large consequences. It turns absence into information. It also makes automation safer, because a system that knows why a metric is unavailable can refuse to recommend, create an operations task, or route the issue to the right owner.
Why this matters in growth work
In e-commerce and performance marketing, the cost of a silent empty state shows up fast.
A paid social campaign can spend thousands of dollars before a team realizes the conversion API stopped sending matched events. A lifecycle flow can look like it produced no revenue when the real issue is that orders have not been joined back to email recipients. A landing-page test can look flat when the experiment exposure log failed on one variant. A dashboard can make a broken measurement path look like a bad business result.
The operator does not need a prettier blank state. They need to know what happened and what to do next.
That means the metric cell should carry both a value and an availability state. If the value is computed, show it. If it failed, show the failure. If it is unsupported, say so. If it is suppressed, explain the rule. Then route each state to the right owner.
What good systems do
Good systems preserve absence at the source. They do not wait until the UI to guess what a blank means. The ingestion job, metric calculation, and dashboard should all carry the same status.
Good systems also make the state actionable:
- A failed metric becomes an operations task.
- A not-supported metric becomes a product or implementation gap.
- A suppressed metric becomes an access or privacy event.
- A verified zero becomes a business signal.
That is not visual polish. It is how a team keeps bad data from becoming bad action.
What Lyberty does
Lyberty treats metric availability as part of the metric, not as a UI afterthought.
Each market metric carries an availability state: computed, no signal, unsupported, or suppressed. A channel without spend data does not show a fake CAC. A campaign with no attributed customers does not look the same as a campaign whose attribution job failed. A small cohort can be hidden without pretending the value is zero.
This matters because Lyberty is built for decisions: kill, scale, rebalance, promote a winner, or keep testing. Those decisions should only run on numbers the system can defend.
What to check in your own dashboards
- Pick the five metrics your team uses to allocate budget.
- For every blank, dash, or zero, ask which of the four states it represents.
- Find the metrics where the system cannot answer.
- Fix those first.
The goal is not to make every cell full. The goal is to stop pretending that every empty cell means the same thing.
Sources
- Zillow's home-buying debacle shows how hard it is to use AI to value real estate. CNN Business, November 9, 2021. https://edition.cnn.com/2021/11/09/tech/zillow-ibuying-home-zestimate
- SEC Charges Knight Capital With Violations of Market Access Rule. U.S. Securities and Exchange Commission, Press Release 2013-222, October 16, 2013. https://www.sec.gov/newsroom/press-releases/2013-222
- Identification and attribution of weekly periodic biases in global epidemiological time series data. Hayman et al., BMC Research Notes, February 2025. https://bmcresnotes.biomedcentral.com/articles/10.1186/s13104-025-07145-y
- Gartner Identifies 12 Actions to Improve Data Quality. Gartner Press Release, May 22, 2023. https://www.gartner.com/en/newsroom/press-releases/2023-05-22-gartner-identifies-12-actions-to-improve-data-quality
- Bad Data Costs the U.S. $3 Trillion Per Year. Thomas C. Redman, Harvard Business Review, September 22, 2016. https://hbr.org/2016/09/bad-data-costs-the-u-s-3-trillion-per-year
- Evaluation of Missing Data Analytical Techniques in Longitudinal Research: Traditional and Machine Learning Approaches. Cao et al., arXiv:2406.13814, June 2024. https://arxiv.org/abs/2406.13814
- Tackling the pandemic with (biased) data. Bansak et al., Science, October 2021. https://www.science.org/doi/10.1126/science.abi6602