Operating cadence

Three review tiers that never touch each other: weekly protects the forecast, monthly finds the pattern, quarterly plans the capacity. Here are the flags, the queries, and the build order.

GTM Operations guide

The last forecast call I inherited ran 95 minutes and produced one decision. Reps spent the first 30 arguing about whose number was right, because three of them had exported their own view that morning. By the time we reached the deals that mattered, the room was checked out. We were inspecting pipeline in week 10 of a 13-week quarter, which is an autopsy, not management. Clari’s phrase for it, and they are right. Coverage you check in week 10 tells you how the quarter died. It cannot change how it ends.

The fix was not a better meeting. It was three meetings that never touch each other, each answering exactly one question. Most orgs run one bloated call trying to clean stale deals, explain why stale deals keep appearing, and re-plan capacity in the same hour. Collapse those three altitudes and the tactical work always wins, so the pattern questions never get asked. Reps miss target by roughly the same percentage every quarter, and nobody in the room can say why, because the room never had time for why.

95 → 30 min
Forecast call after inspection moved out of it
42.7%
Average quota attainment, Q2 2025 (RepVue)
~30%
Of open pipeline stalled, no activity in 21+ days (Ebsta/Clari)

Three tiers, three questions, never merged

The weekly, the monthly, and the quarterly are not the same meeting at different frequencies. They inspect different data, they decide different things, and they answer to different people. A weekly review might clean ten stale deals. A monthly review should explain why those ten stale deals keep appearing. If the weekly keeps bailing water and the monthly never asks where the leak is, you clean the same ten deals forever.

Here is the split I write down before I schedule anything:

Weekly Monthly & Quarterly
Question Do we hit this period, and what moved since last week? Why do stale deals keep appearing? Do we have coverage for next quarter?
Altitude Deal and rep Segment, source, territory, capacity
Horizon This forecast period Trailing patterns and future periods
Data Daily snapshot diff, flagged deals only Cohort stage-conversion, source quality, forecast variance trend
Output Actions on specific deals Changes to definitions, routing, quota, coverage targets
A weekly review cleans ten stale deals. A monthly review explains why those ten keep showing up.

The three tiers form a loop, not a hierarchy. The weekly feeds evidence up (these deals stalled, this date slipped twice). The monthly reads the accumulated evidence and finds the pattern (a campaign stuffing the top of funnel with leads that never survive discovery). The quarterly turns the pattern into a plan (kill the campaign, reset the coverage target, adjust the segment quota) and hands new thresholds back down to the weekly. Break the loop at any point and the other two tiers degrade into theater.

The cadence loop Evidence flows up, decisions flow back down
Weeklyprotect the forecastflagged deals onlyMonthlyfind the patternwhy stale repeatsQuarterlyplan the capacitycoverage by segmentnew thresholds, reset targets, revised definitions
Weekly inspects, monthly explains, quarterly plans. Each tier hands its output to the next. The moment one tier tries to do another's job, the loop breaks.

The weekly protects the next forecast and nothing else

The weekly is deliberately narrow. Three things trip a flag, and everything else waits. When a rep opens “should we change the territory model” in a weekly call, I name the tier and defer it. That debate needs trailing conversion data I do not have in a weekly, so it belongs in the quarterly. Naming the tier out loud is the whole discipline. Do it every time or the strategic questions crowd out the deals closing Friday.

The flags are rules, not judgment calls, so inspection stays evidence instead of turning into opinion. The moment a stage rule is vague, inspection becomes an argument about whose read of the deal is right. Here are the three I run, and how I move the thresholds by motion:

FlagMid-market thresholdEnterprise thresholdWhat it means
Late-stage, no activity21 days30 daysThe rep believes it more than the buyer does
Stuck in discovery45 days60 daysIt never qualified; it is aging in place
Close-date pushed twice on Commit2 pushes2 pushesThe date is fiction; pull it out of Commit

Enterprise cycles run 6.5 months on average now, up from 4.9 in 2019 (Ebsta 2024), so a 21-day silence means less on a 180-day enterprise deal than on a 30-day mid-market one. Tune the threshold to the motion or the flag cries wolf. Toggle the chart to see the two threshold sets side by side:

Flag thresholds by motion
Same three flags, tuned for cycle length. A 21-day silence on a 30-day mid-market deal is loud; on a 180-day enterprise deal it is noise. Toggle the segment.
View as table
StageValue
Late-stage silent21 days
Stuck in discovery45 days

None of these three ask a manager to guess. Roughly 30% of open pipeline has had no activity in 21 or more days (Ebsta/Clari), so the late-stage flag alone usually surfaces a pile of deals the forecast is quietly counting on. Strip them and the coverage number drops. That is the point. The weekly exists to make the forecast honest before the forecast call, so the call decides instead of discovers. For the deeper version of that subtraction, see why 3x coverage lies to you.

Ship the flags as a query, not a slide

Flags only stay evidence if a machine computes them the same way every week. I run them off a daily snapshot diff so nobody is hunting live numbers in the meeting. The core inspection query, using last activity and not last edit, because a rep touching the record is not the buyer touching the deal:

SELECT Id, Name, StageName, Amount, CloseDate,
       LastActivityDate, Owner.Name
FROM Opportunity
WHERE IsClosed = false
  AND ForecastCategoryName IN ('Commit', 'Best Case')
  AND (
    -- late-stage, no activity in 21 days
    (StageName IN ('Proposal', 'Negotiation')
      AND (LastActivityDate = null OR LastActivityDate < LAST_N_DAYS:21))
    -- stuck in discovery past 45 days
    OR (StageName = 'Discovery' AND CreatedDate < LAST_N_DAYS:45)
  )
ORDER BY Amount DESC

The double-pushed close date needs history, not the current record. Pull the CloseDate transitions and count how many times it moved out on a deal that is still open and in Commit:

SELECT OpportunityId, OldValue, NewValue, CreatedDate
FROM OpportunityFieldHistory
WHERE Field = 'CloseDate'
  AND CreatedDate = LAST_N_DAYS:90
ORDER BY OpportunityId, CreatedDate

Group by OpportunityId, count the rows where the new date is later than the old, and any deal with two or more slips that still sits in Commit gets flagged. Freeze the whole set Friday night, distribute Monday 8am. If reps spend the meeting reconciling numbers, the cadence already failed and I would rather kill the call and send the diff.

The monthly asks the question the weekly never has time for

If I cleaned eight stalled discovery deals last week and I clean eight more this week, the weekly will bail water forever. The monthly is where I stop and ask why the water keeps coming in. I pull stage aging by source and find that one campaign is stuffing the top of funnel with leads that die in discovery at three times the rate of everything else. The weekly can only remove those deals one at a time. The monthly can turn off the tap.

This is the tier that reads accumulated weekly evidence as a distribution instead of a list. Stage aging by source. Conversion by segment against the prior three months. Which reps’ flagged deals actually recover versus which get quietly closed-lost a month later. The output is never an action on a deal. It is a change to a definition, a routing rule, or a source budget. When MQL and SQL and Opportunity mean different things to marketing and sales, the monthly is where that surfaces as a conversion cliff, and where the shared definition gets rewritten.

The quarterly plans capacity, and coverage lives here

Coverage is a capacity-planning metric, not a current-quarter forecast metric. That single reclassification fixes most of what goes wrong with it. In the weekly, coverage is an autopsy. In the quarterly, computed for the period that has not started yet, it is the most useful number in the room, because you still have a full quarter to build pipeline against it.

Required coverage is one divided by your win rate, computed per segment, not a flat 3x pasted across the whole org. At the 19 to 21% win rates B2B teams posted in 2025, down from roughly 29% the year before (Ebsta/Pavilion), a team quoting the old 3x rule is running at half the coverage it believes. Put your own open pipeline and next-quarter target in and see where the ratio actually lands:

Coverage for the quarter that hasn't started yet

coverage

Try

Below ~3x you are almost certainly going to miss unless win rates are unusually high. Above ~5x the number is either sandbagged pipeline or wishful staging. The healthy band is 3 to 4x.

coverage: 3.6x

The quarterly also ramp-adjusts capacity, which the coverage ratio alone will not catch. Twelve reps carrying a nominal $2.4M in Q1 are not carrying $2.4M if six of them are mid-ramp. At a 6-month ramp landing them near 50% productivity, that is closer to $600K of real capacity in the first quarter, and a coverage target built on the nominal number is fiction from the start. This is the tier that owns forecast variance trend too. Elite teams run sub-5% variance quarter over quarter (revopsmasters 2026), and the only way to know whether a cadence rebuild worked is to watch that number tighten over the second full quarter after you ship it.

What RevOps owns, and what it does not

I own the views, the definitions, and the action log. I do not own the deal. When a manager and a rep disagree on whether a deal is really Commit, I do not adjudicate the deal. I make sure “Commit” means the same thing on every screen and that the flag fired on the evidence. The instant I start coaching a specific deal, I stop being the neutral source everyone trusts, and every number becomes negotiable again. When teams debate which value is right, ownership is missing. My job is to end that debate so the org argues less about numbers and more about actions.

Here is who decides what, written down so nobody wonders which tier a question belongs to:

DecisionWeeklyMonthlyQuarterlyOwner
Is this specific deal Commit?InspectSales manager
Should this deal be stripped from forecast?Flag itManager, on the rule
Why do discovery deals keep stalling?DiagnoseRevOps + Sales
Is a lead source worth its budget?DiagnoseDecideMarketing Ops + RevOps
What is next quarter’s coverage target?SetRevOps + CRO
Does a territory need re-cutting?DeferDecideGTM Planning
One bloated call Three tiers, one loop
Length 95 min, one decision 30-min weekly + 60-min monthly + half-day quarterly
First 30 minutes Arguing whose export is right Pre-read frozen Friday, no reconciliation
Stale deals Cleaned weekly, forever Cleaned weekly, root cause killed monthly
Coverage Checked in week 10, an autopsy Checked for the next quarter, still actionable
RevOps role Adjudicating deals, losing neutrality Owns views, definitions, log; never the deal
The distance between these two columns is why the same ten deals keep showing up.

Here’s how I’d build it: the cadence build order

I stand these five up in order. Skip step three and the whole thing collapses back into the bloated call, because parallel spreadsheets always beat a shared view that nobody trusts.

The cadence build order
  1. 1

    1. Split the three questions on paper

    Write what the weekly, monthly, and quarterly each decide, and who owns each decision. If a question fits two tiers, it belongs in the higher one. This is the decision-rights table above; make yours before you schedule a single meeting.

  2. 2

    2. Ship the weekly flags as queries

    Late-stage no-activity, stuck-in-discovery, double-pushed close date. Compute them off the daily snapshot, tuned to your cycle length. A flag a human eyeballs is a flag that drifts into opinion.

  3. 3

    3. Freeze and distribute one pre-read

    Same view, same time, every week, frozen Friday night. One source. The moment three people bring their own export, the pre-read is dead and you are back to reconciling in the room.

  4. 4

    4. Log actions with owners and dates

    Open every meeting by reviewing last week's actions before anything new. If nobody ever reopens the list, everyone learns the list is theater and stops acting on it.

  5. 5

    5. Audit the cadence quarterly

    Any recurring meeting that has produced no behavior change in four sessions gets converted to an async report or killed. A cadence that only generates attendance is overhead wearing a calendar invite.

The deal desk runs on the same discipline: publish the rule in advance, inspect against it, never adjudicate in the moment. If you are building the approval side of this, see the deal desk guide for the discount matrix that keeps quarter-end exceptions off your inspection queue.

The bloated 95-minute call felt productive because the room was full and the conversation was loud. It produced one decision. Three tiers that never touch produce a decision every week, a diagnosis every month, and a plan every quarter, and the forecast call shrinks to 30 minutes because the arguing already happened in the pre-read. Split the questions, ship the flags, freeze the view. The quiet is the point.