Skip to content
Finance Lessons

Factor Models

The Fama–French Three-Factor Model

Adding size and value to the market — the FF3 equation, how the SMB and HML factor-mimicking portfolios are built from a 2×3 sort, how big (and how shaky) the premia are including the 2007–2020 value drought, and how to read a fund's factor fingerprint.

9 min Updated Jun 6, 2026

The last lesson left CAPM in pieces. One factor — beta on the market — was supposed to explain why some stocks earn more than others, and it simply didn’t: small companies and cheap (high book-to-market) companies kept beating their betas, decade after decade, all over the world. CAPM wasn’t approximately right with a bit of noise; for the cross-section of stocks it was systematically wrong in two specific, repeatable directions.

In 1992–1993, Eugene Fama and Kenneth French stopped patching CAPM and rebuilt it. Their proposal: keep the market factor, but add two more priced risks — a size factor and a value factor — each captured by a clever long–short portfolio you can actually build and trade. The result, the Fama–French three-factor model (FF3), became the default benchmark for “did this fund actually do anything?” for the next thirty years. This lesson builds it from the ground up: the equation, how the two new factors are physically constructed from a sort of every stock on the exchange, how big the rewards are (and how brutally unreliable), and how to read the factor fingerprint of any fund.

Before you read — take a guess

A fund returned 4 percentage points more than the market over a decade. Its manager calls it skill. Under the Fama–French three-factor model, what is the FIRST thing you'd check before believing her?

Adding two factors to the market

Analogy. CAPM tried to explain every stock’s reward with a single dial: how much it moves with the market. Imagine trying to predict a car’s fuel cost using only its speed. Better than nothing — but you’re ignoring the car’s weight and how often it climbs hills. Fama and French added two more dials. The market dial stays, and beside it sit a size dial (is this a small company or a giant?) and a value dial (is it cheap relative to its accounting net worth, or expensive?). Three dials explain the cross-section far better than one.

Definition. The FF3 model says a stock’s excess return (its return minus the risk-free rate) is explained by three factors plus a residual:

RiRf=αi+βi(RmRf)+siSMB+hiHML+εi.R_i - R_f = \alpha_i + \beta_i\,(R_m - R_f) + s_i\,\text{SMB} + h_i\,\text{HML} + \varepsilon_i.

Reading the pieces:

  • RiRfR_i - R_f is the stock’s return above the risk-free rate (the excess return).
  • RmRfR_m - R_f is the market factor — the excess return of the whole market, exactly as in CAPM. Its loading is βi\beta_i.
  • SMB is Small Minus Big — the size factor, the return of small-cap stocks minus large-cap stocks. Its loading is sis_i.
  • HML is High Minus Low — the value factor, the return of high book-to-market (cheap) stocks minus low book-to-market (expensive) stocks. Its loading is hih_i.
  • αi\alpha_i is the intercept — the average return left unexplained by all three factors. This is the new, much stricter alpha.
  • εi\varepsilon_i is the random, zero-mean noise.
Info:

What is book-to-market, exactly?

Book value is a company’s accounting net worth: assets minus liabilities, the number on its balance sheet. Market value is what the stock market currently prices the whole company at (shares times price). The book-to-market ratio is book ÷ market. A high ratio means the market values the company at little more than (or even less than) its accounting net worth — a “cheap,” unloved, value stock. A low ratio means the market pays a big premium over book — a “glamorous,” expensive growth stock. Value investing, in one number, is buying high book-to-market.

Why this raises the bar on alpha. Under CAPM, anything you couldn’t pin on market beta got crowned as alpha. FF3 hands two more suspects a chance to take the credit before alpha gets it. A manager who looked brilliant under CAPM — “you beat your beta!” — often turns out to have simply tilted toward small, cheap stocks. Once SMB and HML absorb that tilt, the leftover alpha shrinks, frequently to nothing. Adding factors makes alpha a higher bar to clear, because there are now more ways to explain a return away as ordinary risk exposure rather than skill.

Fill in the FF3 framing.

Pick the right option for each blank, then check.

The three-factor model keeps the market factor and adds . The size factor is named SMB, short for Small Minus , and the value factor is HML, short for High Minus , where 'high' refers to a high ratio. Because two more factors can now absorb a return, the leftover alpha becomes a bar to clear.

Building SMB and HML: the 2×3 sort

A factor isn’t an abstract idea — it’s a portfolio with a return you can compute every month. Fama and French build SMB and HML from a single annual sort of every stock, and the recipe is worth knowing exactly, because the mechanics explain the factors’ quirks.

The recipe, every June:

  1. Sort by size into 2 groups. Rank all stocks by market capitalization and split at the NYSE median into Small (S) and Big (B). (Using the NYSE median, not the all-stock median, prevents the thousands of tiny stocks from dominating the cutoff.)
  2. Sort by book-to-market into 3 groups. Independently rank all stocks by book-to-market and split at the NYSE 30th and 70th percentiles into Low (L), Neutral (N), and High (H).
  3. Intersect. Crossing 2 size groups with 3 value groups gives 6 value-weighted portfolios: SL, SN, SH, BL, BN, BH.

Analogy — the muffin tin. Picture a muffin tin with 2 rows (Small on top, Big on the bottom) and 3 columns (Low, Neutral, High book-to-market, left to right). Every stock drops into exactly one of the 6 cups based on its size and its cheapness. Now the two factors are just differences between parts of the tin:

Low B/M (L)Neutral (N)High B/M (H)
Small (S)SLSNSH
Big (B)BLBNBH

SMB (size) = the top row minus the bottom row, averaging across the value columns:

SMB=13(SL+SN+SH)13(BL+BN+BH).\text{SMB} = \tfrac{1}{3}(\text{SL}+\text{SN}+\text{SH}) - \tfrac{1}{3}(\text{BL}+\text{BN}+\text{BH}).

HML (value) = the right column minus the left column, averaging across the size rows:

HML=12(SH+BH)12(SL+BL).\text{HML} = \tfrac{1}{2}(\text{SH}+\text{BH}) - \tfrac{1}{2}(\text{SL}+\text{BL}).

Long–short and self-financing. Each factor buys one set of portfolios and short-sells another of equal value. SMB is long all the small portfolios and short all the big ones; HML is long the cheap portfolios and short the expensive ones. Because the long and short legs are roughly equal in dollars, the factor is self-financing (the short proceeds fund the long side) and approximately dollar-neutral and market-neutral — it isolates the size or value spread, not the market’s overall direction. That’s the whole point: a factor return should measure the reward for the tilt itself, stripped of how the market happened to do.

Sort each statement about how SMB and HML are constructed: true or a myth?

Place each item in the right group.

  • HML uses 3 size groups and 2 value groups
  • SMB averages the small portfolios and subtracts the average of the big portfolios
  • Stocks are sorted into 2 size groups and 3 book-to-market groups, giving 6 portfolios
  • The portfolios are value-weighted, re-formed once a year in June
  • Each factor is long one set of stocks and short another of roughly equal value
  • SMB just buys every small stock with no short side at all

Why the sorts cancel each other out

Here’s the subtle part that makes the design elegant. SMB and HML are both built from the same 6 portfolios, yet they’re meant to measure two different things — size and value — without contaminating each other. The averaging is what pulls that off.

Look again at the formulas. SMB averages across the three value columns (it uses SL, SN, and SH on the small side; BL, BN, and BH on the big side). By including low, neutral, and high book-to-market stocks equally on both the long and short legs, SMB’s value exposure roughly cancels out — whatever value tilt is in the small leg is matched in the big leg. What’s left is (mostly) pure size.

Symmetrically, HML averages across the two size rows (it uses both SH and BH on the long side, both SL and BL on the short side). Small and big appear equally on both legs, so HML’s size exposure roughly cancels, leaving (mostly) pure value.

This is the intuition behind orthogonalization: by constructing each factor so the other characteristic is balanced across its long and short legs, Fama and French make SMB and HML approximately independent. A regression can then attribute a stock’s return to size and value separately instead of tangling them together. It’s not perfect — the factors still have a modest negative correlation in the data — but the averaging is a deliberate, effective purification step, not an accident.

Why does SMB average across all three book-to-market groups (low, neutral, AND high) on both its long and short legs, instead of, say, only using neutral stocks?

How big are the premia — and how shaky?

A factor is only worth modeling if it actually pays. So how much have the three premia historically earned, and how reliable is that reward? The honest answer is: the rewards are real on a very long horizon, but they are noisy, contested, and wildly regime-dependent — and pretending otherwise is the single biggest mistake in factor investing.

Rough long-run US figures (annualized, and deliberately given as ranges, because they wobble with the sample):

  • Market (MKT-RF): about 6–8% per year. The biggest and most dependable of the three.
  • Size (SMB): about 2–3% per year — but weak and contested, especially after 1980. The size effect shrank sharply after the original papers were published; much of the early “small stocks win” result was concentrated in tiny, illiquid micro-caps and in January.
  • Value (HML): about 3–4% per year over the full sample — but it endured a severe value drought from roughly 2007 to 2020, where HML was flat to negative for over a decade as growth and tech stocks crushed cheap ones. It staged a partial rebound from 2021 onward.

The reliability problem, stated bluntly. Over the full ~1927–2024 sample, the t-statistics on these premia are only about 2 to 3 — barely clearing the conventional “statistically significant” line, and that’s with nearly a century of data. The annual standard deviation of each factor is roughly 10–15%, which utterly dwarfs the 2–4% mean. When the noise is several times the signal, a decade-long negative stretch is not a sign the factor is broken — it’s exactly what you should expect from a positive-but-noisy series. The value drought felt like a death, but it sits comfortably inside the normal range of a factor with that mean and that volatility.

The same factors, two very different regimes% per year
Positive premiumNegative premium
Market (MKT-RF)+7.5Size (SMB)+2.5Value (HML)+3.5
Market (MKT-RF)
+7.5 % per year
Size (SMB)
+2.5 % per year
Value (HML)
+3.5 % per year

Sample period: Full sample 1927–2024

Over the full sample all three premia are positive, with the market the largest. Flip to the 2007–2020 value drought and the picture inverts: the market kept paying, size flatlined, and value was solidly negative for over a decade. The premia are real on long horizons but regime-dependent — a positive long-run mean buried under year-to-year noise several times larger.

Warning:

A flat decade is not a broken factor

The most expensive error in factor investing is abandoning a real factor at the bottom of a long drawdown — selling value in 2020 right before its 2021 rebound. With an annual mean of ~3% and an annual standard deviation of ~12%, simple math says multi-year and even decade-long negative runs are normal, not anomalous. The premium is a faint signal under loud noise; you only collect it if you can sit through stretches where it looks dead. Conversely, never treat a single great backtest decade as proof a factor is reliable — the same noise that hides real premia can manufacture fake ones.

HML earned roughly nothing — even slightly negative — from 2007 to 2020. Given that its full-sample mean is about 3–4% per year with an annual standard deviation around 12%, what's the correct interpretation?

Reading a fund’s factor fingerprint

Once you can estimate a fund’s three loadings — β\beta on the market, ss on SMB, hh on HML (you’ll do this by regression in a later lesson) — you can read its factor fingerprint: a compact description of what kinds of bets the fund really makes.

  • s>0s > 0 (positive SMB loading) → a small-cap tilt: the fund leans toward smaller companies.
  • s<0s < 0 → a large-cap tilt.
  • h>0h > 0 (positive HML loading) → a value tilt: it favors cheap, high book-to-market stocks.
  • h<0h < 0 → a growth tilt: it favors expensive, glamorous stocks.

A classic small-cap value fund shows up as s>0s > 0 and h>0h > 0. A large-cap growth fund (think a tech-heavy index) shows up as s<0s < 0 and h<0h < 0. The sizes of the loadings tell you how hard the fund tilts.

Warning:

The misconception that funds a thousand careers

“Small-cap value funds beat the market, so their managers must be brilliant stock-pickers.” Usually false. Small-cap value funds beat the market index mostly because they’re loaded on SMB and HML — they’re harvesting the size and value premia mechanically, not picking winners. The honest test isn’t “did you beat the S&P?”; it’s “did you beat the S&P after subtracting what your size and value tilts earned for free?” Run that regression and the celebrated alpha usually collapses toward zero. Skill is the residual after factor exposure, not the raw outperformance.

Worked example — decomposing a fund’s return. A small-cap value fund has these estimated loadings, and we’ll use the long-run premia from the chart above:

FactorLoadingPremiumContribution = loading × premium
Market (MKT-RF)β=1.0\beta = 1.06.0%1.0 × 6.0% = 6.0%
Size (SMB)s=0.6s = 0.62.5%0.6 × 2.5% = 1.5%
Value (HML)h=0.4h = 0.43.5%0.4 × 3.5% = 1.4%

Add the three contributions to get the return FF3 expects from this fund’s exposures alone:

Expected excess=1.0(6%)+0.6(2.5%)+0.4(3.5%)=6%+1.5%+1.4%=8.9%.\text{Expected excess} = 1.0(6\%) + 0.6(2.5\%) + 0.4(3.5\%) = 6\% + 1.5\% + 1.4\% = 8.9\%.

Now suppose the fund actually delivered 9.4% in excess return. The FF3 alpha is whatever the factors can’t explain:

α=9.4%8.9%=+0.5%.\alpha = 9.4\% - 8.9\% = +0.5\%.

So of the fund’s 9.4% excess return, 8.9 points were just factor tilts — beta you could have rented through cheap index products — and only 0.5 points were genuine, unexplained skill. A fund that looked like a 9.4-point market-beater is, honestly measured, a 0.5-point one. That gap is the entire reason FF3 exists.

Where the 9.4% really came fromTotal excess return: 9.40 % / yr
  • Market6.00 % / yr
  • Size (SMB)1.50 % / yr
  • Value (HML)1.40 % / yr
  • Alpha (true skill)0.50 % / yr
  • Total excess return9.40 % / yr

Market 6.00 % / yr, Size (SMB) 1.50 % / yr, Value (HML) 1.40 % / yr, and Alpha (true skill) 0.50 % / yr, for a total excess return of 9.40 % / yr.

The fund's 9.4% excess return decomposes into 6.0 from market beta, 1.5 from its small-cap tilt, and 1.4 from its value tilt — leaving a thin 0.5% of true alpha. Most of the 'outperformance' was rentable factor exposure, not skill.

A fund's factor regression gives β = 1.1, s = −0.5, h = −0.6. What kind of fund is this, and how should you read those signs?

If a fund just harvests SMB and HML, why pay it at all — why not buy the factors directly?

Exactly the right question, and it’s the seed of the entire “smart beta” industry you’ll meet later in this course. If a fund’s whole edge is a small-and-cheap tilt, you can replicate that tilt with a low-cost factor ETF and pocket the fee difference. The active manager is only worth an active fee if she delivers alpha — return after every factor contribution is stripped out — that reliably beats what you’d get renting the same exposures cheaply. FF3 is precisely the tool that separates the two: it tells you how much of the fund is rentable beta (buy it cheap) and how much is genuine, scarce skill (worth paying for, if it’s real and not just noise). Most of the time, the answer is “mostly beta,” which is why index and factor funds ate the world.

Putting it together

The Fama–French three-factor model keeps CAPM’s market factor and adds two more priced risks — size (SMB) and value (HML) — so a stock’s excess return reads RiRf=αi+βi(RmRf)+siSMB+hiHML+εiR_i - R_f = \alpha_i + \beta_i(R_m - R_f) + s_i\,\text{SMB} + h_i\,\text{HML} + \varepsilon_i. The two new factors are built from a 2×3 sort every June (2 size groups by the NYSE median, 3 book-to-market groups by the 30th/70th NYSE percentiles), giving 6 value-weighted portfolios; SMB is the small portfolios minus the big ones and HML the high book-to-market minus the low. Averaging each factor across the other characteristic makes them approximately orthogonal. The premia are real over long horizons (market ~6–8%, SMB ~2–3% and contested, HML ~3–4%) but noisy and regime-dependent, with a punishing 2007–2020 value drought that was statistically normal, not a death. Estimate a fund’s three loadings and you can read its fingerprint and decompose its return — almost always finding that the headline outperformance was mostly rentable factor beta, with only a thin sliver of true alpha left over.

Big picture

The Fama–French three-factor model

  • Fama–French three-factor model
    • The FF3 equation
      • Ri − Rf = αi + βi(Rm − Rf) + si·SMB + hi·HML + εi
      • Keeps the market factor from CAPM
      • Adds SMB (size) and HML (value)
      • More factors → alpha is a higher bar
    • SMB and HML
      • SMB = Small Minus Big (size)
      • HML = High Minus Low book-to-market (value)
      • High book-to-market = cheap, value stock
      • Long–short, self-financing, ~market-neutral
    • The 2×3 sort (each June)
      • 2 size groups at the NYSE median
      • 3 B/M groups at 30th / 70th percentiles
      • 6 value-weighted portfolios: SL,SN,SH,BL,BN,BH
      • Averaging makes the factors ~orthogonal
    • Premia and the value drought
      • Market ~6–8%, SMB ~2–3%, HML ~3–4%
      • SMB weak/contested after 1980
      • 2007–2020 value drought: HML flat to negative
      • Noise ≫ mean → flat decades are normal
    • Fingerprint and alpha
      • s > 0 small tilt, h > 0 value tilt
      • Decompose return into factor contributions
      • Alpha = return minus all factor contributions
      • Most "skill" is just rentable factor beta
Market + size + value. Built from a 2×3 sort into SMB and HML, with real-but-noisy premia (mind the value drought) and a fingerprint that separates rentable beta from true alpha.

Recap: the Fama–French three-factor model

Question 1 of 60 correct

Which two factors does the Fama–French model add to CAPM, and what does each measure?

Check your answer to continue.

Next up — Momentum and the five-factor model — we add the strongest and scariest factor of all (momentum, UMD, with its rare but catastrophic crashes) plus the two newer Fama–French additions, profitability (RMW) and investment (CMA), and meet the q-factor model that challenges them. FF3 was the foundation; the modern factor zoo is built on top of it.

Mark lesson as complete