Kumu / Corporate Finance / Stage 1

Stage 1 — Provided Ratios Template

Deliverable: unmodified template in models/templates/ + the performance-ratios skill in .claude/skills/

Your instructor provides the Excel model everyone builds on. Stage 1 isn't about modifying it — it's about understanding its architecture, because Stages 3 to 8 all speak this template's language.

What you'll learn

The architecture

TabWhat it holds
Cover & InstructionsProject overview, how to use the template, the named-range key — and where you'll document source URL, reporting standard, currency, and fiscal year end at Stage 3
LegendColor code: yellow = inputs, blue = assumptions, green = formulas, gray = outputs
Income StatementSkeleton with INC_* named-range placeholders
Balance SheetCurrent + prior year columns — BAL_* and startYear_*
Cash FlowOperating / investing / financing — CASH_*, including CASH_capex and CASH_working_capital_change
RatiosAll six categories, fully formulaic in named-range notation (RATIO_*) — zero hardcoded numbers. It auto-populates the moment Stage 3 data lands

Named ranges — the big idea

A named range assigns a label to a cell, so formulas read like finance instead of like coordinates:

❌ cell-address style:   = B12 / D14
✓ named-range style:    = INC_net_income_2025 / BAL_assets_total_2025

Three consequences, and they carry the whole project:

The startYear_* convention

Ratios with a balance-sheet denominator (ROA, asset turnover, inventory turnover) use the average of the start-of-year and end-of-year values. The prior-year column populates the startYear_* named ranges. Miss it at Stage 3 and these ratios fail silently — it's the single most common mistake in the project.

Want to feel how the formulas behave? The Ratio Lab mirrors this template's named ranges and averaging conventions — try the sample company.

Two names the valuation stages need

Most CASH_* names are subtotals the ratios use. Two more exist for the DCF in Stages 6 to 8, which needs a base-year free cash flow:

NamePoints atSign convention
CASH_capexCash Flow tab, Capital expenditures lineRecorded negative (cash out)
CASH_working_capital_changeCash Flow tab, Total change in working capital linePositive = cash released; a build in working capital is negative

Check that they are there: open your copy → Formulas → Name Manager → both names listed. If they are missing, your copy predates them — download the template again and replace your copy (it is still blank at this stage, so nothing is lost).

The statement tabs show figures in the currency and scale you enter on the Notes tab (Units row) — "VND billion", "EUR million", "USD thousand". Nothing in the template assumes U.S. dollars.

Install the performance-ratios skill

A skill is a folder of instructions an AI agent (Claude Code, Codex, and others) loads on demand. This one is the workbook's named-range contract: what each name means, which valuation inputs can be derived from the names, and the identity checks any model built on the workbook must pass. You run its checks at Stage 3, and the DCF agent in Stages 6 to 8 reads the workbook through it. Install it unmodified at:

[your-repo]/.claude/skills/performance-ratios/SKILL.md

The source is the sample portfolio repo in the course templates folder.

On github.com (no install needed)

  1. Open the source link above → click Raw → select all and copy.
  2. In your portfolio repo on github.com → Add file → Create new file.
  3. In the name box type .claude/skills/performance-ratios/SKILL.md — each / creates a folder.
  4. Paste, then Commit changes with the message Add performance-ratios skill.

Or ask Claude Code / Codex

Open it in your repo folder and prompt:

Copy the file at
https://github.com/adamwstauffer/shidler/blob/main/templates/portfolio/firstname-lastname/.claude/skills/performance-ratios/SKILL.md
into .claude/skills/performance-ratios/SKILL.md in this repo, unchanged,
and commit it alone with the message "Add performance-ratios skill".
Show me the commit when you are done.

Read the skill once after installing it. You will not change it at this stage.

What to do

  1. Download performance-ratios-template.xlsx from the course templates folder.
  2. Open it and click through every tab. Read the Cover tab. Skim the Ratios tab and notice every formula is a sentence in named ranges.
  3. Commit an unmodified copy to models/templates/ in your repo.
  4. Install the performance-ratios skill, unmodified, at .claude/skills/performance-ratios/SKILL.md.
  5. Complete the directory skeleton (if Stage 0 left gaps) — README in every folder.

Do not modify the template yet

If you spot something you'd change — write it down. That observation becomes raw material for your Stage 4 spec, where improvements belong.

Set up this project's folders

Stage 0 stood up your portfolio repo. This project adds three folders to that skeleton, and every stage from here commits into one of them. Build them now, each with a one-line README.md inside — Git does not track an empty folder, so the README is what makes the folder exist — and no later stage stalls on housekeeping.

firstname-lastname/
  .claude/
    skills/
      performance-ratios/  SKILL.md, installed unmodified (Stage 1)
  docs/
    decisions/         the selection, spec-iteration and feedback-response memos
  capabilities/
    performance-ratios/  add this: spec.md, the model specification (Stage 4)
  models/add this whole branch
    templates/         the instructor's template, unmodified
    builds/            your populated workbook
  data/                the filings you worked from, with provenance
  analysis/            the final analysis, the verification, the raw LLM run, the retrospective
  prompt-log.md        your running AI record, at the repo root
StageDeliverableWhere it goes
1Unmodified template + skillmodels/templates/performance-ratios-template.xlsx · .claude/skills/performance-ratios/SKILL.md
2Company-selection memodocs/decisions/YYYY-MM-DD-{company-slug}-selection-memo.md
3Populated workbook + identity-check logmodels/builds/YYYY-MM-DD-{company-slug}-financials.xlsx · analysis/validation/YYYY-MM-DD-{company-slug}-identity-checks-log.md
4Model spec + revision evidencecapabilities/performance-ratios/spec.md · docs/decisions/YYYY-MM-DD-{company-slug}-spec-iteration-memo.md
5Verification + final analysisanalysis/YYYY-MM-DD-{company-slug}-verification-analysis.md · analysis/YYYY-MM-DD-{company-slug}-analysis.md
6Modified DCF skill + run brief + annotated diff.claude/skills/dcf-model/ · capabilities/valuation/spec.md · analysis/YYYY-MM-DD-{company-slug}-dcf-skill-diff-analysis.md
7DCF model + audit + verificationcapabilities/valuation/model.xlsx · analysis/YYYY-MM-DD-{company-slug}-dcf-audit-analysis.md · analysis/YYYY-MM-DD-{company-slug}-dcf-verification-analysis.md
8Valuation memodocs/decisions/YYYY-MM-DD-{company-slug}-valuation-memo.md

Every graded file carries the same prefix — YYYY-MM-DD-{company-slug}, a real date and your company slug, then what the document is (-selection-memo, -spec, -analysis), all lowercase. The repo is named for you; individual files carry the date and company, so a folder full of them stays legible. Your running AI record lives at prompt-log.md at the repo root and is appended to, not replaced. Each stage page restates its own path, so you never have to come back here — this is the whole map in one place.

Submission checklist

Rubric

The headings below are what the work is read for. Weights and due dates are in your course schedule.

CriterionStrong work looks like
Template and skill installed correctlyTemplate unmodified, correct directory and filename; performance-ratios skill in place and unmodified
Directory structureAll required directories; README in each; logical organization
README qualityExplain purpose and conventions — not placeholders
Commit hygieneMeaningful messages; clean history

Check yourself