The model

Six frames. One real model.

What the deliverable actually looks like. Twenty-five tabs, forty-four thousand formulas, every cell traceable — for a fictional Singapore marketing agency built to specification.

Your model uses the same architecture, populated with your numbers. Same scenario engine, same checks register, same tie-out discipline. Different categories, different benchmarks, different story.

Frame 01 · Cover01 / 06

The model, before it runs a single number.

Title page, version, FY end, model start, term, denomination. The metadata that determines what every other tab assumes — set once, threaded through 25 tabs.

Overview · spark_creative_model_v27.xlsx
Model cover sheet — entity name, FY config, forecast horizon, denomination
25 tabsFY ending 30 Jun36-month forecastSGD denomination
Frame 02 · Snapshot02 / 06

One page. Twelve months condensed.

YTD revenue, gross margin, EBITDA, cash. Four charts plus an auto-generated narrative that rewrites itself when scenarios or assumptions change. The five-second read the founder opens on Monday.

Snapshot · spark_creative_model_v27.xlsx
Snapshot dashboard — KPI tiles, two charts, auto-generated narrative
9 KPI tiles4 live chartsauto-narrativeagency benchmarks built in
Frame 03 · Trends03 / 06

Thirty-six months. All three scenarios on one chart.

Revenue, gross margin, cost composition, cash trajectory, scenario cash, scenario EBITDA. Trends rows 159-161 bypass the active scenario so Base, Upside and Downside all render side-by-side regardless of toggle state.

Trends · spark_creative_model_v27.xlsx
Trends dashboard — six trajectory charts including scenario-independent display
36-month horizon6 trajectory chartsscenario-independent displaycash + EBITDA paths
Frame 04 · Scenarios04 / 06

One switch. Every downstream cell.

Scenarios!H8 sets the active scenario (1, 2 or 3). Cols J/K/L hold sensitivity values per driver row. Col I muxes via INDEX. Drivers consume the resolved value — downstream formulas stay clean. Forty-four thousand cells respond to one switch.

Scenarios · spark_creative_model_v27.xlsx
Scenarios manager — H8 toggle, J/K/L sensitivity table, INDEX mux formula
3 scenariosRev ±15% / COGS ±10% / Sal ±5% / OpEx ±8%INDEX-CHOOSE muxsingle-cell toggle
Frame 05 · Aggregation hub05 / 06

Where drivers become statements.

FS_M is the seven-thousand-formula aggregation hub: monthly P&L → BS → CF in one tab. Drivers never reference statements; statements never reference drivers. One-way dependency graph, every cell traceable.

FS_M · spark_creative_model_v27.xlsx
FS_M tab — monthly P&L, Balance Sheet and Cashflow rows side by side
7,047 formulas in FS_Mmonthly P&L · BS · CFone-way dependency graphevery cell traceable
Frame 06 · Checks06 / 06

The reason you trust the rest of the model.

Balance sheet ties to zero. Cash reconciles. Unmapped revenue and COGS = 0. Every error check returns 0 or the model is broken — and the Checks tab tells you which one and why. No silent errors.

Checks · spark_creative_model_v27.xlsx
Checks register — validation table with all error checks at zero
BS balance check = 0cash reconcile = 0unmapped category checksalert thresholds
Want this for your business

Same architecture. Your numbers.

Two to three weeks. Pay-on-acceptance — you see it live before you transfer. The 90 days after that are when I sit alongside you running the model against real decisions.

See the underlying spec

Tab inventory25 tabs in fixed order: Overview · Snapshot · Trends · Time · HIS · Budget · Rev_Exp · Capacity · WC · Assets · Capital · Corp_Tax · IS_Map · BS_Map · FS_M · FS_A · FS_12 · Summary · DashM · DashA · SU · Ratios · Scenarios · Lookups · Checks.

Module wiringDrivers never reference statements; statements never reference drivers. One-way dependency graph: input → driver → mapping → FS_M aggregation → output.

Scenario architectureSingle switch at Scenarios!H8 mux'd via INDEX(J:L, 1, $H$8). Sensitivity values live in cols J/K/L (Base/Upside/Downside); col I resolves the active value. Drivers consume col I — downstream stays clean.