Weekly RevOps Dashboard Template
Every shared number computed twice over a closed quarter, and coverage measured against the gap at each segment's own win rate.
Free download · No account needed
Q4 2025, same object, same filter, same formula. Read eight weeks apart.
Nothing was miscalculated and nobody did anything wrong. Two and a half points of attainment, and it is not a one-off: the same comparison drifts 2.21%, 2.66% and 2.65% across the three quarters tested.
When a weekly view and a monthly view disagree, the fix proposed is always the same: write the definitions down and agree them. It does not work, because the argument is rarely definitional. The weekly view reads live state, the monthly view reads a period close, and the fields underneath stay editable after the period ends. Same object, same formula, two answers. Billing reporting already marks that distinction, colouring open periods differently because their figures keep moving until the period closes. A CRM period never closes, so nobody marks it.
Kelbourne Systems closed Q4 2025 at $7,920,000 against an $8,400,000 quota. Recomputed from a live export on 20 February, the same quarter reads $8,130,000. Three ordinary things moved it. Amounts get corrected after signature. Deals get reopened and re-closed. And moving a deal into a closed stage sets its close date to today rather than to the signature date, so ops corrects those dates afterwards, which moves revenue between quarters that were already reported.
So this pack starts with a test instead of a definition. Every metric both views show gets computed twice over the same closed quarter and the drift gets published. Eleven went in: three held still, five restated, three could not be recomputed at all. All three survivors came from the billing ledger, because finalising an invoice makes its amount fields immutable and corrections arrive as separate dated credit notes. It pairs with one definition per metric and a same-day answer when two reports already disagree.
What the pack does that a dashboard template does not
Computes every shared number twice and publishes the drift
Once from the snapshot taken at the period close, once from live state today, across three consecutive closed periods. A metric that returns the same answer both ways is allowed on both views. Everything else is assigned to one.
Decomposes the drift into vectors with owners
Amounts edited after close, close dates corrected back into the period, deals reopened and re-closed, currency revalued. Each has a different cause and a different fix, and a drift figure with no vectors named is a curiosity rather than a finding.
Separates not recomputable from restating
A restating figure gives a different answer at a different as-of. A not-recomputable one cannot be derived from a live export at any as-of, because the export holds one state and it is today's. Those two need opposite handling.
Measures coverage against the gap, not the quota
Closed business already covers part of the quota by week seven, so the denominator is what is left. And the required multiple is the reciprocal of that segment's own win rate, which ranged from 2.04x to 3.22x on the worked example.
Tests every shortfall against the cycle length
Enterprise short by $747,826 with a 94-day median cycle and 42 days remaining cannot prospect its way out, so the prescription flips from build pipeline to work the open book. Most dashboards do not carry the comparison that reveals it.
Refuses to let a metric be settled on one clean period
Three consecutive periods, because the vectors are seasonal. Close-date corrections cluster in the fortnight after a close, so a single quiet period will pass a metric that fails the next one.
How the pack runs
- 1
Send the exports
An opportunity or deal export, billing or product revenue data, quota by segment, and any period-close snapshot you kept. A dated board slide counts as a snapshot.
- 2
Run the test on closed periods
Three of them, not the current one. Each shared metric computed from the close basis and again from live state, with every nonzero difference decomposed into its vectors.
- 3
Assign each metric to a view
Settled figures to both views with no as-of. Restating figures to one view with an as-of stamp and a restatement column. Not-recomputable figures to whichever view can take them live.
- 4
Build the coverage arithmetic
Win rates and cycle lengths from the stage history, coverage per segment against the remaining gap, and one decision per segment for the week rather than a number per segment.
Frequently asked questions
Why does closed-won move after the quarter ends?
Three reasons, and none is a mistake. Amounts get trued up after signature. Deals get reopened and re-closed. And the close date is stamped with the day somebody moved the card rather than the day of signature, so ops corrects it afterwards. That was the largest vector at $318,000 across five deals.
What actually happens to a deal that gets reopened?
Worth walking one through. Closed won 18 December at $218,000. Moved back to an open stage on 14 January, which does not change the close date, so it kept counting toward December while sitting open. Re-closed 4 February at $142,000, which rewrote the date. Q4 lost $218,000 and Q1 gained $142,000.
Why do the settled metrics all come from billing?
Because a billing ledger makes you append to history and a CRM lets you edit it. An invoice is editable only as a draft, finalising it locks the amount fields, and a later change has to be issued as a credit note. A credit note is a new dated event, so it lands in its own period and leaves the original alone.
Is three times pipeline coverage really wrong?
Wrong twice over. The denominator should be the remaining gap rather than the quota, because closed business already covers part of it. And three times asserts a 33% win rate. Measured, the three segments here run 31.0%, 38.1% and 48.9%, so they need 3.22x, 2.63x and 2.04x. One rule tells at least two of them something false.
Can we just use the stage probabilities in our CRM?
Those are starting values, not measurements. A default pipeline ships with a probability on each stage and a weighted amount computed from it, typically 40, 60, 80 and 90 percent. The measured rates here are 18.6%, 30.5%, 47.9% and 79.4%, and the difference overstates the forecast by 69% of the gap.
We never kept a period-close snapshot. Can we still run this?
Yes, with a proxy. Any figure published in the first week after a close with a date attached works as the close basis: a board deck, a QBR slide, a forecast submission, an email. Where nothing exists the metric is untested rather than settled, and a driver map is the better place to start.
How is this different from specifying a dashboard?
Specification comes first and answers what to build and who opens it, which is what a dashboard spec is for. This pack answers what the numbers are allowed to say once it exists. It pairs with settling which system is authoritative per field when two sources feed one view, and with the weekly business review pack when nobody decides anything.
Find out which of your numbers hold still
Send an opportunity export, your billing data and any dated snapshot from a closed period, and get the drift measured metric by metric.
Get the template