Here's the claim: your reporting dashboard is not a lesser version of a predictive system. It is actively hostile to building one, and keeping both in the same architecture guarantees you'll never ship the second thing.
Most data teams treat this as a maturity spectrum. You start with reports, you add some trend lines, you sprinkle in a forecast, eventually you arrive at "predictive analytics" as if it's the next rung on a ladder. I think this framing is wrong and it's why so many well-funded, data-rich companies stay stuck at dashboards forever. Reporting systems and decision systems are not points on a continuum. They are different systems with different consumers, different failure tolerances, and different definitions of "correct." Bolting predictive outputs onto a reporting warehouse is like trying to add a nervous system to a skeleton — the skeleton was never built to carry signal, only structure.
The worked example
A mid-size subscription business, roughly 40,000 active users, was running a standard retrospective stack: nightly ETL into a warehouse, Looker dashboards on churn, MRR, cohort retention. Leadership could tell you that churn was 4.8% monthly. They could not tell you, on any given Tuesday, which of the 1,200 accounts renewing that week were actually at risk.
The team built a churn dashboard update in Q1 that took eleven weeks and produced this: a beautifully segmented view showing churn by acquisition channel, by plan tier, by tenure bucket. Genuinely well-crafted. Completely useless for the customer success team, who needed to know which 30 accounts to call this week, not which channel had 6% churn in aggregate last quarter.
Here's what happened when they separated the systems instead. They built a small, ugly, non-dashboarded scoring pipeline — logistic regression, nothing fancy, 14 features (login frequency delta, support ticket sentiment, seat utilization drop, invoice payment latency) — that output a daily risk score per account. Precision at the top decile was 71%; recall was lower, around 48%, and they were fine with that tradeoff because false positives just meant a CSM made an unnecessary check-in call, cost near zero.
The numbers that mattered: CS started calling the top 50 flagged accounts weekly instead of reacting to cancellation emails. Save rate on flagged at-risk accounts hit 34%, compared to a historical 11% save rate on accounts that reached out to cancel organically (by then it's too late — the decision is made). Monthly churn dropped from 4.8% to 4.1% over five months. That's not a dashboard insight. Nobody stared at a chart and had a realization. It was a standing pipeline making a call every single day, sized for one decision: call or don't call.
The critical detail is that this pipeline never touched the executive reporting layer. Different cadence, different consumer, different tolerance for being wrong. The dashboard still reported monthly churn in aggregate for the board deck. The scoring system fed a Slack channel and a CRM field. Two systems, two purposes, zero shared infrastructure beyond the raw event log they both read from.
The failure mode
Now here's where almost everyone gets this wrong on the second attempt, once they've seen a result like the one above. They try to generalize the win. Leadership sees "predictive scoring reduced churn" and asks for predictive scoring everywhere — predictive inventory alerts, predictive support ticket routing, predictive feature adoption flags — and hands it to the same team that built the reporting warehouse, with the instruction to "make the dashboards smarter."
This is the trap. The reporting warehouse is optimized for historical accuracy, auditability, and the ability to answer arbitrary ad-hoc questions from executives. It is built on batch jobs that run overnight, on schemas that get frozen for quarterly consistency, on the assumption that a number from March needs to match the number pulled for March six months later. A decision system needs the opposite properties: it needs to be wrong sometimes in ways that are cheap, it needs fresh signal even if noisy, and it needs to be judged on whether the downstream action it triggered was net positive, not whether the number itself is defensible in an audit.
When teams try to serve both needs from one architecture, you get systems that are too slow and rigid to act on, and too approximate to trust for reporting. Everyone ends up unhappy, and the org concludes that "predictive analytics didn't work here," when what actually failed was the decision to build one house with two incompatible sets of load-bearing walls. The churn model above worked specifically because nobody asked it to also produce the board's quarterly churn number. It had exactly one job.
The pattern repeats across nearly every "abundant data, no leverage" org I've looked at: nine dashboards, zero standing decisions being made by anything other than a person's gut plus a glance at a chart. The data is there. The architecture to convert it into a daily operational call — this account, this SKU, this support ticket, right now — simply doesn't exist, because it was never designed as a separate mandate.
If you're past the point of needing convincing that dashboards aren't decisions, and you want the actual blueprint for splitting these two systems — where the boundary sits, what the scoring layer needs that the warehouse doesn't, how to keep them from re-merging under organizational pressure six months later — I wrote the full architecture doc here: https://dasdorf.gumroad.com/l/tooayw
The short version of the mandate: stop asking your reporting layer to make decisions, and stop asking your decision layer to be pretty enough for a board deck. Build the second system on purpose, give it one job, and let it be a little ugly.
Top comments (0)