What Current Means on a Dashboard: The Metric That Reported 30.6% Instead of 9%

A dashboard reported a product's current discount at 30.6%. The real figure was 9%. That gap did not sit in a spreadsheet somewhere — it reached a recommendation, and the recommendation was that a price increase had effectively already happened and could be locked in.
Two independent errors produced it. Either one alone would have been enough.
Error one: a 28-day average labelled "current"
The metric was a trailing 28-day average, presented in a column headed as the present state.
A promotion that ended two weeks ago still contributes fourteen days to a 28-day average. So products sitting at zero discount today displayed somewhere between 5% and 13%, permanently, until the promotional days aged out of the window.
Nothing about the number was miscalculated. It was a correct 28-day average, and a 28-day average is not an answer to "what is the discount now". Those are different questions, and the column header claimed the second while the query answered the first.
This is the most common defect in business reporting, and it hides because trailing averages are genuinely the right tool for trend. They are the wrong tool for state.
Error two: the number was reconstructed instead of measured
The discount was not summed. It was derived — net revenue divided by one minus a discount ratio, backing out an implied figure.
Division by one minus a value is stable while that value is small and violently unstable as it approaches one. A single near-total-discount day — a giveaway, a staff order, a stacked code, a hundred-percent test — drives the denominator toward zero and sends the derived figure to infinity.
One such day in the window was enough to carry a genuinely 9% product to 30.6%.
A derived metric inherits every pathology of its inputs and adds its own. If the number can be summed directly, sum it directly.
Why it survived review
Not because nobody looked. Because 30.6% is a plausible discount. It is in the range a real promotion occupies. Nothing about it triggered suspicion.
And it supported a conclusion that was pleasant to reach — that margin had already recovered and the hard decision was behind us. A number that agrees with the story in the room gets a fraction of the scrutiny of one that contradicts it. That asymmetry is not an intellectual failing, it is how everyone works, and the only defence is a check that runs regardless of whether the result feels right.
What the metric should have been
- A direct sum over an explicit short window. Total discount divided by total gross, over the last seven days, computed from the transaction rows. No modelling, no reconstruction.
- The window printed in the interface. "Discount, last 7 days" is a different claim from "Discount" and readers treat them differently. An unlabelled window is read as now, always.
- Trend as a separate column, explicitly. Current next to 28-day average next to prior period. Three labelled numbers beat one number carrying three meanings.
- Outlier days visible, not silently smoothed. If one day is distorting the figure, showing the count of excluded rows preserves the reader's ability to disagree with you.
- A cross-check against the source system. Every commerce and ad platform reports its own recent-window numbers. If your dashboard disagrees with the system the data came from, your dashboard is wrong until proven otherwise.
Every "current" number in your business has this problem
Once you look for it, the pattern is everywhere. In each of these, the phrase in the report is present-tense and the calculation is not.
- Current cost of acquisition. A trailing 30-day figure that still contains last month's test budget and the creative you already killed.
- Current average order value. Distorted by a single wholesale or corporate order that has nothing to do with retail behaviour.
- Current churn. Usually a rate over a window long enough that the cohort composition has changed inside it.
- Current conversion rate. Sessions and orders divided over the same window, when the two are attributed on different clocks.
- Current return on ad spend. The average of a period containing both a scaling phase and a paused phase, describing neither.
The tell in every case: the number moves smoothly when the underlying reality moved sharply. If you turned a promotion off on a Tuesday and the metric drifted gently over three weeks, the metric is not measuring the promotion.
The protocol
- Define the window for every present-tense number, and put it in the label. If you cannot state the window, you do not know what the number means.
- Prefer a direct sum to any reconstruction. Reconstruct only when the direct measure genuinely does not exist, and mark it as derived where it is displayed.
- Check the stability of your own formula. Anything with a subtraction in the denominator needs a stated behaviour as that denominator approaches zero.
- Reconcile against the source system's own recent-window figure before the number is allowed into a decision.
- Test with the sharpest real event you have. Pick the day a promotion started or ended and confirm the metric moves on that day. A metric that cannot see a hard edge cannot see anything smaller.
The most dangerous word on a dashboard
It is current. Nobody defines it, everybody reads it as now, and it is usually an average over a period long enough to contain the exact change you are trying to evaluate.
An operator running on trailing averages is steering by where the business was, in a fog thick enough to feel like clarity. The fix costs nothing: name the window, sum the rows, check it against the source.
Then the number on the screen is the business, and not a memory of it.