dfmchn_

field note · practice

why your dashboard turns red too late.

linear alerts on a non-linear process. the math of being surprised.

readout · churn under accumulating friction

churn time → dashboard alert threshold the gap you don't see latent fragility already climbing alert fires here (mid-cascade)
The metric holds flat, then fires past the threshold. The alert can only trip where the curve is already steep. Underneath it, the state (how close the population sits to its boundary) has been moving the whole time.

Every operator has lived this. Retention is flat. The cohort curves are holding. The satisfaction number is where it was last quarter. Then, inside a few weeks, a segment leaves, and the same board that read green the entire time turns red fast, and apparently out of nowhere. The post-mortem goes hunting for what broke in those few weeks. Nothing broke in those few weeks. The dashboard was late, and it was late for a structural reason, not a tuning one.

the shape of the thing

Defection is not a slope. The decision to leave, whether by a subscriber, a voter, or an employee, is a threshold event sitting on top of a slow accumulation. Friction builds quietly: a price drifts past worth-it, a competitor gets quietly better, the small indignities stack. Behaviour does not move while the friction builds. It holds, and holds, and then a boundary is crossed and the population fires. Drawn over time, that is a sigmoid: flat, flat, flat, a near-vertical climb, a new plateau. Our public Netflix analysis demonstrates this exact signature clearly: churn remains flat under a price increase before firing violently past the threshold, leaving the at-risk cohort highly legible in the public record weeks before a single cancellation is posted.

the instrument

A dashboard is a linear instrument pointed at a non-linear process. It reads a level (this quarter's churn, this week's actives) and it trips when the level crosses a line you drew. On a slope, that works: the alert fires partway up and you have room to move. On a sigmoid, the level is flat right until the inflection, so the line you drew is not crossed until the population is already in the steep part of the curve. The alert is real. It is also simultaneous with the cascade it was meant to precede. You did not get a warning. You got a timestamp.

the math of being surprised

The surprise lives in the higher derivatives. What you watch is a static level; what you need is its velocity and acceleration: how fast the latent friction is compounding, and how rapidly the population is closing on a cliff edge before the visible metric moves a single millimeter. Two populations can print the identical flat line this month: one robust, one a single shock from tipping. The observable is the same. The state is not. A dashboard cannot tell them apart, because the information that separates them was never in the transaction stream. It is upstream of behaviour, in the place the decision actually gets made: in the complaint, the comparison, the is this still worth it written out loud weeks before the card is cancelled.

A flat metric is not evidence of a stable population. It is evidence that the threshold has not been crossed yet.

the borrowed calm

The instinct is to refresh faster: real-time churn, daily cohorts, a tighter alert. But you cannot differentiate your way to a leading indicator out of a lagging one. Churn measured hourly is still the dead body, counted sooner. And the flat line is often being propped up by a temporary regime, not by loyalty: no competitor is promoting, input costs are stable, nobody has lately been handed a reason to re-decide. The board reads that borrowed calm as health. When the regime shifts through a price pass-through, a policy reversal, or a return-to-office mandate, the population that was already at its boundary tips, and the metric goes red "suddenly." It was never green. It was loaded.

the fix

To get ahead of a sigmoid you measure the state, not the outcome. That means reading the population where it deliberates instead of where it transacts: mapping the friction as it accumulates, uncovering hidden structural boundaries (like text changes in customer inquiries from troubleshooting to utility evaluation), and running the move against the population before you execute it to see where it fires. Furthermore, once a system slips past its threshold, non-linear forces trigger a hysteresis effect; the energy required to win a population back is far greater than the force it took to lose them. Stress test, don't monitor. The dashboard tells you what already happened to the crowd. The point is to know what the crowd will do while you can still choose differently.


Your dashboard isn't broken. It's a level meter on a process that only speaks in thresholds. Stop waiting for it to turn red; by the time it does, the red already happened.