DCF Valuation Model Step-by-Step in Google Sheets
Build a 7-tab DCF valuation model in Google Sheets from scratch — WACC, UFCF projections, terminal value, and a sensitivity table. Real SaaS example with formulas.
This guide walks you through building a complete DCF valuation model in Google Sheets from scratch — 7 linked tabs, a $42.8M LTM-revenue SaaS target, WACC derivation, unlevered free cash flow projections through Year 5, terminal value, and a two-variable sensitivity table producing an enterprise value range. By the end you'll have a model you can drop in front of a banker or an IC without apologizing for it.
What You'll Need
- Google Sheets access (free tier works)
- Comfortable with cross-tab references and array formulas
- A target company with at least 2 years of actuals (or public SaaS comps as a proxy)
- Comparable company betas from a data source (Capital IQ, Damodaran's site, or Bloomberg)
- Basic familiarity with three-statement modeling — this guide doesn't explain what EBITDA is
Step-by-Step Guide
Design Your DCF Model Tab Architecture
Before a single formula goes in, map the tab structure. A DCF valuation model lives or dies by how cleanly inputs flow into outputs — one circular reference or hard-coded number buried in a formula and the audit trail breaks.
- Assumptions** — all drivers in one place: revenue growth rates, margin targets, tax rate, CapEx/revenue, NWC assumptions, WACC inputs
- Revenue** — top-line build, segmented if the business warrants it
- P&L** — EBITDA bridge from revenue down to NOPAT
- UFCF** — unlevered free cash flow derivation from NOPAT
- WACC** — cost of capital calculation with source citations
- DCF** — discounting engine, PV of FCFs, terminal value, bridge to equity value
- Sensitivity** — two-variable data table across WACC and terminal growth rate
Pro Tip
Color-code your tabs. Blue for inputs (Assumptions), grey for calculation tabs (Revenue, P&L, UFCF, WACC), green for outputs (DCF, Sensitivity). Anyone opening the file for the first time will immediately know where to look.Lock Down the Assumptions Tab
The Assumptions tab is the single source of truth. Hard-code nothing in calculation tabs. If you're ever copy-pasting a number between tabs instead of referencing Assumptions!, stop.
For this model — a SaaS company with $42.8M LTM revenue, 72% gross margin, and 18% EBITDA margin — the core driver block looks like this:
| Driver | Y1 | Y2 | Y3 | Y4 | Y5 |
|---|---|---|---|---|---|
| Revenue growth | 28% | 24% | 20% | 16% | 13% |
| Gross margin | 72.0% | 72.5% | 73.0% | 73.5% | 74.0% |
| EBITDA margin | 18.0% | 20.5% | 23.0% | 25.0% | 26.5% |
| CapEx / Revenue | 3.2% | 3.0% | 2.8% | 2.5% | 2.3% |
| NWC / Revenue | 8.5% | 8.5% | 8.5% | 8.5% | 8.5% |
| Tax rate | 25% | 25% | 25% | 25% | 25% |
SaaS CapEx benchmarks typically run 1–4% of revenue for pure software businesses, per Meritech Capital's annual public SaaS benchmarks — anything above that usually signals hardware or data center spend worth breaking out separately.
Pro Tip
Add a "Check" column at the far right of every assumption block using=IF(SUM(B3:F3)<>1,"⚠ sum error","✓") for margin and percentage rows that should sum to a specific value. Your future self will thank you.Build Revenue and P&L Projections
Revenue projects forward from LTM actuals. The formula structure in Revenue!C4 (Year 1 revenue):
=Revenue!B4 * (1 + Assumptions!$C$5)
Where B4 is LTM revenue ($42.8M) and Assumptions!$C$5 is the Y1 growth rate. Years 2–5 follow the same pattern, each referencing the prior year's revenue cell and the corresponding column in Assumptions.
P&L flows directly from Revenue:
='Revenue'!C4 ← Total Revenue
='Revenue'!C4 * Assumptions!C7 ← Gross Profit (gross margin %)
='Revenue'!C4 * Assumptions!C9 ← EBITDA (EBITDA margin %)
=P&L!C8 - SUMIFS('Revenue'!C:C,'Revenue'!A:A,"D&A") ← EBIT
=P&L!C9 * (1 - Assumptions!$B$12) ← NOPAT
At $42.8M LTM, Y1 revenue comes to $54.8M (28% growth). EBITDA at 18% margin is $9.9M. Keep D&A on the P&L tab and feed it into the UFCF tab — it flows back as a non-cash add-back.
Pro Tip
Add a row at the bottom of P&L that checksRevenue - COGS - OpEx - EBITDA = 0. A non-zero result means something isn't flowing correctly. Catch it here before it corrupts the DCF outputs.Calculate UFCF for the DCF Valuation
Unlevered free cash flow is the engine of the DCF valuation. Build it from NOPAT, not from net income — you want the pre-debt, pre-tax-shield cash generation.
UFCF = NOPAT
+ D&A
- CapEx
- Change in NWC
In Google Sheets, with Year 1 in column C:
=P&L!C10 ← NOPAT
+P&L!C11 ← D&A add-back
-(Revenue!C4 * Assumptions!C11) ← CapEx (% of revenue)
-(Revenue!C4 * Assumptions!$B$13 - Revenue!B4 * Assumptions!$B$13) ← ΔNWC
Working that through the SaaS example:
| Y1 | Y2 | Y3 | Y4 | Y5 | |
|---|---|---|---|---|---|
| NOPAT | $5.6M | $8.5M | $12.2M | $16.0M | $19.7M |
| D&A | $2.7M | $3.1M | $3.5M | $3.9M | $4.3M |
| CapEx | ($1.8M) | ($2.0M) | ($2.3M) | ($2.5M) | ($2.7M) |
| ΔNWC | ($1.0M) | ($0.9M) | ($0.8M) | ($0.7M) | ($0.6M) |
| UFCF | $7.1M | $8.7M | $12.6M | $16.7M | $20.7M |
UFCF growing from $7.1M in Y1 to $20.7M in Y5 reflects operating leverage kicking in as the margin profile expands — exactly what you'd expect in a scaling SaaS business with relatively fixed cost structure.
Pro Tip
Cross-check your UFCF margin (UFCF / Revenue) against public SaaS comps. If it's running 30%+ in Year 1 for a sub-$100M company, something is wrong with your margin or CapEx assumptions.Build the WACC Tab
WACC deserves its own tab because the inputs are defensible claims, not made-up numbers. Every line should be sourced.
The CAPM formula for cost of equity (Sharpe 1964, extended by Fama-French 1992):
Ke = Rf + β × ERP
For this model as of April 2026:
| Component | Value | Source |
|---|---|---|
| Risk-free rate (Rf) | 4.35% | 10-yr UST yield, April 2026 |
| Equity risk premium (ERP) | 4.60% | Damodaran January 2026 (pages.stern.nyu.edu/~adamodar) |
| Unlevered beta (βu) | 1.12 | Median SaaS comparable set, re-levered to target |
| Re-levered beta (βL) | 1.18 | Hamada equation: βL = βu × (1 + (1-t) × D/E) |
| Cost of equity (Ke) | 9.78% | |
| Pre-tax cost of debt (Kd) | 6.50% | Investment-grade SaaS term loan proxy |
| After-tax cost of debt | 4.88% | Kd × (1 - 25%) |
| Target D/(D+E) | 10% | |
| WACC | 10.1% |
The WACC formula in Sheets:
=WACC!C5*(1-WACC!C12) + WACC!C9*WACC!C12
Where C5 is Ke, C9 is after-tax Kd, and C12 is the debt weight. At 10.1% WACC, you're discounting a SaaS business that's growing 13–28% annually — that's within the range you'd see from most buy-side models in 2026.
Pro Tip
Run the WACC at ±100bps as a sanity check before building the sensitivity table. If your EV moves less than 10% on a 200bps WACC swing, your terminal value assumptions are too conservative and are swamping the DCF math.Discount Cash Flows and Calculate Terminal Value
With UFCF projections and WACC established, the DCF tab does three things: discount the projection-period cash flows, calculate terminal value, and bridge to equity value.
Discount factors use the mid-year convention (cash flows received throughout the year, not at year-end):
=1 / (1 + WACC!$C$14) ^ (col - 0.5)
Present value of FCFs:
=SUMPRODUCT(UFCF!C4:G4, DCF!C5:G5)
Terminal value using the Gordon Growth Model:
=UFCF!G4 * (1 + Assumptions!$B$20) / (WACC!$C$14 - Assumptions!$B$20)
At a 3.0% terminal growth rate and 10.1% WACC, terminal value on $20.7M Y5 UFCF comes to $295.7M. Discounted back 4.5 years: $190.6M PV of TV.
The full bridge:
| Item | Value |
|---|---|
| PV of projection-period FCFs | $43.3M |
| PV of terminal value | $190.6M |
| Enterprise value | $233.9M |
| Less: net debt | ($22.1M) |
| Equity value | $211.8M |
| Shares outstanding | 14.7M |
| Implied share price | $14.41 |
Terminal value represents approximately 81.5% of enterprise value — well within the 77–83% range typical for high-growth SaaS businesses at this stage, per standard DCF convention.
Pro Tip
If TV/EV exceeds 90%, you either have too low a discount rate, too high a terminal growth rate, or your near-term cash flows are being suppressed by heavy reinvestment. Any of those warrant scrutiny from whoever reviews the model.Complete the Valuation Model with Sensitivity Analysis
A single-point DCF output is a false precision problem. The sensitivity table is where the model becomes defensible — and where you show the range instead of hiding behind one number.
In Google Sheets, use a two-variable data table (not a native feature, so you build it with array formulas). Set up a grid with WACC across the top row and terminal growth rate down the left column, then reference the EV formula:
WACC axis (row 3, columns C–G): 8.5%, 9.3%, 10.1%, 10.9%, 11.7%
Terminal growth axis (column B, rows 4–8): 1.5%, 2.0%, 2.5%, 3.0%, 3.5%
Each cell in the grid recalculates EV using the intersection values:
=UFCF_Y5 * (1 + tg) / (wacc - tg) / (1 + wacc)^4.5 + PV_FCFS_adj
The resulting EV sensitivity table (in $M):
| 8.5% | 9.3% | 10.1% | 10.9% | 11.7% | |
|---|---|---|---|---|---|
| 1.5% | $198.4 | $180.2 | $165.1 | $152.3 | $141.4 |
| 2.0% | $211.7 | $191.5 | $174.8 | $160.7 | $148.7 |
| 2.5% | $227.3 | $204.8 | $186.2 | $170.6 | $157.2 |
| 3.0% | $245.9 | $220.4 | $199.4 | $182.1 | $167.0 |
| 3.5% | $268.3 | $239.2 | $215.4 | $195.8 | $178.8 |
The base case sits at $199.4M enterprise value. The full range across reasonable assumptions runs $141.4M to $268.3M — a spread that reflects actual uncertainty rather than false precision around a single number.
For the board pack or IC memo, show the shaded center band (±1 step on each axis) as your "central range" and the full grid in the appendix.
Pro Tip
Add conditional formatting to the sensitivity table — green for values above your target purchase price, red below. Takes 90 seconds and makes the output immediately readable in a deck without anyone having to do arithmetic.Wrapping Up
The model above gives you a structured, auditable DCF that hangs together across 7 tabs, flows cleanly from a single assumptions block, and produces an EV range rather than a false-precision point estimate. The architecture — Assumptions → Revenue → P&L → UFCF → WACC → DCF → Sensitivity — scales to more complex targets without rewiring.
The one thing this static model can't do on its own is stay current. LTM actuals drift the moment a new quarter closes, and re-entering numbers manually is where errors creep in. If you're refreshing this model quarterly for a board pack or running it across a portfolio, ModelMonkey can wire your Google Sheets directly to your accounting system so the actuals update automatically and the sensitivity table always reflects current numbers — try it free for 14 days.
Frequently Asked Questions
What discount rate should I use for a SaaS DCF?
For a software company in 2026, most practitioners land between 9% and 13% WACC depending on company size, leverage, and beta. Small-cap, high-growth SaaS tends toward the higher end (11–13%) because the beta is elevated and the risk-free rate has stayed above 4% since 2023. Mid-market SaaS at scale ($50M+ ARR, positive EBITDA) typically warrants 9–11%. Build your WACC from components using Damodaran's current ERP rather than guessing — his January 2026 implied ERP for the US market is 4.60% (pages.stern.nyu.edu/~adamodar).
How much of enterprise value should terminal value represent in a DCF?
For most growing businesses, 60–80% of enterprise value comes from terminal value — this is expected, not a model flaw. For high-growth SaaS (15%+ near-term growth), TV/EV often runs 75–85% because the near-term UFCF margins are suppressed by reinvestment. If TV/EV exceeds 90%, scrutinize your terminal growth rate and near-term margin assumptions. If it's below 60%, your projection-period cash flows may be unrealistically high or your terminal growth rate too low.
What terminal growth rate is defensible for a SaaS business?
Most analysts use 2.0–3.5%, anchored to long-run nominal GDP growth. Using anything above 4% is hard to defend in a board or syndicate context because it implies the business eventually grows faster than the economy indefinitely. For a company with strong retention economics and an expanding TAM, 3.0–3.5% is defensible. For a mature, slower-growing SaaS business, 2.0–2.5% is more appropriate. The sensitivity table matters precisely because reasonable people can disagree on this number by 100–150bps.
How do I handle D&A in the UFCF calculation?
D&A is a non-cash charge that reduces EBIT (and therefore NOPAT) but doesn't represent a cash outflow, so it gets added back in the UFCF bridge: UFCF = NOPAT + D&A - CapEx - ΔNWC. The critical point is that CapEx represents the actual cash reinvestment, while D&A approximates the accounting charge for prior-period investment. Over a long horizon, CapEx and D&A should converge — if your model has CapEx consistently well below D&A, that's an implicit assumption that the asset base is shrinking, which is worth flagging.
Should I use a mid-year or end-of-year convention for discounting?
Mid-year convention (discount factor = 1 / (1 + WACC)^(year - 0.5)) is more accurate for businesses that generate cash throughout the year rather than in a single lump at year-end. End-of-year is simpler and more conservative. Most PE and investment bank DCFs use mid-year convention — the difference in EV can run 3–5% at typical discount rates, which is material enough to matter when you're defending a specific bid price or valuation range.