Nobody puts “three months of duplicate licence cost” in the business case, so the overlap gets compressed until it is too short to do the one thing it exists for. Then a number disagrees in public in month five and the programme spends its credibility.

Budget the overlap. It is the cheapest insurance in the project.

What the overlap is for

Exactly one thing: proving the new numbers match the old ones, on content people actually use, with the old system still available to check against. Everything else about it is incidental.

ActivityNeeds both estates?Why
Reconciling numbersYes — this is the reasonYou cannot compare against a system you have switched off.
Working the review listYes“Is this difference expected?” needs the original to inspect.
TrainingNoReaders need none, and authors learn on the new estate.
Building new dashboardsNoBuild them once, in the new place. Anything else doubles the work permanently.
Keeping people comfortableNot a reasonThis is how an overlap becomes indefinite. Comfort is addressed by a date, not by an option.

An overlap with a reconciliation plan is insurance. An overlap without one is just two bills.

Reconcile properly, on a short list

The instinct is to compare everything and the result is that nothing gets compared carefully. Pick the dashboards people actually open — which, once you have counted, is a minority of what you own.

flowchart LR
    A["Everything you own"] -->|"opened in 90 days"| B["The real estate"]
    B -->|"opened by 3+ people"| C["Reconcile these,
cell for cell"] B -->|"one or two readers"| D["Spot-check"] A -->|"never opened"| E["Archive — do not
migrate or reconcile"] style C fill:#e6f7f2,stroke:#9fd8c9 style E fill:#f7f8fb,stroke:#d8dbe8
The archive branch is usually the largest and it is the one that shortens the overlap most — nothing is faster to reconcile than a dashboard you decided not to migrate.

For each dashboard on the short list: export a crosstab from the original, run the migrated one with the same filters, compare cell for cell. Not eyeballing the charts — the numbers.

When they differMost likely causeFrequency
Totals differ, breakdowns matchA filter that did not carry, or one that carried and should not have.Most common by far
One measure differs everywhereA calculation in the verify tier that needed the glance it asked for.Common
Differs only at period boundariesA date-interval semantic — DATEDIFF counting boundaries rather than elapsed time.Common, and always at quarter ends
Differs for some people onlyRow-level security that used to live in a calculated field and is now a policy — often the policy is more correct.Investigate; do not assume the old one was right
Row counts differA join grain. Rare, and the one worth escalating immediately.Rare and serious

The finding nobody expects

A meaningful share of differences turn out to be the old dashboard being wrong — a filter someone added for a one-off review in 2021 and never removed, a row-security rule that only applied to four of nine sheets. Budget time to investigate rather than to reproduce, because “make the new one match the old one” sometimes means reproducing a bug.

How it was computed
The how-it-was-computed panel showing the logical query as readable JSON, the SQL that ran, and the row returned
The reconciliation tool. When a number differs, this shows exactly what was asked — metrics, dimensions, filters — so the comparison is against a stated question rather than a guess about what the panel meant.

Nine of ten resolved inside a day. The tenth took half a day and was the most valuable finding of the whole migration: two people had been seeing data they were not entitled to, for an unknown length of time, because the old row-security rule lived in a calculated field that three sheets did not use.

Budget time to investigate, not to reproduce

“Make the new one match the old one” would have reproduced that bug faithfully. A meaningful share of reconciliation differences turn out to be the old dashboard being wrong — a filter added for a one-off review in 2021, a rule that only half applied. Those are findings, not defects.

Four rules that stop the overlap becoming permanent

  1. Set the end date before you start, and write it down. Not a target — a date on which the old estate goes read-only. Everything else negotiates against it.
  2. Freeze building in the old estate on day one. The single most effective rule here. If people keep building there, you are not migrating, you are maintaining two products. Exceptions need a name attached.
  3. Move readers first, in a block. They are the largest group, need no training, and carry most of the licence cost. Moving them is where the saving actually starts. Why they dominate the bill →
  4. Make the old estate read-only before you delete it. A month of read-only catches the quarterly report nobody remembered, at almost no cost, and it converts “can we keep it a bit longer” into a much smaller question.
HOW IT GOES WRONGThe overlap has no end date

Both estates run. People build in the old one because it is familiar. Six months later the migration is stalled, both bills are live, and nobody can say what is authoritative.

HOW IT WORKSA date, a freeze, readers first

The old estate is frozen on day one and read-only from a known date. Reconciliation happens against a short list. The licence saving starts in month one rather than month nine.

A realistic shape

PhaseOld estateNew estateCost
Weeks 1–2Live, frozen for new buildsDeployed; real workbooks importedBoth
Weeks 3–6Live, reference onlyDefinitions agreed and publishedBoth
Weeks 6–10Live, reference onlyReconciling the short list; policies setBoth
Weeks 10–13Read-onlyReaders moved; authors followingBoth, last time
AfterArchivedAuthoritativeOne
1 quarterthe honest overlap for a first tranche
Day onewhen building in the old estate stops
A short listwhat you reconcile, not everything
Read-onlythe month before deletion

Talking about it honestly

The version of this in a business case should say: we will pay for both for one quarter, and that quarter is what buys us the confidence that the numbers match. That sentence survives scrutiny. “Migration completes in six weeks” does not, and when it slips it takes the rest of the case with it.

If the duplicate cost is genuinely unaffordable, the answer is a smaller first tranche — one department, a dozen dashboards — not a shorter overlap. Reconciliation time is the last thing to cut.

What we would not promise

  • That a quarter is enough for a large estate. It is enough for a first meaningful tranche. A thousand-workbook estate is several of these in sequence.
  • That reconciliation can be automated today. Comparing against exported crosstabs is currently manual. It should not be, and it is the thing we would build next in this area.
  • That every difference will be explainable quickly. Some take a day. Those are the valuable ones, and they are almost always a filter.

The full sequence →  ·  Where the differences come from →

← All posts   Request a demo