Every annual plan contains a number almost nobody can defend by the second quarter: budgeted renewals. It's the revenue you've assumed your existing customers will renew over the coming year — booked into the plan before a single renewal conversation has happened. It anchors your retention targets, your net new quota, and the growth story you tell the board. And it's usually the first number to come apart.
The problem is rarely that the assumption was wrong. The problem is that by mid-year, no one can say why it was wrong — or even whether it was. This piece walks through how a budgeted renewal number actually gets set, where the drift comes from, and what the gap between budget and actual is really telling you.
What "budgeted renewals" actually means
A budgeted renewal is a forward assumption: of the existing contract base coming up for renewal in the plan period, how much do you expect to retain?
It is not the same as a renewal forecast. A forecast is a living, bottom-up estimate that updates as deals progress and information arrives. A budget is a top-down commitment, set once at planning time and held fixed so you have a stable baseline to measure against. The forecast moves; the budget is the line the forecast moves around.
That distinction matters because the two get conflated constantly. When someone asks "are we on track on renewals?" they are comparing a forecast (or actuals) against a budget. If those two numbers were built off different bases, in different tools, by different people, the comparison is meaningless before you even start.
How the number gets set
There are three common methods, in rough order of sophistication.
1. Flat-rate off total base. Take the ARR up for renewal in the period, multiply by an assumed gross retention rate, done. If $4M is up for renewal and you assume 90% gross retention, budgeted renewals is $3.6M. Fast, defensible at a high level, and blunt — it treats a $2M strategic account and a $5K self-serve logo as identical risk.
2. Segmented rates. Split the renewing base into cohorts — by ACV band, by segment, by product line, by acquisition channel — and apply a different retention assumption to each. Enterprise might budget at 95%, mid-market at 88%, SMB at 80%. This is materially better because it reflects the reality that retention is not uniform, and it lets you build the number from patterns you've actually observed in your own history.
3. Bottoms-up by contract. For businesses with a countable number of renewals — most B2B SaaS below a few thousand customers — you can budget renewal-by-renewal. Each contract coming up gets an individual assumption: full renew, expected contraction, known churn risk, likely expansion. You sum them. This is the most accurate method and the most work, and it's the one that exposes a structural problem we'll come back to.
For most finance teams, segmented rates are the right altitude for a budget. Bottoms-up is where the forecast should live as the year unfolds. The trouble starts when the budget is built one way and the forecast another, off a base that no longer matches.
Setting the retention assumption
Whatever method you choose, the assumption itself should come from your own gross revenue retention (GRR) history, not an industry benchmark. Benchmarks tell you whether you're healthy; they don't tell you what your base will do next year.
Pull the last several periods of GRR, segment it the way you intend to budget, and look at the trend, not just the average. A book retaining at 91%, 89%, 87% over three years does not budget at the 89% average — it budgets at something south of 87%, because the trajectory is the signal. Then adjust for what you know about the specific year ahead: a concentration of large renewals in Q3, a price increase rolling out, a major account already flagged at risk. The base rate is the starting point; known specifics move it.
One discipline worth holding: budget renewals and expansion separately. Gross retention answers "how much of what I had do I keep." Expansion is a different motion with different drivers, and netting them into a single "net retention" budget hides exactly the movement you most need to watch. Budget the floor and the upside as two numbers.
Why it drifts
Here is the part every operator recognizes. You set a clean, segmented, well-reasoned budgeted renewal number in December. By June it's off, and the conversation in the room is not "here's precisely what moved" — it's "I think it's timing, but let me go check."
The drift itself is normal. Renewals contract, a flagged account churns, a renewal slips a quarter, an unexpected expansion lands. None of that is a planning failure. The failure is that explaining the drift requires reconciliation no one has time to do.
Consider why. Your budgeted number lives in the annual plan — a spreadsheet, built in December, off a snapshot of the contract base as it existed then. Your actual renewals live in the CRM, or the billing system, or a renewals tracker your CS team maintains. Your forecast lives in a third place. When budget and actual diverge, answering "why" means manually tying three representations of the same customers back to each other — and the base has moved underneath all of them since the budget was struck. Contracts were signed, amended, co-termed, and churned in the months between. The December base and the June base aren't the same set of contracts, so even a like-for-like comparison isn't actually like-for-like.
This is why the bottoms-up budgeting method exposes a structural problem rather than solving it. Budgeting contract-by-contract is the most accurate approach, but it only stays accurate if the contract records it was built on are the same records you measure actuals against. The moment your budget assumption and your renewal reality live in separate systems, you've guaranteed a reconciliation problem later — and reconciliation under time pressure, the week before a board meeting, is where trust in the number quietly dies.
What the gap is really telling you
When you can't explain a budget-to-actual renewal gap quickly, the honest read isn't "our renewals are unpredictable." It's "our renewal number and our renewal reality don't share a source." The variance is unexplainable not because the business is chaotic but because the architecture underneath the number is fragmented.
A budgeted renewal you can actually defend has three properties:
- It ties to specific contracts, not just a segment-level rate, so any movement is attributable to the accounts that caused it.
- It's measured against a base that tracks the same contracts over time, so a December assumption and a June actual are genuinely comparable even as the base evolves.
- It's reconstructable — you can show, at any point, what you assumed, what happened, and the exact contracts that account for the difference.
Most teams have none of the three, because the budget, the forecast, and the actuals were never derived from the same underlying record. They were three spreadsheets describing the same customers in three incompatible ways. The reconciliation problem isn't a discipline failure. It's an architecture problem.
That's the thesis behind HarborOS: when the budget, the forecast, and the actual all derive from the same contract record, a budget-to-actual renewal gap stops being an investigation and becomes a lookup. You don't reconcile three systems — there's one record, every view derives from it, and they agree by construction. The forecast isn't a quarterly rebuild; it's a query against the contract base that recomputes when a contract changes. The drift is still there, because drift is real, but now it's explainable in seconds, contract by contract, in a room full of skeptical people.