Building a Simple Earnings Forecast Model
An earnings forecast model translates observable business drivers into a projected income statement. The practical point: you are not predicting the future—you are building a framework that makes your assumptions explicit, testable, and sensitive to the variables that actually move EPS. Most stock price movements track earnings surprises; if you forecast earnings within 10% of actuals, you outperform the average analyst (Bradshaw, Drake, Myers & Myers, 2012).
Why Building an Earnings Forecast Matters
Every investment thesis implicitly contains an earnings forecast. When you say "this stock is cheap," you're claiming future earnings will exceed what the market expects. The point is: making that forecast explicit forces intellectual honesty (and reveals the assumptions you would otherwise ignore).
A basic earnings model follows this chain:
Revenue drivers → Gross profit → Operating income → Below-the-line items → Net income → EPS
A 3-5 year forecast horizon balances visibility (management guidance typically covers 1-2 years) with valuation relevance (terminal value still dominates, but your explicit forecast reduces that dependence).
Revenue Drivers (Where the Model Starts)
Volume x Price (The Simplest Build)
For most businesses, revenue decomposes into units sold x average selling price (ASP).
Example: A consumer goods company sells 10M units at $5.00 ASP in Year 0, yielding $50M revenue. You forecast volume +4% annually and price +2% annually.
Year 1 revenue = 10.4M units x $5.10 = $53.0M (+6% growth)
Why this matters: separating volume from price reveals what you're really betting on (market growth vs. pricing power vs. execution).
Segment Buildup (For Diversified Companies)
Companies with multiple business lines require segment-level forecasts. A technology company with Cloud ($80M, growing 15%/year), Legacy software ($40M, declining 5%/year), and Services ($20M, flat) reaches $176M blended in Year 3 (CAGR: 8.2%).
The durable lesson: segment mix shifts compound over time—a company with one growing segment and one shrinking looks very different in Year 5 than the blended average suggests.
Margin Assumptions (Where Earnings Materialize)
Historical Trends First
Start with 3-5 years of gross margin history. Look for stability (CV <5% suggests pricing power), trend (>30 bps/year improvement suggests leverage), and level versus peers.
Practical rule: Unless you have specific evidence of change, carry forward the 3-year average margin as your baseline.
Operating Margin: Weight Guidance Against History
- Historical operating margin: 12.0% (5-year average)
- Management guidance: "expect 50-100 bps expansion"
- Your forecast: 12.5% (midpoint)
Why this matters: operating leverage cuts both ways—a company guiding to margin expansion during revenue growth will suffer margin compression if revenue disappoints.
The point is: 1.5% margin swing equals 12% EPS swing—margin assumptions matter as much as revenue assumptions.
Below-the-Line Items (The Final Steps to Net Income)
Interest Expense
Interest expense = Average debt balance x Weighted average rate
Year 0 debt of $50M at 5.0% = $2.5M expense. If debt declines $5M/year, Year 3 interest = $1.75M.
Tax Rate
Take the 3-year average effective tax rate from filings. The durable lesson: don't forecast tax rate improvements you can't explain—"tax optimization" rarely delivers consistently.
Share Count
Shares change through buybacks, issuance, and stock compensation. Track all three: if annual dilution 1.0% and buybacks 0.5%, net change is +0.5%/year.
Why this matters: buybacks don't help EPS if dilution exceeds repurchases—check both sides.
Worked Example: 5-Year P&L Forecast
Starting point (Year 0): Revenue $200M, Gross margin 62%, Operating margin 14%, Interest $3M, Tax rate 24%, Shares 50M
Assumptions
| Driver | Assumption | Justification |
|---|---|---|
| Revenue growth | 8% CAGR | Historical 10%, guidance 7-9% |
| Gross margin | 62% flat | Stable history |
| Operating margin | +50 bps/year | Management guidance |
| Shares | +0.5%/year | Dilution 1.0%, buybacks 0.5% |
Year-by-Year Projection
| Line Item | Year 0 | Year 1 | Year 3 | Year 5 |
|---|---|---|---|---|
| Revenue ($M) | 200.0 | 216.0 | 252.0 | 293.9 |
| Operating Income ($M) | 28.0 | 31.3 | 39.3 | 49.7 |
| Operating Margin | 14.0% | 14.5% | 15.5% | 16.9% |
| Net Income ($M) | 19.0 | 21.5 | 27.6 | 35.5 |
| Shares (M) | 50.0 | 50.3 | 50.8 | 51.3 |
| EPS | $0.38 | $0.43 | $0.54 | $0.69 |
5-year EPS CAGR: 12.7% (faster than 8% revenue due to operating leverage)
The point is: 8% revenue growth becomes 12.7% EPS growth when margins expand—the leverage effect is what makes forecasting margins worth the effort.
Sensitivity to Key Assumptions
Revenue and Margin Sensitivity
| Revenue CAGR | Year 5 EPS | vs. Base |
|---|---|---|
| 5% | $0.57 | -17% |
| 8% | $0.69 | Base |
| 11% | $0.83 | +20% |
| Op Margin Trend | Year 5 EPS | vs. Base |
|---|---|---|
| -50 bps/year | $0.52 | -25% |
| +50 bps/year | $0.69 | Base |
| +100 bps/year | $0.79 | +14% |
Combined Scenario Analysis
| Scenario | Revenue CAGR | Margin Trend | Year 5 EPS |
|---|---|---|---|
| Bear | 5% | -50 bps/year | $0.44 |
| Base | 8% | +50 bps/year | $0.69 |
| Bull | 11% | +100 bps/year | $0.95 |
Why this matters: the spread from bear to bull is $0.44 to $0.95—a 2.2x range. If you can't narrow this range with conviction, position size should reflect that uncertainty.
Common Mistakes
Mistake 1: Revenue without driver decomposition. You project "10% growth" without specifying volume, price, or mix. Fix: Decompose into volume x price or segment-by-segment.
Mistake 2: Margin expansion without leverage mechanics. You assume "+100 bps/year" but haven't verified fixed costs decline as % of revenue. Fix: Check SG&A/revenue historically declines with scale.
Mistake 3: Ignoring share count. Net income grows 15% but EPS grows 12% because dilution consumed 3%. Fix: Track dilution, buybacks, and stock comp separately.
Earnings Model Checklist
High ROI (every forecast)
- Decompose revenue into volume x price or segment buildup
- Use 3-5 year historical margin averages as baseline
- Check share count trajectory (dilution vs. buybacks)
- Run sensitivity on revenue CAGR +/-3% and margin +/-100 bps
Medium ROI (thorough forecasts)
- Validate revenue growth against industry growth + share change
- Build bear/base/bull scenarios with probability weights
Next Step
Build a forecast for one stock you own or are considering.
- Pull the last 3 years of income statements from the 10-K
- Calculate gross margin, operating margin, and effective tax rate for each year
- Decompose revenue into segments or volume x price
- Project 3 years forward using the template above
- Run sensitivity on your two most uncertain assumptions
Interpretation:
- Bear and bull differ by <30%: reasonable visibility
- Bear and bull differ by >50%: wide-outcome situation requiring smaller position size
The durable lesson: a simple earnings model is not about precision—it's about knowing what you're betting on and how wrong you can afford to be.