Purpose
Produce a defensible weighted average cost of capital (WACC) — and a low/base/high range around it — from a structured set of cost-of-equity, cost-of-debt, and capital-structure inputs, with every assumption documented so the rate survives audit, committee, or counterparty scrutiny. Eliminates the guesswork and unsourced "10%" that undermines valuation credibility.
When to Use
Invoke this skill when the user asks to:
- Determine the discount rate for a DCF or valuation model
- Calculate or sanity-check a company's WACC
- Build a cost of equity using CAPM
- Justify a discount rate for an impairment test, fairness opinion, or audit
- Set a hurdle rate for a capital budgeting or investment decision
- Re-derive a discount rate after a change in capital structure, leverage, or rates
Inputs Required
Before starting, collect:
- Subject company/target: Name, industry, and whether public, private, or a project/asset
- Risk-free rate: Current yield on the relevant government bond (specify tenor — typically 10Y or 20Y); if unknown, note the country/currency so a default can be applied
- Beta inputs: Levered or unlevered beta (and source), or comparable public companies to derive an industry beta
- Equity risk premium: ERP for the home market, or the market it should be sourced from
- Capital structure: Target or current debt/equity weights (market value preferred), or enough data to estimate
- Cost of debt: Pre-tax cost of debt (current borrowing rate or yield on outstanding debt) and the marginal tax rate
- Risk premiums (optional): Size premium, company-specific premium, and country risk premium if the subject operates outside the ERP's home market
If risk-free rate or ERP are missing, apply reasonable current-market defaults for the stated currency/region and flag every default in the assumption log.
Instructions
Step 1: Establish the Currency and Consistency Frame
Lock the analysis to a single currency and a consistent set of inputs before any math.
- Confirm the cash flows being discounted are in the same currency as the risk-free rate and ERP (a USD discount rate cannot discount EUR cash flows without an adjustment)
- Confirm nominal vs. real — nominal discount rate for nominal cash flows; never mix
- Note the valuation date — risk-free rate and ERP should reflect that date, not a stale figure
Step 2: Build the Cost of Equity via CAPM
Use the standard CAPM identity, then layer additional premiums:
Base CAPM: Cost of Equity = Risk-Free Rate + (Beta × Equity Risk Premium)
Resolve each component:
- Risk-free rate: Use the long-term government bond yield matching the cash flow horizon and currency. Prefer 10Y or 20Y over short rates for long-duration valuations.
- Beta: If using comparables, unlever each comp's beta — βu = βl / [1 + (1 − tax) × (D/E)] — average the unlevered betas, then relever to the subject's target capital structure — βl = βu × [1 + (1 − tax) × (D/E)]. State whether a raw or adjusted (Blume) beta is used.
- Equity risk premium: Use a sourced ERP (historical or implied). State the source and approach.
Additional premiums (add to the CAPM result where applicable):
- Size premium: For smaller companies, add a size premium reflecting the small-cap excess return (state the decile/range used)
- Country risk premium (CRP): For operations in higher-risk markets, add a CRP (e.g., sovereign default spread adjusted for relative equity volatility). Apply either as an additive premium or beta-adjusted — state the method.
- Company-specific premium: For idiosyncratic risk (key-person, customer concentration, thin trading), add a documented specific premium with rationale
Show the full build-up arithmetic line by line so the final cost of equity is traceable.
Step 3: Determine the After-Tax Cost of Debt
- Start with pre-tax cost of debt: use the yield on outstanding debt, the marginal new-borrowing rate, or a synthetic rating-based spread over the risk-free rate
- Apply the tax shield: After-Tax Cost of Debt = Pre-Tax Cost of Debt × (1 − Marginal Tax Rate)
- Use the marginal tax rate, not the effective rate, for the shield — state which jurisdiction's rate applies
Step 4: Set Capital Structure Weights
- Prefer market-value weights for equity and debt; use book value only when market value is unavailable and note it
- Use target capital structure for going-concern valuations (the structure the company manages toward), not a transient current snapshot, unless valuing a specific present state
- Confirm weights sum to 100% (E/V + D/V = 1)
Step 5: Compute WACC
WACC = (E/V × Cost of Equity) + (D/V × After-Tax Cost of Debt)
Present the calculation as a labeled table showing each weight, each component cost, and the weighted contribution.
Step 6: Build the Low / Base / High Range
A single-point WACC overstates precision. Flex the two or three most sensitive assumptions:
- Vary the ERP (e.g., ±0.5–1.0%), the beta (±0.1–0.2), and the risk-free rate or capital structure across reasonable bounds
- Produce a Low, Base, and High WACC. The base is the recommended point estimate; the range frames the uncertainty for committee or audit discussion.
- State which single assumption the WACC is most sensitive to
Step 7: Sanity-Check Against Reality
- Compare the result to typical WACC ranges for the industry and company size; flag if outside the plausible 6–14% band for most mature companies and explain why
- Confirm cost of equity exceeds cost of debt (it should — equity is riskier)
- Confirm WACC sits between cost of debt and cost of equity
Output Format
- Structure: Sequential build-up — consistency frame, cost of equity build-up, after-tax cost of debt, capital weights, WACC calculation table, low/base/high range, sanity check, assumption log
- Length: 700–1,000 words
- Format: Structured document with labeled calculation tables for the CAPM build-up, the WACC computation, and the sensitivity range
- Sections: Consistency Frame → Cost of Equity (CAPM Build-Up) → After-Tax Cost of Debt → Capital Structure Weights → WACC Calculation → Low/Base/High Range → Sanity Check → Assumption Log
- Tone: Corporate finance specialist — precise, sourced, auditable; every number traceable to an input or stated assumption
Quality Checklist
Before delivering output, verify:
- [ ] Cost of equity is shown as a line-by-line CAPM build-up, not a single asserted number
- [ ] Beta is explicitly unlevered and relevered to the subject's capital structure when comps are used
- [ ] After-tax cost of debt uses the marginal tax rate and the tax shield is shown
- [ ] Capital structure weights sum to exactly 100% and the basis (market vs. book) is stated
- [ ] A Low/Base/High WACC range is produced, not just a single point estimate
- [ ] Every input that was defaulted or assumed appears in the assumption log with its source or rationale
- [ ] WACC falls between cost of debt and cost of equity (logic check)
Notes
- The single most common error is currency/horizon mismatch — a risk-free rate in one currency discounting cash flows in another silently distorts every valuation. Lock the frame first.
- For private companies, the size premium and company-specific premium often move the discount rate more than beta does — do not skip them.
- Target capital structure beats current capital structure for going-concern DCFs; a company mid-recapitalization should be modeled at where it is heading, not a temporary snapshot.
- When using rating-based synthetic cost of debt, state the assumed credit rating and the spread source so the figure is defensible.
How to use this skill
This file is a Claude Code skill in Anthropic's standard format — markdown with YAML frontmatter at the top.
Installing in Claude Code:
~/.claude/skills/<folder-name>/SKILL.md— auto-loads in every session anywhere on your machine (recommended for skills you'll use across multiple projects)<your-project>/.claude/skills/<folder-name>/SKILL.md— auto-loads only when working in that project (recommended for project-specific skills)
Restart Claude Code or open a new session to register.
Using in Claude.ai, ChatGPT, Gemini, or other AI tools:
- Drag this file into a new chat, or copy and paste its contents
- Send your task or request as your next message — the AI will apply the skill where it fits
For Claude Code skill details: https://docs.anthropic.com/en/docs/claude-code/skills