Business Impact Model
What this does
Produces a client-ready, multi-sheet Excel workbook that turns a set of
assumptions into a Year-1 revenue projection, an investment plan, and an
ROI/KPI dashboard — with live cross-sheet formulas so every number
recalculates when an input changes. It runs three scenarios side by side
(Conservative / Base / Optimistic) from a single assumptions block.
When to use it
- Building the financial half of a growth strategy or proposal.
- A stakeholder needs a "what if we change this input" model, not a snapshot.
- You need ROI, payback, and a KPI dashboard derived from revenue pillars.
- You want consistent, auditable spreadsheet conventions across deliverables.
How to use it
Read references/model-structure.md to
understand every sheet, its columns, and the color/formula conventions.
Generate the starter workbook (deterministic — always prefer the script over
hand-building cells):
python scripts/build_model.py # -> business_impact_model.xlsx
python scripts/build_model.py /path/to/output.xlsx # custom output path
The script requires openpyxl (pip install openpyxl); it exits with a
clear message if missing. No network access.
Open the workbook and replace the blue placeholder inputs on
Assumptions & Inputs with the client's real numbers across the three
scenario columns. All black and green cells are formulas and update
automatically — do not overwrite them.
Add or rename pillar/revenue-stream build sheets to match the engagement
(one sheet per pillar). Mirror the existing formula pattern so the
Y1 Revenue Projection, Investment Plan, and ROI & KPI Dashboard
roll-ups keep referencing them.
Sanity-check: every result cell should change when you edit a blue input,
and the workbook should open with zero #REF!/#DIV/0! errors.
Inputs
- The revenue pillars / streams for the engagement (1+).
- Per-scenario assumptions (price points, volumes, ramp curves, conversion,
spend) for Conservative / Base / Optimistic.
- Investment line items (retainer + project costs + tooling).
Output
business_impact_model.xlsx (default in the working directory, or the path you
pass) — a workbook with these sheets: Cover & Summary, Assumptions &
Inputs, one or more Pillar build sheets, Y1 Revenue Projection,
Investment Plan, ROI & KPI Dashboard.
Notes & constraints
- Formulas are real Excel formulas (e.g.
=Assumptions!C7*'Pillar 1'!N8),
never hard-coded results — this is the whole point of the model.
- Color convention (kept identical everywhere): blue font = manual input,
black font = in-sheet formula, green font = cross-sheet link,
yellow fill = key result.
- openpyxl writes formulas but does not evaluate them; open the file in
Excel / Google Sheets / LibreOffice once to compute values.
- Keep state in a single assumptions block so scenarios stay consistent; never
duplicate an input across sheets — link to it.
- Use forward-slash paths. Don't assume
openpyxl is installed elsewhere.
1---2name: business-impact-model3description: Generates a multi-sheet .xlsx financial impact model with live cross-sheet Excel formulas, three scenarios (Conservative/Base/Optimistic), and a consistent input/formula/result color convention. Use when building a revenue projection, ROI model, growth-strategy financial model, or business case that needs a real working spreadsheet rather than static numbers.4license: MIT5---67# Business Impact Model89## What this does1011Produces a client-ready, multi-sheet Excel workbook that turns a set of12assumptions into a Year-1 revenue projection, an investment plan, and an13ROI/KPI dashboard — with **live cross-sheet formulas** so every number14recalculates when an input changes. It runs three scenarios side by side15(Conservative / Base / Optimistic) from a single assumptions block.1617## When to use it1819- Building the financial half of a growth strategy or proposal.20- A stakeholder needs a "what if we change this input" model, not a snapshot.21- You need ROI, payback, and a KPI dashboard derived from revenue pillars.22- You want consistent, auditable spreadsheet conventions across deliverables.2324## How to use it25261. Read [`references/model-structure.md`](references/model-structure.md) to27 understand every sheet, its columns, and the color/formula conventions.282. Generate the starter workbook (deterministic — always prefer the script over29 hand-building cells):3031 ```bash32 python scripts/build_model.py # -> business_impact_model.xlsx33 python scripts/build_model.py /path/to/output.xlsx # custom output path34 ```3536 The script requires `openpyxl` (`pip install openpyxl`); it exits with a37 clear message if missing. No network access.383. Open the workbook and replace the **blue** placeholder inputs on39 `Assumptions & Inputs` with the client's real numbers across the three40 scenario columns. All **black** and **green** cells are formulas and update41 automatically — do not overwrite them.424. Add or rename pillar/revenue-stream build sheets to match the engagement43 (one sheet per pillar). Mirror the existing formula pattern so the44 `Y1 Revenue Projection`, `Investment Plan`, and `ROI & KPI Dashboard`45 roll-ups keep referencing them.465. Sanity-check: every result cell should change when you edit a blue input,47 and the workbook should open with zero `#REF!`/`#DIV/0!` errors.4849## Inputs5051- The revenue pillars / streams for the engagement (1+).52- Per-scenario assumptions (price points, volumes, ramp curves, conversion,53 spend) for Conservative / Base / Optimistic.54- Investment line items (retainer + project costs + tooling).5556## Output5758`business_impact_model.xlsx` (default in the working directory, or the path you59pass) — a workbook with these sheets: **Cover & Summary**, **Assumptions &60Inputs**, one or more **Pillar** build sheets, **Y1 Revenue Projection**,61**Investment Plan**, **ROI & KPI Dashboard**.6263## Notes & constraints6465- Formulas are **real Excel formulas** (e.g. `=Assumptions!C7*'Pillar 1'!N8`),66 never hard-coded results — this is the whole point of the model.67- Color convention (kept identical everywhere): **blue font** = manual input,68 **black font** = in-sheet formula, **green font** = cross-sheet link,69 **yellow fill** = key result.70- openpyxl writes formulas but does not evaluate them; open the file in71 Excel / Google Sheets / LibreOffice once to compute values.72- Keep state in a single assumptions block so scenarios stay consistent; never73 duplicate an input across sheets — link to it.74- Use forward-slash paths. Don't assume `openpyxl` is installed elsewhere.