# Zero-Based Budgeting: How It Works (With a Worked Example)

*Alex Tapio · 2026-07-25 · 10 min · FP&A*

Canonical: https://finamodel.com/blog/zero-based-budgeting

A practical guide to zero-based budgeting (ZBB): how decision packages work, how to rank and fund them, a full worked example with Excel formulas, and how ZBB compares to incremental budgeting.

**Zero-based budgeting (ZBB) throws out last year's budget as the starting point and rebuilds every line from $0. Instead of adjusting history by a percentage, every activity is broken into a 'decision package' - its cost, its purpose, what breaks if it isn't funded - and packages are ranked by cost-benefit and funded top-down until the money runs out. This guide walks through exactly how that process works, a full worked example with real numbers, the Excel formulas to build it, and where ZBB beats (and loses to) simpler budgeting methods.**

Most corporate budgets are built the same lazy way: take last year's number, add a few percent for inflation or growth, maybe trim a department that overspent, and call it done. That's incremental budgeting, and its defining flaw is that it never asks whether the *base* is still worth funding. A software subscription nobody uses, a headcount line for a role that quietly changed scope, a marketing program that stopped working two years ago - all of it survives, because incremental budgeting only examines the delta, never the base.

Zero-based budgeting exists to fix exactly that blind spot. It is far more expensive to run, which is why almost nobody does it every year on every line - but understanding the mechanics is useful even if you never run a full ZBB cycle, because the core discipline (rank by cost-benefit, fund top-down, cut the bottom) is a pattern worth borrowing for any budget review.

```mermaid
flowchart TD
    A["Every budget starts at $0"] --> B["Define decision units departments or activities"]
    B --> C["Build a decision package per unit cost, purpose, consequence of not funding"]
    C --> D["Score and rank all packages by cost-benefit"]
    D --> E["Allocate available budget top-down by rank"]
    E --> F{"Cumulative cost within the budget cap?"}
    F -->|"Yes"| G["Package funded"]
    F -->|"No"| H["Package cut or deferred"]
    G --> I["Re-justify from zero next cycle"]
    H --> I
```

*Zero-based budgeting rebuilds the budget from a blank page every cycle: rank decision packages by cost-benefit and fund top-down until the budget cap is reached.*

---

## How Zero-Based Budgeting Works: The Four Steps

ZBB is a process, not just a mindset. It runs in four steps, and skipping any one of them is how companies end up with a 'ZBB' exercise that's really just incremental budgeting with extra paperwork.

### Step 1: Define Decision Units

A decision unit is the level at which you're willing to make a fund/don't-fund call - usually a department, a cost center, or a discrete activity (e.g. 'field marketing events,' 'tier-1 customer support,' 'IT security tooling'). Pick units too broad (the whole Marketing department as one line) and the ranking exercise is meaningless - you can't partially fund 'Marketing.' Pick them too granular (every individual software seat) and the process collapses under its own overhead.

### Step 2: Build a Decision Package for Each Unit

For every decision unit, someone accountable for it has to write a decision package: what it costs annually, what business purpose it serves, what specifically breaks if it isn't funded, and - in a fuller ZBB process - two or three funding tiers (a bare-minimum level, the current level, and an enhanced level). This is the step that actually forces justification. A package that can't articulate a consequence for non-funding is a strong candidate to be cut.

### Step 3: Rank Packages by Cost-Benefit

Every decision package across every decision unit gets thrown into a single ranked list - not ranked within department, but ranked company-wide - ordered by cost-benefit (impact per dollar, strategic priority, or a scored rubric). This cross-department ranking is the part that makes ZBB politically uncomfortable: a department's pet project can rank below another department's baseline package, and it has to be defended on the same terms.

### Step 4: Allocate the Budget Top-Down

Starting from the top of the ranked list, fund packages in order and track the cumulative cost. The moment cumulative cost would exceed the available budget, that's the cutoff line - everything above it is funded, everything below it is cut or deferred to a later period. There's no rounding everyone down proportionally; ZBB makes an explicit, ranked choice about what doesn't get funded.

---

## Zero-Based Budgeting vs. Incremental Budgeting

| | Zero-based budgeting | Incremental budgeting |
| :--- | :--- | :--- |
| **Starting point** | $0 for every line, every cycle | Last year's approved budget |
| **Justification required** | Every dollar, every cycle | Only the change (the increment) |
| **Effort to run** | High - every package built and ranked from scratch | Low - apply a growth/cut rate to the prior base |
| **Best at** | Surfacing obsolete or low-value spend | Speed, stability, predictability |
| **Risk** | Process cost can exceed savings found; internal politics over ranking | Waste and stale spend compound silently, year after year |
| **Typical cadence** | Once to reset a baseline, or rotating subset of departments | Every budget cycle, by default |

Neither is universally 'better.' Incremental budgeting is the right default for most companies most years - it's fast and it doesn't relitigate settled decisions. ZBB earns its cost when there's a specific reason to believe the base itself is bloated: after a merger integration, under a private-equity ownership change, or when a cost-cutting mandate needs to hit a specific number and a flat percentage cut across the board would gut something that actually works.

---

## A Worked Example: Ranking and Funding Decision Packages

Suppose a division has a $2,000,000 annual budget cap for the coming year. Nine decision packages have been submitted across departments, and each has been scored and ranked by cost-benefit (rank 1 = highest priority). Total requested funding across all nine packages is $2,190,000 - $190,000 more than the budget allows, so ZBB has to make an explicit cut.

| Rank | Decision Package | Department | Annual Cost | Cumulative Cost | Status |
| :---: | :--- | :--- | :---: | :---: | :---: |
| 1 | Core payroll processing | Finance | $450,000 | $450,000 | Funded |
| 2 | IT security & compliance | IT | $280,000 | $730,000 | Funded |
| 3 | Customer support (base tier) | Support | $320,000 | $1,050,000 | Funded |
| 4 | Sales team base compensation | Sales | $260,000 | $1,310,000 | Funded |
| 5 | Marketing – brand campaigns | Marketing | $220,000 | $1,530,000 | Funded |
| 6 | New CRM software | Sales Ops | $180,000 | $1,710,000 | Funded |
| 7 | Sales team expansion (2 reps) | Sales | $190,000 | $1,900,000 | Funded |
| 8 | Office renovation | Facilities | $150,000 | $2,050,000 | **Cut** |
| 9 | Executive off-site retreat | Executive | $140,000 | $2,190,000 | **Cut** |

Read the mechanics off the cumulative-cost column: after package 7, cumulative spend sits at $1,900,000 - $100,000 short of the $2,000,000 cap. Package 8 costs $150,000, so funding it in full would blow through the cap by $50,000; under standard ZBB rules, whole packages are funded or not (no partial funding), so package 8 is cut, and package 9 behind it is cut as well. The $100,000 that remains unallocated either rolls into a contingency reserve or funds a smaller alternative package that wasn't in the original nine.

Notice what the ranking actually did: it wasn't 'cut the two cheapest' or 'cut the two smallest departments' - it cut the two *lowest cost-benefit* packages, regardless of size or department. The executive off-site ranked last on cost-benefit and got cut before the much larger CRM software line, because CRM software ranked higher on business impact. That's the entire point of ZBB: rank cuts by justified priority, not by department politics or the size of the number.

### The Excel Formulas

Lay the ranked packages out with cost in column C (already sorted by rank). Two formulas do the whole allocation:

```excel
// Cumulative cost through this rank (C2:C10 = costs, sorted by rank ascending)
= SUM($C$2:C2)

// Funded status: does this package fit inside the budget cap in cell $F$1?
= IF(D2 <= $F$1, "Funded", "Cut")
```

Where `D2` is the cumulative-cost cell for that row and `$F$1` holds the $2,000,000 budget cap. Drag both formulas down the ranked list and the funded/cut line falls out automatically - change the cap in `$F$1` and every package's status recalculates instantly, which is exactly what you want when finance comes back with a revised number mid-review.

If packages aren't pre-sorted, add a rank column first:

```excel
// Rank by cost-benefit score (E2:E10), highest score = rank 1
= RANK(E2, $E$2:$E$10, 0)
```

Then sort the table by that rank column before applying the cumulative-cost formula above.

<!-- template:budget-vs-actuals -->

The [budget-vs-actuals template](/templates/budget-vs-actuals) above is built for the ongoing tracking side of this - once decision packages are funded, it's the same structure you use to hold actual spend against the ZBB-approved amount all year, exactly as you would against any other budget.

---

## When ZBB Is Worth the Effort

Building and ranking nine decision packages for one $2M division, as in the example above, is a real undertaking - now imagine that exercise repeated across every department, every year, at a company with 40 cost centers. That's the honest tradeoff: ZBB's rigor scales linearly with effort, and most organizations can't sustain full-scope ZBB annually without the process cost eating the savings it uncovers.

In practice, ZBB earns its keep in a few specific situations:

- **After an M&A integration**, where two overlapping cost structures need to be rationalized against a single set of priorities rather than just added together.
- **Under new ownership** (private equity, a new CFO mandate) that explicitly wants to challenge embedded spend rather than inherit it.
- **On overhead and discretionary spend specifically** - G&A, marketing, software/subscriptions, travel - where costs have historically grown without a regular 'do we still need this' check, rather than on contractually fixed costs like rent or debt service where there's little real decision to make.
- **As a one-time reset**, followed by lighter driver-based or incremental budgeting in the years after, so the discipline doesn't decay back into rubber-stamped renewals.

---

## Common Mistakes to Avoid

1. **Running full ZBB on every line, every year.** The process cost compounds fast. Reserve full-scope ZBB for a baseline reset or a rotating subset of departments, and use lighter methods in between.
2. **Ranking by politics, not cost-benefit.** If decision packages are ranked by who has the most influence in the room rather than a defensible cost-benefit basis, ZBB just becomes theater with extra spreadsheets.
3. **Skipping mandatory-spend packages in the ranking.** Core payroll, statutory compliance, and debt service shouldn't 'compete' against a marketing campaign in the ranked list - carve out non-discretionary baseline spend before ranking the discretionary rest.
4. **Defining decision units at the wrong altitude.** Units that are too broad (a whole department as one package) can't be partially funded meaningfully; units that are too granular (every software seat) drown the process in overhead.
5. **Ignoring the cost of running ZBB itself.** If building and ranking the packages costs more analyst time than the spend it re-examines saves, the exercise has a negative ROI - scope it to where the savings potential justifies the effort.
6. **Treating this year's ZBB-approved number as next year's new incremental baseline.** If year two just increments off the ZBB-approved figure without re-justifying, you've quietly reverted to incremental budgeting under a ZBB label.
7. **Funding partial packages to 'make the number work.'** Half-funding a package that was designed as an all-or-nothing activity (e.g. funding 60% of a security tooling package) can leave you paying for something that doesn't actually deliver its intended benefit at that funding level.

---

## Key Takeaways

- **ZBB starts every budget line at $0 and requires fresh justification each cycle** - the opposite of incremental budgeting, which only examines the change from last year's approved number.
- **The decision package is the core unit**: cost, purpose, and consequence of non-funding, ranked company-wide by cost-benefit rather than department.
- **Funding is top-down by rank until the cap is hit.** Track cumulative cost against the budget cap with a simple `SUM` and `IF` pair in Excel - the cutoff falls out automatically and updates the instant the cap changes.
- **ZBB is expensive to run at full scope.** Most companies use it selectively - a one-time reset after M&A or ownership change, or on discretionary/overhead spend - rather than as an annual, company-wide exercise.
- **Carve out non-discretionary baseline spend before ranking.** Payroll, compliance, and debt service shouldn't be forced to compete against optional projects in the same ranked list.
- **The discipline degrades if you don't repeat it.** Letting next year's budget increment off this year's ZBB-approved number quietly turns ZBB back into incremental budgeting.

For the ongoing side of budget discipline - comparing what actually happened against what you approved - see our guide to [budget vs actual (variance) analysis](/blog/budget-vs-actual-analysis). And if the underlying forecast feeding your decision packages needs work, [financial forecasting methods explained](/blog/financial-forecasting-methods) covers driver-based forecasting, the same approach that makes a decision package's cost projection defensible in the first place.


## Frequently asked questions

### What is zero-based budgeting?

Zero-based budgeting (ZBB) is a budgeting method where every expense must be justified from a base of zero for each new period, rather than starting from last year's budget and adjusting it up or down. Every activity is broken into a 'decision package' that states its cost, its purpose, and what happens if it isn't funded. Packages are then ranked by cost-benefit and funded top-down until the available budget runs out. Nothing carries forward automatically - a line item that existed for ten years gets no head start over a brand-new proposal.

### How is zero-based budgeting different from incremental budgeting?

Incremental budgeting starts from last year's approved budget and applies a percentage adjustment (e.g. +3% for inflation, -5% for a cost cut) to each line. It's fast but it locks in whatever was funded before, including waste, without re-examining whether the spend is still justified. Zero-based budgeting starts every line at $0 and requires a fresh justification each cycle. It surfaces low-value spending that incremental budgeting would just roll forward, at the cost of far more analyst time to build and rank the packages.

### What is a decision package in ZBB?

A decision package is the basic unit of a zero-based budget: a single activity, project, or service level, described with its annual cost, the business purpose it serves, the consequence of not funding it, and - often - two or three funding tiers (minimum, current, enhanced). Decision packages are the thing that gets ranked and funded, not departments or GL accounts. A department typically breaks into several decision packages, each competing on its own merits for a slice of the budget.

### What are the pros and cons of zero-based budgeting?

The upside: it forces justification of every dollar, surfaces spend that has quietly become obsolete, and directly links budget to strategic priority rather than history. The downside: it is far more time- and labor-intensive than incremental budgeting, since every package has to be built, costed, and ranked from scratch; it can create internal competition and politics around ranking; and applied to every line every year, the analysis cost can exceed the savings it finds. Most companies that use ZBB successfully apply it selectively - to a subset of departments, or every 3-5 years - rather than to the whole company annually.

### How often should a company run zero-based budgeting?

Rarely as a full annual exercise across the whole company - the process cost is too high to repeat every year on every line. A more common pattern is to run ZBB once to reset the baseline (especially after a cost-cutting mandate, a merger, or a private equity acquisition), then revert to incremental or driver-based budgeting for a few years, with a lighter ZBB refresh on a rotating subset of departments each cycle. Discretionary and overhead spend (marketing, G&A, professional services) benefits from ZBB more often than largely fixed, contractually locked costs (rent, core payroll).

### What kinds of companies or departments benefit most from zero-based budgeting?

ZBB delivers the most value where spend is discretionary, has grown without regular review, or sits in overhead functions that don't scale cleanly with revenue - think G&A, marketing, corporate travel, and software/subscription spend. It's a common tool after a private equity buyout or during a cost-restructuring program, where management explicitly wants to challenge the embedded base rather than trim it by a flat percentage. It's a poor fit for costs that are largely fixed or contractual in the near term (existing leases, debt service, statutory obligations), where there's little real decision to re-litigate.
