Semiconductor framework: how to judge a chip business, and when it is cheap

Written 2026-09-03. A tool in service of the one goal (buy something good at a cheap price, repeatedly). It adapts rule-003 (good is a checklist) and rule-004 (cheap is a margin of safety) to the one industry where trailing multiples lie most often. First application: semiconductors-2026-09-03.md. This file lives under output/ so the site serves it; resources/semiconductor-framework.md is a symlink to it.

Why semiconductors need their own framework

Three facts break the generic Graham screen here:

  1. The cycle dominates. Revenue swings 20-50% peak to trough, earnings 2-10x, memory the most. Trailing P/E inverts as a signal: a 7x forward P/E at a cycle peak (MU, May 2026) is expensive; a 40x trailing P/E at a trough can be cheap. Every earnings-based multiple must be taken on normalised earnings, and every verdict must first say where the name sits in its own cycle.
  2. Six business models share one sector label. An IP licensor with 97% gross margin and no fabs, a commodity memory maker with 40% capex intensity, and a lithography monopoly with a two-year backlog do not have the same "good" or the same "cheap" gauge. Classify first, then measure.
  3. Attention is the sector's steady state. AI capex is the loudest story in markets; every one of these names reaches the owner through reddit, YouTube, or headlines (rule-001). The framework exists so that a price, not a story, decides.

Step 0: classify the business model

Model Names here Economics What "good" looks like Primary cheap gauge
IP / royalty ARM ~97% GM, no fabs, revenue = licence + royalty per chip shipped Rising royalty rate per chip, Armv9 mix, FCF after SBC P/(FCF−SBC) vs royalty growth; Graham on SBC-adjusted EPS
Fabless design NVDA, AMD 50-75% GM, asset-light, depends on TSMC and on customer capex cycles Share of design wins, GM durability, SBC discipline, no customer warrants P/(FCF−SBC), implied growth vs demonstrated growth, hyperscaler capex as demand proxy
Foundry TSM, GFS Capex 10-45% of revenue, utilisation drives GM, long-term agreements ROIC through cycle > 15%, utilisation > 85%, pricing power (ASP up on flat wafers) P/B vs justified P/B = (ROE − g)/(r − g); Graham on mid-cycle EPS
IDM turnaround INTC Design + fabs without scale; loss-to-profit inflection Self-funding capex, milestone delivery, no dilution Scenario EV/price; P/TBV; Graham fails at an inflection (rule-004)
Memory MU Commodity price-taker, capex 35-45% of revenue, GM 20-75% across a cycle Cost-per-bit leadership, HBM share, capex discipline, net cash at peak P/B vs own cycle range (trough 1-1.5x, peak 3-5x); P/normalised EPS; never trailing P/E
Equipment ASML Monopoly on EUV, backlog-driven, GM ~52%, lags foundry capex by 2-4 quarters Bookings > sales, backlog > 1.5 years, China % falling without a sales hole Graham on backlog-supported EPS; P/E vs long-run WFE growth (~7-9%)

Step 1: cycle position (before any multiple)

Five gauges, each read against the company's own 5-year history. Score the position, then decide which earnings number to normalise to.

Gauge Late / peak reads Trough reads
Revenue vs 5-year trend line > 20% above trend below trend
Gross margin vs 5-year range top decile bottom quartile
Inventory days (company and customers) rising 2+ quarters while revenue grows falling from a spike
Capex / revenue vs history industry capex guides rising 30%+ YoY capex cuts announced
P/B vs own 5-year range top decile bottom quartile

Output one word: Trough / Early / Mid / Late / Peak. Peak names take a normalisation haircut before any Graham table (memory: 5-year average EPS or mid-cycle margin × current revenue; fabless at peak GM: GM haircut to the 5-year median). Rule-005 applies in reverse at a trough: a cheap multiple on a shrinking base is only cheap once the decline decelerates.

Step 2: good? Eight tests, scored 0 / 1 / 2

# Test Pass (2) Amber (1) Fail (0)
G1 Through-cycle cash FCF − SBC positive in the trough year of the last cycle Positive on a 5-year sum, negative in the trough Negative on a 5-year sum, or only positive with grants and partner cash
G2 Moat, measured Gross margin at trough > 40% (fabless, IP, equipment) or > 25% (foundry, memory); share rising; ASP up on flat units One of the three Trough GM below threshold and share falling
G3 Returns on capital 5-year average ROIC > 15%; incremental ROIC on the last capex wave positive ROIC 10-15% ROIC < 10% or negative
G4 Balance sheet survives a bad year Net cash, or net debt / mid-cycle EBITDA < 1x; a full capex cycle fundable from cash flow Net debt 1-2x mid-cycle EBITDA Needs the market to fund capex; converts or warrants outstanding
G5 Not funding itself with shares Share count flat or down over 5 years; buybacks exceed SBC; SBC < 5% of revenue (hardware) or < 15% (IP, fabless) Share count up < 5% over 5 years, SBC above threshold but falling Share count up > 5% over 5 years; warrants to customers or governments; ATM; converts within 2-3x
G6 Insiders Open-market buys by officers in the last 12 months, no discretionary sales Sales only under 10b5-1 plans, no buys Cluster selling (CEO + CFO + one more officer within 90 days). Owner's deal-breaker.
G7 Story matches the numbers The AI (or turnaround) claim shows up as disclosed segment revenue and margin, and guidance has been met 4 quarters running Revenue shows it, margins do not (or the reverse) The claim is absent from the filings, or two of the last four guides were missed
G8 Concentration and geopolitics No customer > 15% of revenue; China < 15%; no subsidy the P&L depends on One exposure above threshold Two or more, or a live export-control revenue hole

Good = 12 or more out of 16 with no zero on G1, G5 or G6. A zero on G6 ends the analysis regardless of score (owner's rule, 2026-09-02). Graham's 7 filters (pm graham screen) remain the coarse first pass; they fail every quality semiconductor on P/E and P/B by construction, so their score is context, never the verdict.

Step 3: cheap? Seven tests, one verdict

Run all seven; the verdict comes from C2, C5 and C7 together.

# Test How Cheap reads
C1 Normalised EPS Cyclicals: 5-year average EPS, or 5-year median operating margin × current revenue ÷ shares. Secular growers: forward consensus with a 10-15% haircut. Inflections: scenario EPS two years out (input to C2)
C2 Graham sensitivity V = EPS × (8.5 + 2g) at g = 0 / 3 / 5 / 7.5 / 10 / 15%, on normalised and forward EPS. Read off the break-even g the price implies Break-even g at least 5 points below the growth rate the business has delivered over the last full cycle (5-7 year revenue CAGR), with 25% margin of safety at that rate
C3 Implied-growth gap (P/E − 8.5) / 2 on trailing and forward P/E Gap under 5 points. A gap over 10 points prices an inflection, not growth (rule-004)
C4 Cash yield (FCF − SBC) / market cap. Also EV / (FCF − SBC) Yield above the 10-year Treasury (about 4.2%) for a mature name; above 2.5% for a name growing 20%+
C5 Reverse DCF 10-year FCF CAGR the price needs at a 10% discount rate, 3% terminal growth, fading linearly to terminal in years 6-10 Required CAGR below the demonstrated 5-year FCF CAGR, with room
C6 Book value (capital-heavy only) P/B vs justified P/B = (ROE − g) / (r − g) with r = 10%; P/B vs own 5-year range P/B below justified, or in the bottom third of its own range
C7 Scenario expected value Bear / base / bull EPS two years out × a multiple that fits the model, probabilities stated, EV ÷ price EV/price ≥ 1.25 = cheap; 0.90-1.25 = fair; < 0.90 = expensive

Verdict rule. CHEAP requires all three of: C2 break-even growth cleared with 25% room, C5 required CAGR below demonstrated, C7 ≥ 1.25. FAIR when C7 is 0.90-1.25 and nothing in C2 or C5 is absurd. Otherwise EXPENSIVE. A name at Peak cycle position can never be CHEAP on trailing or current-year numbers, only on normalised ones.

Step 4: what to do with each verdict

Good? Cheap? Action
Good Cheap Candidate. Same-day red-flag check (rule-007), funding source, starter tranche (rule-006)
Good Fair Write the price at which it turns cheap (C7 = 1.25). Set a pm watch REVIEW alert there. Walk away
Good Expensive Same, alert further down. This is where quality compounders spend most of their lives
Not good Cheap Usually a trap (rule-005). Ask why. No buy without a second look at G1 and G5
Not good Any Discard, or hold-only if already owned with a kill list

Portfolio filters that apply on top: VWCE already holds NVDA, TSM, ASML, AMD and MU at material weights, so a direct buy is a deliberate overweight and must say so; DEGIRO trades the US ADRs and ASML.AS in EUR (no TWSE access); a name already held counts against the 20% single-name cap (rule-006).

Kill conditions specific to the sector (rule-008)

Write these into every {TICKER}_plan.json under fundamental_stops:

Known data traps