# Scenario Analysis vs Sensitivity Analysis

*Alex Tapio · 2026-07-31 · 11 min · Excel Techniques*

Canonical: https://finamodel.com/blog/scenario-vs-sensitivity

Scenario analysis and sensitivity analysis both stress-test a financial model, but they answer different questions. Learn the difference, when to use each, and how to combine them, with a full worked example.

**Scenario analysis and sensitivity analysis both exist to answer "what if?" - but they answer different versions of that question. Sensitivity analysis isolates one input at a time to show how much a single assumption moves the output. Scenario analysis changes several inputs together to tell a coherent story about a plausible future - a Base, Upside, and Downside case. Confusing the two leads to weak analysis: a sensitivity table dressed up as a "scenario," or a scenario that's really just one variable moving while everything else silently holds its Base-case value. This guide draws the line clearly, then builds both on the same model so you can see exactly how the mechanics and the outputs diverge.**

Both techniques live in the same part of a financial model - usually right after the core forecast, right before the model gets presented to someone who has to make a decision with it. Both exist because a single-point forecast is a fiction: no one believes revenue will grow at exactly 3.0% every month for a year. But "how do I stress-test this" and "what should I actually change" are different problems, and Excel gives you different tools for each.

```mermaid
flowchart TD
    A["You want to stress-test a forecast"] --> B{"Change one driver in isolation, or several together as a story?"}
    B -->|"One driver, isolated"| C["Sensitivity Analysis"]
    B -->|"Several drivers, as a coherent narrative"| D["Scenario Analysis"]
    C --> E["Output: a data table or tornado chart ranking impact"]
    D --> F["Output: 2-4 full P&Ls: Base / Upside / Downside"]
```

*Same model, two different questions - how much does one input matter, versus what does a whole plausible future look like?*

---

## Sensitivity Analysis: How Much Does One Input Matter?

Sensitivity analysis answers a narrow, mechanical question: **if this one input moves, how much does the output move?** You hold every other assumption fixed at its Base-case value and flex a single driver (or two, in a two-variable table) across a plausible range. The result is a table or tornado chart that ranks which assumptions the model is most exposed to.

This is diagnostic, not narrative. A sensitivity table doesn't claim that growth will actually land at 1% or 5% - it's telling you how *exposed* your output is to that one input, independent of everything else. It's the tool you reach for when someone asks "which assumption should I spend the most time getting right?"

We've covered the full Excel mechanics for this - One-Variable and Two-Variable Data Tables, Goal Seek, and tornado charts - in [Sensitivity Analysis in Excel](/blog/sensitivity-analysis-excel). This post assumes you know roughly how a data table works and focuses on when to reach for it versus a scenario.

## Scenario Analysis: What Does a Coherent Future Look Like?

Scenario analysis answers a broader, narrative question: **if a specific combination of things happens together, what does the business look like?** Instead of moving one driver in isolation, you move a cluster of correlated drivers at once, because in the real world they don't move independently. If a downturn cuts your growth rate, it typically also compresses gross margin (you're discounting to win deals) and pushes opex growth up (you're spending more per dollar of revenue, not less). A Downside scenario should capture all three moving together - not just one.

The output isn't a table of a thousand input combinations; it's a small, curated set of complete, internally consistent P&Ls - usually three: **Base**, **Upside**, and **Downside**. Each one is a full forecast in its own right, not a single output cell.

## Scenario Analysis vs Sensitivity Analysis at a Glance

| Dimension | Sensitivity Analysis | Scenario Analysis |
| :--- | :--- | :--- |
| **Variables changed** | One (or two) at a time, in isolation | Several, together, as a bundle |
| **Question answered** | "How much does the output move if X changes?" | "What does the business look like if this whole story plays out?" |
| **Correlation between drivers** | Ignored - every other input stays at Base | Modeled explicitly - drivers move together in one direction |
| **Typical output** | A data table, tornado chart, or Goal Seek result | A small number of named, complete outcomes (Base/Upside/Downside) |
| **Typical Excel tool** | One/Two-Variable Data Table, Goal Seek | Parallel P&L tabs plus a CHOOSE/INDEX-MATCH toggle |
| **Best for** | Finding which single assumption the model is most exposed to | Communicating a credible range of outcomes to a board or investor |
| **Main weakness** | Doesn't capture drivers moving together in the real world | Only as good as the handful of stories you chose to model |

Neither replaces the other. A model that only has a sensitivity table can tell you the business is highly exposed to growth rate, but can't tell you what a recession actually does to EBITDA. A model that only has three scenarios can tell you the Downside case is bad, but can't tell you *which* of the three drivers inside it is doing the most damage.

## Worked Example: Same Model, Two Different Questions

Take a simple 12-month P&L. Month 1 revenue is $500,000, growing at a monthly rate; COGS is a percentage of revenue; opex starts at $180,000/month and grows at its own monthly rate. Base case: 3% monthly revenue growth, 35% COGS, opex growing 1%/month.

```
Total Revenue (12mo) = Σ Revenue_m0 × (1 + g)^(m-1)  for m = 1..12
EBITDA = Total Revenue − (Total Revenue × COGS%) − Σ Opex_m
```

**Base case result:** $7.10M total revenue, $4.61M gross profit (65.0% margin), $2.28M total opex, **$2.33M EBITDA (32.8% margin)**.

### The Sensitivity Analysis Approach

To find out how exposed EBITDA is to the growth-rate assumption, hold COGS at 35% and opex at its Base path, then flex growth rate alone across a plausible range:

| Monthly Growth Rate | 1% | 2% | 3% (Base) | 4% | 5% |
| :--- | :---: | :---: | :---: | :---: | :---: |
| Total Revenue | $6.34M | $6.71M | $7.10M | $7.51M | $7.96M |
| **EBITDA** | **$1.84M** | **$2.08M** | **$2.33M** | **$2.60M** | **$2.89M** |

That's a one-variable data table. Extend it to two variables - growth rate against COGS% - and you get a full exposure map:

| Growth ↓ / COGS → | 30.0% | 32.5% | 35.0% | 37.5% | 40.0% |
| :--- | :---: | :---: | :---: | :---: | :---: |
| **1%** | $2.16M | $2.00M | $1.84M | $1.68M | $1.52M |
| **2%** | $2.41M | $2.24M | $2.08M | $1.91M | $1.74M |
| **3%** | $2.68M | $2.51M | $2.33M | $2.15M | $1.97M |
| **4%** | $2.98M | $2.79M | $2.60M | $2.41M | $2.22M |
| **5%** | $3.29M | $3.09M | $2.89M | $2.69M | $2.49M |

```excel
// Two-variable data table
// Row input cell:    Assumptions!$B$7  (COGS %)
// Column input cell: Assumptions!$B$4  (Monthly Growth Rate)
// Top-left corner of the table links to the live output:
= EBITDA_Total
```

Every cell in that grid holds opex constant. That's the point - it isolates exactly two drivers so you can read off, cleanly, how much each one matters and where they compound.

### The Scenario Analysis Approach

Now build the same model as three coherent stories instead. In a real downturn, growth doesn't just slow - margins compress at the same time (discounting to win deals) and cost discipline slips (opex grows faster, not slower). A scenario has to move all three together:

| Driver | Downside | Base | Upside |
| :--- | :---: | :---: | :---: |
| Monthly revenue growth | 1% | 3% | 5% |
| COGS % of revenue | 40% | 35% | 32% |
| Monthly opex growth | 2% | 1% | 0.5% |

Run the same 12-month model three times, once per scenario:

| Metric | Downside | Base | Upside |
| :--- | :---: | :---: | :---: |
| Total Revenue (12mo) | $6.34M | $7.10M | $7.96M |
| Gross Profit | $3.80M | $4.61M | $5.41M |
| Gross Margin % | 60.0% | 65.0% | 68.0% |
| Total Opex | $2.41M | $2.28M | $2.22M |
| **EBITDA** | **$1.39M** | **$2.33M** | **$3.19M** |
| **EBITDA Margin %** | **21.9%** | **32.8%** | **40.1%** |
| **Δ EBITDA vs Base** | **−$0.94M (−40.3%)** | - | **+$0.86M (+37.0%)** |

Compare the Downside case here ($1.39M EBITDA) to the sensitivity table's worst single cell at 1% growth / 40% COGS ($1.52M) - the scenario is worse, because it also drags opex growth up to 2%, a third lever the two-variable data table didn't touch. That's the structural difference in one number: sensitivity analysis under-states the Downside because it never lets all the bad things happen at once.

<!-- template:scenario-planning -->

## Building a Scenario Toggle in Excel

Once you have three parallel P&L builds (say, on `Base_PL`, `Upside_PL`, and `Downside_PL` tabs sharing an identical row layout), a `Comparison` sheet pulls whichever one is "live" via a single selector cell:

```excel
// Comparison sheet: pull the active scenario's EBITDA based on a Scenario_Selector cell (1, 2, or 3)
= CHOOSE(Scenario_Selector, Base_PL!$C$20, Upside_PL!$C$20, Downside_PL!$C$20)
```

Because each scenario tab is a full, independent P&L rather than a single flexed cell, you can also show all three side-by-side permanently - which is usually more useful for a board pack than a toggle, since the reader can see the range at a glance instead of clicking through one case at a time. The full mechanics of CHOOSE versus INDEX/MATCH toggles are covered in [Sensitivity Analysis in Excel](/blog/sensitivity-analysis-excel) - the same toggle pattern works whether you're flexing a single sensitivity input or an entire scenario.

## When to Use Each (and When to Use Both)

- **Use sensitivity analysis** when you need to know which single assumption the model is most exposed to - before you've decided which scenarios are even worth building. It's the right first step: run a tornado chart, find the two or three drivers with the biggest swing, and build your scenarios around those.
- **Use scenario analysis** when you need to communicate a range of coherent outcomes to someone who has to make a decision - a lender, a board, an investor. "EBITDA ranges from $1.4M to $3.2M depending on which of three plausible futures plays out" is a sentence a decision-maker can act on. "EBITDA is $X per 1% of growth" is not.
- **Use both, in sequence, on the same model.** Run sensitivity first to identify which two or three drivers actually move the needle. Build your Base/Upside/Downside scenarios around exactly those drivers, moving them together in the direction a real Upside or Downside would push them. Anything the sensitivity pass showed to be immaterial doesn't need its own scenario lever - hold it at Base and simplify the model.

## Common Mistakes

1. **Calling a sensitivity table a "scenario."** If only one input moved, it's a sensitivity - not a Downside case. Label it accurately, or the reader will assume the other risks were modeled too.
2. **Moving drivers in a scenario independently instead of together.** A Downside scenario with slower growth but unchanged margins isn't a real downside - margins move too. Pressure-test the direction of every driver against the story you're telling.
3. **Building too many scenarios.** Five or six named cases dilute the message. Base, Upside, Downside is almost always enough; more than that and the reader can't hold the comparison in their head.
4. **Skipping sensitivity analysis before picking scenario drivers.** Without it, you're guessing at which two or three assumptions matter enough to flex in a scenario - and likely wasting scenario slots on drivers with negligible impact.
5. **Presenting a two-variable sensitivity table as the Downside case.** A grid that holds opex fixed while flexing growth and COGS will always be more optimistic than a scenario that also lets opex slip - don't let a sensitivity output stand in for a real scenario.
6. **No single source of truth for the "live" case.** If the Base/Upside/Downside tabs don't feed a common Comparison sheet via a selector, it's easy for a stale scenario to get referenced elsewhere in the model.

## Key Takeaways

- **Sensitivity analysis isolates one input**, holding everything else at Base, to show how exposed the output is to that single assumption. It's diagnostic - use it to find which drivers matter most.
- **Scenario analysis moves several correlated drivers together** to tell a coherent story about a plausible future. It's communicative - use it to present a credible range to a decision-maker.
- **The two aren't interchangeable.** A sensitivity table under-states a real Downside because it never lets every bad thing happen at once; a scenario without a sensitivity pass behind it may be flexing drivers that don't actually matter.
- **Run sensitivity first, then build scenarios around what it finds.** Use the tornado-ranked drivers from a sensitivity pass to decide which two or three levers deserve their own Base/Upside/Downside treatment.
- **Three scenarios is the sweet spot.** Base, Upside, Downside communicates a range without overwhelming the reader - more than that and the comparison stops being legible.
- **Structure scenarios as full parallel P&Ls**, not single flexed cells, and route them through one Comparison sheet with a CHOOSE-based selector so there's one live answer to "which case are we looking at."

For the full Excel mechanics behind data tables, Goal Seek, and tornado charts, see [Sensitivity Analysis in Excel](/blog/sensitivity-analysis-excel). To build a ready-made three-scenario P&L structure like the one in this example, see the [Scenario Planning template](/templates/scenario-planning).


## Frequently asked questions

### What is the main difference between scenario analysis and sensitivity analysis?

Sensitivity analysis changes one input at a time (occasionally two, in a two-variable table) while holding everything else at its Base-case value, to show how exposed the output is to that single assumption. Scenario analysis changes several correlated inputs together to model a coherent, named outcome - typically Base, Upside, and Downside. Sensitivity is diagnostic (which assumption matters most); scenario is narrative (what does this plausible future look like).

### Can I use scenario analysis and sensitivity analysis in the same model?

Yes, and you should. A common workflow is to run sensitivity analysis first - often with a tornado chart - to identify which two or three assumptions the output is most exposed to. Then build your Base/Upside/Downside scenarios around exactly those drivers, moving them together in a consistent direction. Sensitivity finds what matters; scenario tells the story around it.

### How many scenarios should a scenario analysis include?

Three is the standard: Base, Upside, and Downside. This communicates a credible range without overwhelming the reader. Some models add a fourth extreme or stress case for specific risks (e.g., a covenant breach scenario in a debt model), but going beyond four or five named scenarios usually dilutes the message rather than adding insight.

### What's the difference between scenario analysis and Monte Carlo simulation?

Scenario analysis uses a small number of hand-picked, named combinations of inputs (Base/Upside/Downside). Monte Carlo simulation runs thousands of randomized combinations of inputs, each drawn from a probability distribution, and produces a full distribution of possible outputs rather than three discrete points. Monte Carlo is more rigorous statistically but harder to communicate simply - a board can grasp three named scenarios much faster than a probability distribution.

### Do investors and boards prefer scenario analysis or sensitivity analysis?

For decision-making conversations, boards and investors generally respond better to scenario analysis - a named Downside case with a specific EBITDA number is easier to act on than a sensitivity table. Sensitivity analysis is more useful internally, for the modeling team to understand which assumptions deserve the most scrutiny before those scenarios are even built.

### How do I build a scenario toggle in Excel?

Build each scenario as a full, independent P&L on its own tab with identical row layouts (e.g., Base_PL, Upside_PL, Downside_PL). Then use a CHOOSE or INDEX/MATCH formula on a Comparison sheet, driven by a single selector cell, to pull whichever scenario is active: =CHOOSE(Scenario_Selector, Base_PL!C20, Upside_PL!C20, Downside_PL!C20). For step-by-step mechanics on CHOOSE versus INDEX/MATCH toggles, see the Sensitivity Analysis in Excel guide.
