(02) · WritingREV 1 · 6 Sept 2026

6min read · illustrative numbers

Numbers that add up and numbers that are right

A dashboard can reconcile to the last unit and still tell a different story every time you open it.

Three meetings in one week, same month, same database. In the first one August was up nicely. In the second it was flat. In the third someone pulled the "real" figure and it was down. Nobody had made a mistake. Every one of those numbers reconciled to its source to the last unit, and every one of them was a different number.

This is the thing I keep having to explain about dashboards, mostly to myself. A total that adds up proves that the query copied the table correctly. It says nothing about whether the table answers the question you think you asked. In ad sales the table almost never does, because "revenue of August" is not a fact. It is a choice, and there are at least four of them hiding behind that one cell.

Four choices pretending to be one number

Backfill. Delivery reports arrive late. A platform reconciles its impressions with a lag of a day, another with a lag of a week, and somebody's finance team enters a backdated order on the third of the month because the paperwork caught up. So the month keeps growing after it ended. The August you see on September 1 and the August you see on September 5 are both "August"; the second one is just bigger. If your dashboard overwrites itself every night, the first one no longer exists, and the person who quoted it in a meeting now looks like they made it up.

Start date versus report date. A campaign that starts on August 25 and runs for a month: is it August revenue? Sales say yes, obviously, it was signed and it started. Finance say about a quarter of it, because that is how much was delivered before the month ended. Both are correct. They are answering different questions, "what did we sell" and "what did we deliver", and a dashboard that shows one of them without saying which one is lying by omission.

Gross versus net. Gross lives in the CRM, on the order. Net lives somewhere else: after agency commission, after platform fees, sometimes only after the closing documents are signed, in a system the sales team does not open. The ratio is not a constant you can apply at the top. It varies by deal, by agency, by whether the client came direct, so the net month is not "gross minus a percent", it is a different table with its own lag. When two people argue about margin and one of them looked at gross, the argument is about the wrong thing.

Whose deal is it. "Revenue of the new business team" depends entirely on a rule nobody wrote down: does the deal belong to the person who opened the door, or to the person who signed the order, or half and half? The company total does not care. The team totals swing wildly. I have watched a team "miss" a quarter under one rule and "beat" it under another, with the same deals in the same month.

1 910
k · illustrative. Reading: whole budget of campaigns that started in August, gross, as of Sep 1. Enable JavaScript to switch attribution, basis and snapshot.

Fig. 1 — the same seven illustrative campaigns read by attribution, basis and snapshot date; the confidence bar shows how much of the figure is backed by a delivery report, and the dashed tail is planned August delivery that has no report yet. Net here is a fixed per-campaign ratio; in practice it has its own lag. Illustrative units.

Fig. 1 above is one illustrative dataset of seven campaigns. Flip the three switches and the month moves from under a thousand to two thousand. Nothing in the data changed. The spread between the smallest honest reading and the largest honest reading is more than a hundred percent, and every reading passes the reconciliation check.

Reconciling is not being right

A dashboard that reconciles has proved that it copied the database correctly. It has not proved that the database answers your question.

I used to treat reconciliation as the finish line. The total matches the CRM export, the export matches the ledger, done. What that check actually catches is broken joins and duplicate rows, which is worth catching. What it cannot catch is a definition. If the query counts by start date, the reconciliation will count by start date too, and the two will agree with each other forever while both drift away from what was delivered.

The failure is not that the number is wrong. It is that the number is unqualified. It sits alone in a big font, with no snapshot date, no basis, no attribution rule, and so it gets carried into a meeting as "August", where it collides with another unqualified "August" from a different screen. The argument that follows is never about the business. It is about which screen was open.

Caveats next to the number, not under it

What I ended up building, after enough of those meetings, is not a cleaner number. It is a number with its conditions attached, on the same screen, in the same eyeline, small but not hidden.

The reading is named. Not "revenue" but "campaigns started in August, gross, as of Sep 5". It is a longer label and it is ugly, and it ends arguments before they start, because the other person can see immediately that they were looking at a different reading.

The snapshot is frozen. Every night the dashboard writes a new snapshot and keeps the old ones. "August as of Sep 1" is a row that never changes, and next to the live figure there is a delta: how much the month has grown since the last snapshot. Backfill stops being a mystery and becomes a curve you can watch flatten. After a couple of months you know that this reporting source settles in three days and that one in ten, and you stop quoting a month before it settles.

The confidence bar under each figure is the part people find odd until they use it. The idea is simple: what share of this number is backed by a delivery report, as opposed to a plan or a booking? Under start-date attribution on the first of the month, a big chunk of the figure has not happened yet. The bar shows that. The report-date figure is smaller and, by construction, fully backed; the delivery the plan promises for August but no report has confirmed is drawn as a dashed tail outside the figure, a gap rather than revenue. Now the bigger number and the more certain number can sit side by side, and whoever is reading knows which one they are choosing.

The credit rule is a switch, not a setting buried in an admin page. If the rule is visible and changeable, it stops being political. People can see that the company total does not move and only the story does, which is exactly the point.

Closer rule: new business 90, accounts 990, total 1 080. Enable JavaScript to switch the rule.

Fig. 2 — six illustrative deals, four people; team revenue under three credit rules. The total never moves. Illustrative units.

What this costs

It costs screen space and it costs some vanity. A dashboard with caveats looks less confident than a dashboard with one huge number, and there is always someone who wants the huge number for a slide. Give them the huge number, with its label. The label is what protects them a week later when the month has changed.

It also costs a conversation you cannot skip: which reading is the house default. Someone has to decide whether the company talks about sold or delivered, gross or net, and from which day of the month a period is considered closed. It does not matter much which way that goes. It matters that it is written on the screen, so that everyone quoting a number is quoting the same thing, and so that the other readings are one toggle away instead of one report away.

The thing I no longer do is trust a figure because it reconciles. When someone quotes a month now, the first question is not whether the number is right. It is which number it is. Usually that is enough, and the meeting is shorter.

← all texts · next: