Looking for a CFO? Learn more here!
All posts

SaaS Revenue Forecasting Model in Excel

A single Excel workbook ties MRR, bookings, churn, expansion, pipeline, rep ramp, and cash into a trustworthy 24–36 month SaaS forecast.
SaaS Revenue Forecasting Model in Excel
Copy link

If I want a SaaS forecast I can trust, I need one Excel file that links MRR, bookings, churn, expansion, pipeline, rep ramp, and cash. That gives me a 24- to 36-month view of revenue, burn, and runway without mixing sales output with P&L revenue.

Here’s the short version:

  • I start with current MRR
  • I add new MRR from pipeline and sales capacity
  • I subtract churned MRR
  • I add expansion MRR
  • I turn ending MRR into ARR with MRR × 12
  • I keep bookings separate from recognized revenue
  • I use cohorts if I want retention by customer age instead of one flat churn rate
  • I connect forecasted revenue to gross margin, expenses, burn, and cash runway
  • I test base, best, and worst cases before I use the model for hiring or fundraising calls

A few numbers make the point fast. A $24,000 annual deal books $24,000 on the close date, but it adds only $2,000 MRR and is recognized over the contract term. And if I begin with $80,000 MRR, add $8,000 new MRR, lose $2,400 to churn, and add $1,552 in expansion, I end the month at $87,152 MRR, or $1,045,824 ARR.

What this article shows me: how to set up the workbook, what inputs to gather, how to build the MRR engine, how to use pipeline and rep ramp, and how to turn that into a cash view I can review every month.

Underlined takeaway: <u>a good SaaS forecast is not just a sales model or an accounting model - it ties both together in one monthly view.</u>

How I Forecast SaaS Revenue (My Exact Model & Process After 1,000+ Forecasts) | The SaaS CFO

Set up the Excel workbook and forecast timeline

Excel

Before you write a single formula, put the workbook in order. A clean model keeps inputs, calculations, and outputs separate, which makes the logic much easier to check. If someone else opens the file, they should be able to follow it without digging through random tabs and hard-coded cells.

Create the key sheets and input tables

Set up six sheets and place them left to right from inputs to outputs:

Tab name Purpose
01_Inputs_Assumptions All inputs and assumptions
02_MRR_Build Monthly waterfall: new, expansion, contraction, churn, ending MRR
03_ARR_Bookings ARR, bookings, and revenue recognition outputs
04_Cohorts_Retention Cohort-level MRR with retention curves by tenure month
05_Pipeline_Sales_Ramp New MRR from pipeline and rep ramp schedules
06_Cash_Runway Revenue into P&L, burn rate, and ending cash balance

On the Inputs_Assumptions sheet, give each driver its own row with four columns:

  • Driver Name
  • Value
  • Unit
  • Notes

For example, you might enter Starting MRR = $125,000/month and Logo churn = 2.5%/month. This setup keeps each assumption in one place, so when you update a single cell, every downstream sheet updates with it. No digging around for buried numbers inside formulas.

Format each input table as an Excel Table with Ctrl+T. Then use named ranges or absolute references so assumptions always point back to one source cell.

Build a clean monthly timeline and formatting standard

Create one monthly timeline across the top of each calculation sheet, using one column per month. In cell B3 of MRR_Build, enter =DATE(2027,1,31) and format it as m/d/yyyy, so it shows 1/31/2027. In C3, enter =EOMONTH(B3,1) to return 2/28/2027, then drag that formula across 24 to 36 columns.

Name that range Month_End_Dates so the other sheets can use the same timeline instead of rebuilding it again and again.

Keep every calculation on a monthly basis. Once you start mixing weekly and quarterly timing into the same model, things get messy fast, especially when you're trying to tie MRR back to cash runway.

For formatting, keep it simple:

  • Light blue for inputs
  • White for formulas
  • Light green for linked values

Also add a version box with the model version, last updated date, and owner.

This setup makes the workbook much easier to audit during funding and lender diligence. With the structure and timeline in place, the next step is building the monthly MRR waterfall.

Build the revenue engine: MRR, ARR, bookings, churn, and cohorts

SaaS Churn Modeling Methods: Which Fits Your ARR Stage?

SaaS Churn Modeling Methods: Which Fits Your ARR Stage?

With your workbook set up and your timeline ready, it’s time to build the formulas that drive the forecast. This part has three pieces: the MRR waterfall, the bookings schedule, and cohort-based retention.

Calculate monthly MRR and ARR in Excel

Start with the monthly waterfall:

Ending MRR = Starting MRR + New MRR − Churned MRR + Expansion MRR

Use month-end values across the board. On your 02_MRR_Build sheet, create one row for each part of the formula and one column for each month.

Here’s a simple example: $80,000 starting MRR + $8,000 new MRR − $2,400 churn + $1,552 expansion = $87,152 ending MRR. ARR would be $1,045,824.

A small but important point: apply expansion only to retained MRR. And use ARR = Ending MRR × 12 as a run-rate view, not GAAP-recognized revenue.

Model bookings separately from recognized revenue

Now split what gets sold from what gets recognized. They’re not the same thing.

A $24,000 annual contract books $24,000 when it closes. But its monthly run-rate MRR is $2,000, and revenue gets recognized over the contract term.

Set up a separate contract-level schedule tab where each row is one contract. Then spread the monthly recurring amount across the contract term with an IF formula tied to your monthly timeline. Sum each month’s column to get total recognized revenue for that period.

View Primary focus Most useful for
Bookings schedule Booking date, contract term, TCV, upfront cash Sales performance, cash planning, board updates
MRR schedule New, expansion, churned MRR, ending MRR, ARR Valuation, unit economics, scenario planning

Keeping these separate makes life a lot easier. Sales reporting stays clean, and revenue recognition does too.

Improve accuracy with cohort retention and expansion

A single churn rate can work early on. But it starts to fall apart once your data gets deeper.

New customers often churn more than customers who’ve been with you for 18 months. So if you use one flat monthly churn assumption, the forecast can drift as the customer base ages.

That’s where cohort modeling helps. On your 04_Cohorts_Retention sheet, group customers by acquisition month. Put acquisition months in rows and tenure months in columns. Use SUMIFS to pull retained MRR by cohort and tenure month, and COUNTIFS to track logo retention.

The goal is to build a retention curve that feeds the MRR waterfall. Instead of using one churn number for everyone, you get a retention curve for each cohort.

Method Accuracy Data needed Complexity Best fit
Single-rate churn Low Minimal Low Pre-$500K ARR
Cohort-based churn Medium–High Customer-level acquisition data Medium $500K–$5M ARR
Cohort + expansion High MRR by customer per month Medium–High $3M–$10M ARR

Recent private B2B SaaS NRR has moved closer to 100%, so expansion doesn’t always cover churn anymore. Model expansion on its own. Don’t bake in the assumption that it will cancel out churn.

Cohort-plus-expansion modeling makes that shift visible before it turns into a cash problem.

With retention in place, the next step is turning pipeline and rep capacity into new MRR.

Connect revenue to pipeline, sales ramp, and cash runway

The MRR waterfall tells you where revenue sits today. This part connects that view to pipeline, hiring plans, and runway so the forecast reflects what’s happening in the business.

Convert pipeline into new MRR with close-rate assumptions

Start by pulling open opportunities from your CRM into a separate Pipeline sheet and updating it every week. Use one row per deal. At a minimum, include expected MRR, sales stage, stage probability, and expected close date in MM/DD/YYYY format. Then add two formula-based columns: Weighted MRR and close month.

Weighted MRR is simple:

deal MRR × stage probability

From there, use SUMIFS to group weighted MRR by close month and send that number into the New MRR from pipeline row in your monthly forecast.

Weighted pipeline should be your main forecast input. Top-down and capacity-based models still matter, but they work best as sensitivity checks. After that, layer in rep ramp so the model reflects both when deals may close and how much selling capacity the team actually has.

Add sales ramp assumptions for new reps

New reps don’t hit full output on day one. A common ramp curve looks like this: Month 1 = 25% of quota, Month 2 = 50% of quota, Month 3 = 75% of quota, Month 4+ = 100%. For mid-market roles with longer sales cycles, ramp usually takes longer. Some teams model 25% for months 1–3, 60% for months 4–6, then 100% from month 7 onward.

Set up a Sales Capacity sheet with one row for each rep. Include:

  • Hire date
  • Full monthly quota
  • Ramp percentage for each month in the forecast

Then calculate each rep’s effective quota by month as:

full quota × ramp percentage

Add those effective quotas across all reps to get total capacity-based bookings for each month. When you plug in a planned hire, the model shows exactly when that person starts to contribute and how much that changes your MRR path. That’s useful because hiring can look great on paper, but the timing is what makes or breaks the plan.

Feed those bookings into the cash model.

Once forecasted MRR is in place, build a P&L and Cash sheet around this chain: Revenue → Gross Margin → Operating Expenses → Burn → Runway.

Start with your gross margin assumption and apply it to forecasted revenue. Then model COGS, including hosting, third-party tools, and customer success costs. That gives you gross profit dollars each month.

Next, subtract operating expenses by category:

  • R&D
  • Sales & Marketing
  • G&A

What’s left is monthly operating burn. Set a starting cash balance, then subtract monthly burn to calculate ending cash. Runway can be shown in one of two ways: Cash balance ÷ average monthly burn, or as the month when ending cash hits zero.

This is where revenue timing turns into cash timing.

Phoenix Strategy Group helps align revenue forecasts with accounting, KPI, and cash data.

Stress test the model and review the decisions it supports

Build base, best, and worst-case scenarios

Once you’ve built the base forecast, the next step is to see how it holds up when conditions change. Point each revenue and cash formula to one Active Scenario cell so you can switch scenarios without rewriting formulas. INDEX or CHOOSE works well here because the toggle stays in a single cell.

On your Assumptions sheet, set up three clearly labeled blocks: Base, Best, and Worst. Keep the same columns for each driver so the model stays easy to follow. That usually includes:

  • monthly gross churn %
  • expansion/upsell %
  • average contract value
  • pipeline close rate %
  • sales cycle length
  • pricing changes
  • hiring dates
  • sales ramp schedule

Use historical variance to set each scenario. That part matters. Base should reflect current performance. Best should assume achievable gains in growth, churn, and expansion. Worst should reflect a plausible slowdown or decline. In plain English: don’t make up random percentage swings. Tie scenario changes to what the business has actually done before.

Then compare the numbers that drive decisions: ending ARR, net new MRR, peak burn, and runway months. This is where the model stops being a spreadsheet exercise and starts helping with actual calls. If the Worst case pushes runway below your comfort threshold, you may need to slow hiring, cut discretionary spend, or start fundraising planning earlier. If the Best case still shows strong ARR growth and plenty of runway, you may have space to invest more in sales.

The point isn’t to admire three neat scenarios on a sheet. The point is to know what you’ll do if the downside case starts showing up.

Conclusion: Key outputs founders should review every month

After each month’s close, refresh actuals and review the forecast against plan. Look at MRR, ARR, net new MRR, bookings vs. recognized revenue, cohort retention, rep ramp, burn, and runway.

That turns the file from a reporting artifact into a decision tool for hiring, spending, and fundraising. Each month, it should help answer a simple question: does growth, retention, and cash still support the current plan?

FAQs

How detailed should my SaaS forecast be?

Make the forecast detailed enough to tie business drivers to financial results. The cleanest way to do that is with a bottom-up MRR model built around the moves that actually change revenue:

  • New customer acquisition
  • Expansion
  • Contraction
  • Churn

This setup helps you show why revenue is expected to grow or stall. Instead of dropping in a top-line number and hoping it feels right, you build MRR from the ground up. New customers add revenue. Expansion increases spend from current accounts. Contraction pulls revenue down when customers downgrade. Churn removes revenue altogether. That gives you a model that’s much easier to explain to investors, finance teams, and department leads.

A solid forecast usually looks 12 to 24 months ahead. That’s long enough to spot patterns, pressure-test the plan, and see how today’s choices affect cash later on. It should also include cohort analysis, pipeline-based projections, and clear assumptions for CAC, LTV, and burn rate.

Cohort analysis matters because not all customers behave the same way over time. A customer who signed in January may retain, expand, or churn at a very different rate than one who signed in June through a different channel or pricing plan. Looking at revenue by cohort lets you track whether retention is getting better, whether payback is improving, and whether growth is coming from healthy customers or from constant replacement.

Pipeline-based projections keep the model tied to sales reality. If the sales team says $200,000 in new MRR is coming next quarter, the forecast should show where that number comes from: open pipeline, stage-by-stage conversion rates, average deal size, and sales cycle length. Otherwise, the plan is just guesswork dressed up in a spreadsheet.

Your assumptions should also be easy to audit. CAC shows what it costs to win a customer. LTV shows what that customer is worth over time. Burn rate shows how fast the company is using cash. Put those side by side, and you get a much clearer picture of whether growth is efficient or expensive. If new MRR is rising but CAC is climbing faster, that changes the story. If expansion revenue is strong and churn is low, profitability may arrive sooner than the top-line revenue alone would suggest.

It also helps to model three scenarios:

  • Optimistic
  • Base-case
  • Pessimistic

These scenarios are not there to make the deck look polished. They’re there to test cash runway and the path to profitability under different conditions. Maybe the optimistic case assumes stronger conversion rates and lower churn. The base case may reflect current trends. The pessimistic case might factor in slower sales, weaker expansion, or a bump in customer losses. That kind of range gives decision-makers something far more useful than a single neat forecast: a view of what could happen, what would drive it, and how much margin for error the business has.

When should I use cohort churn instead of a flat churn rate?

Use cohort churn when you need to spot customer patterns that a flat churn rate can miss. A flat rate is simpler, sure. But it can blur important differences, like heavy churn right after onboarding versus stronger retention later on.

Cohort analysis groups customers by things like acquisition period, product tier, or contract type. That gives you a clearer view of how each segment performs over time and helps you build more precise revenue projections.

How often should I update the model with actuals?

Use a monthly refresh cycle as your starting point. Compare actual results against your forecasts every month, then run a variance analysis to see where things drifted. If results are off by more than 5% to 15%, dig into the cause and update your assumptions fast.

It also helps to refresh the model around key operating cycles and major events. That can include biweekly payroll, product launches, or pricing changes. Then review the model quarterly so it stays in line with longer-term plans.

Related Blog Posts

Founder to Freedom Weekly
Zero guru BS. Real founders, real exits, real strategies - delivered weekly.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Our blog

Founders' Playbook: Build, Scale, Exit

We've built and sold companies (and made plenty of mistakes along the way). Here's everything we wish we knew from day one.
How Tax Treaties Cut Withholding on Exit Proceeds
3 min read

How Tax Treaties Cut Withholding on Exit Proceeds

Cut U.S. withholding on cross-border exit proceeds by classifying payments, proving treaty residence, and submitting forms before closing.
Read post
Program Expense Dashboards for Nonprofits
3 min read

Program Expense Dashboards for Nonprofits

Nonprofit dashboards that track budget vs actuals, restricted fund balances, grant burn rate, allocations, and full program cost.
Read post
Cloud HSM vs On-Prem HSM: Speed Gaps
3 min read

Cloud HSM vs On-Prem HSM: Speed Gaps

Compare cloud vs on-prem HSMs: on-prem offers lower, steadier latency for user-facing crypto; cloud offers scale and lower upfront cost.
Read post
SaaS Revenue Forecasting Model in Excel
3 min read

SaaS Revenue Forecasting Model in Excel

A single Excel workbook ties MRR, bookings, churn, expansion, pipeline, rep ramp, and cash into a trustworthy 24–36 month SaaS forecast.
Read post

Get the systems and clarity to build something bigger - your legacy, your way, with the freedom to enjoy it.