Analyst Dojo
Lesson 7 of 7 11–14% of the exam

Estimating beta with a CAPM regression

The capital asset pricing model (CAPM) says only market risk, measured by beta, earns a premium. To estimate beta, regress the asset's excess returns on the market's excess returns: the slope is beta. Then the expected return is the risk-free rate plus beta times the market risk premium.

7 min cram, 34 min full read. Based on the 2027 CFA® Program Level I curriculum, Quantitative Methods, Learning Module 10.

Tailor this to you: take the self-assessment

Before this: Goodness of fit and testing the regression coefficients, From the capital allocation line to the capital market line and the CAPM

On the exam

  • Calculate and interpret the variable estimates of the capital asset pricing model (CAPM)

Calculate and interpret the estimates of a CAPM regression. Expect to pick beta out of a regression output, read R² as the share of the asset's excess-return variance the market explains, test beta against zero or one, build a confidence interval for beta, compute an expected return or the change in expected excess return when the market risk premium moves, and name the data needed.

How deeply to learn each part
Know the idea
Understand it in general. It frames other topics, but you will not calculate with it.
Use it
Understand it well enough to solve a question with it. Recognize when it applies.
Memorize
Learn it by heart. The exam will not give it to you.

You know this one. The full lesson is folded away. The takeaways, formulas and checkpoint below are your quick refresher, and the checkpoint is a fair test of whether you still do.

You tested strong here. The full lesson is folded away. The takeaways, formulas and checkpoint below are your quick refresher, and the checkpoint is a fair test of whether you still know it.

Cram mode: the one-screen version of this lesson. Switch to Full for the explanations, worked examples and interactives.

What does the capital asset pricing model say?

The capital asset pricing model (CAPM) links an asset’s expected return to its systematic risk , the risk it shares with the whole market, measured by beta. It is a one-factor model: the only reward for risk is beta times the market risk premium , E[rm]−rfE[r_m] - r_f, where rfr_f is the risk-free rate and E[rm]E[r_m] is the expected return on the market. Idiosyncratic risk (also called non-systematic risk) can be diversified away, so it earns nothing.

Capital asset pricing model Memorize
E[ri]=rf+βi(E[rm]−rf)E[r_i] = r_f + \beta_i\left(E[r_m] - r_f\right)

Learning Module 8 derives the model; this lesson estimates beta from data. By using only the market, the CAPM ignores other factors such as size, value and momentum, which multifactor models add in Equities.

How do you turn the CAPM into a regression?

Expected returns cannot be observed, so use realized returns. Subtract the risk-free rate from both sides and the CAPM becomes a straight line in excess returns: regress the asset’s excess return on the market’s excess return, and the slope estimates beta.

An excess return is a return minus the risk-free rate, period by period.

Excess returns Memorize
Zi,t=ri,t−rf,t,Zm,t=rm,t−rf,tZ_{i,t} = r_{i,t} - r_{f,t}, \quad Z_{m,t} = r_{m,t} - r_{f,t}

The CAPM regression then fits a line through the pairs of excess returns.

CAPM regression Memorize
Zi,t=b0+b1Zm,t+εi,tZ_{i,t} = b_0 + b_1 Z_{m,t} + \varepsilon_{i,t}

The CAPM itself has no intercept; the regression adds one, b^0\hat{b}_0, to soak up any average excess return the market does not explain. Step 4 below uses only the slope.

The four steps

Memorize

  1. Gather data. The asset’s returns, a broad market index’s returns (the proxy for the market portfolio) and a short-term government bill rate (for example one- or three-month) as the risk-free rate, all for the same period. Typical choices are monthly returns over three to five years or weekly returns over one to three years; the estimation window and the frequency change the estimate.
  2. Compute excess returns ZiZ_i and ZmZ_m for every period.
  3. Run the regression of ZiZ_i on ZmZ_m by ordinary least squares (OLS); the slope is the beta estimate.
  4. Estimate the expected return: E[ri]=rf+β^(E[rm]−rf)E[r_i] = r_f + \hat{\beta}(E[r_m] - r_f).
Estimating beta in four steps
CAPM regressionexcess returns on excess returns
  • 1. Gather data Memorize asset, market index, bill rate; monthly 3–5 years or weekly 1–3 years
  • 2. Excess returns Memorize Z_i = r_i − r_f, Z_m = r_m − r_f
  • 3. Regress Z_i on Z_m Memorize slope = beta
  • 4. Expected return Memorize r_f + β̂ × market risk premium

The data you need are the risk-free rate, the asset’s total returns and the market’s total returns. Not inflation, not dividend yields on their own.

Go deeper Why the risk-free rate is treated as known

Over a month the bill rate barely moves and carries no default risk, so the estimate treats it as fixed for each period. Subtracting it from both returns is what turns the CAPM into a line through excess returns.

How do you read a CAPM regression output?

The slope on the market’s excess return is the beta estimate . Its t-statistic tests whether beta differs from zero (or, subtracting 1 first, from one). The R-squared of a CAPM regression is the share of the variance of the asset’s excess returns explained by the market’s: the systematic share. What is left, 1−R21 - R^2, is idiosyncratic.

Exam tip R² is not beta. A stock can have a high beta and a low R² (very sensitive, but with lots of company-specific noise) or the reverse.

InteractiveRegress excess returns, read the beta

Try this 0 of 3

  • Keep beta positive and make its 95% interval leave out 1. Watch t vs 1.
  • Keep beta near 1.2 but push R² below 0.25.
  • Load the hedge and find its CAPM expected return.

Halvard Logistics, 60 months of excess returns: beta 1.24 (standard error 0.150), t against zero 8.26, t against one 1.60, 95% interval 0.94 to 1.54, R² 0.540 (54% systematic, 46% idiosyncratic). With a risk-free rate of 3.0% and an expected market return of 8.5%, the CAPM expected return is 9.82%. Beta is the slope of excess returns on excess returns; R² tells you how much of the risk is the market's.

−20−1001020Stock excess return (%)−12−8−404812Market excess return (%)β̂ 1.24
  • One month
  • Least-squares line, slope 1.24
  • Slope 1 (moves with the market)
CoefficientStd errortp-value
Intercept0.180.600.300.765
Market excess return1.2400.1508.26< 0.001

R² 0.540 · standard error of the estimate, s_e 4.62 · observations 60. Monthly excess returns in percent.

SourcedfSum of squaresMean squareF
Regression11,452.21,452.268.15
Error581,236.021.31
Total592,688.2

The interval 0.94 to 1.54 contains 1: beta is not significantly different from 1 at 5%. R² 0.540: the market explains 54% of the variance (systematic); 46% is idiosyncratic.

Beta1.24
s.e. of beta0.150
t vs 08.26
t vs 11.60
95% interval0.94 to 1.54
R²0.540
1 − R²0.460
Monthly excess returns
Show working

Excess returns: Z_i = r_i − r_f for the stock and Z_m = r_m − r_f for the market, each month. n = 60; Z̄_m = 0.45, Z̄_i = 0.7381.

β̂ = r × s_Zi ÷ s_Zm = 0.735 × 6.75 ÷ 4.00 = 1.2403 (the same as Cov(Z_i, Z_m) ÷ Var(Z_m) = 19.845 ÷ 16.000).

Intercept b̂₀ = Z̄_i − β̂ × Z̄_m = 0.7381 − 1.2403 × 0.45 = 0.180. Not part of the CAPM.

SST = 2,688.19; SSR = 1,452.23; SSE = 1,235.96. R² = SSR ÷ SST = 0.5402 (= r²): the systematic share. 1 − R² = 0.4598 is idiosyncratic.

MSE = SSE ÷ (n − 2) = 1,235.96 ÷ 58 = 21.310; s_e = √MSE = 4.616. F = MSR ÷ MSE = 68.15.

s_β̂ = s_e ÷ √Σ(Z_m − Z̄_m)² = 4.616 ÷ √944.0 = 0.1502.

t vs 0 = 1.2403 ÷ 0.1502 = 8.26; t vs 1 = (1.2403 − 1) ÷ 0.1502 = 1.60. Critical t (df 58, 5%, two-tailed) = 2.0017.

95% interval: β̂ ± t_c × s_β̂ = 1.2403 ± 2.0017 × 0.1502 = 1.2403 ± 0.3007 = 0.9396 to 1.5411.

CAPM: E[r] = r_f + β̂ × (E[r_m] − r_f) = 3.0 + 1.2403 × 5.5 = 9.82%. Premium change +0.5: 1.2403 × 0.5 = +0.62 points.

95% interval for beta
  1. 2.0017×0.1502=STO10.3007
  2. 1.2403−RCL1=lower 0.9396
  3. 1.2403+RCL1=upper 1.5411

STO store · RCL recall a stored number

  1. 2.0017ENTER0.1502×STO10.3007
  2. 1.2403RCL1−lower 0.9396
  3. 1.2403RCL1+upper 1.5411

ENTER enter (on the HP, puts the number on the stack) · STO store · RCL recall a stored number

Display: 0.94 to 1.54

CAPM expected return
  1. 8.5−3=×1.2403+3=9.8217
  1. 8.5ENTER3−1.2403×3+9.8217

ENTER enter (on the HP, puts the number on the stack)

Display: 9.82%

Beta is the slope of excess returns on excess returns; R² tells you how much of the risk is the market's.
Reading a CAPM regression output
Outputcoefficients, R², analysis of variance table
  • Slope Memorize beta: sensitivity to the market
  • t of the slope Use it beta ≠ 0? subtract 1 first for beta ≠ 1
  • R² Memorize systematic share of the variance; 1 − R² idiosyncratic
  • Intercept Know the idea not part of the CAPM; usually tested against 0

How sure is the beta? A confidence interval

Beta is an estimate, so give it a range: the confidence interval for beta is β^±tc×sβ^\hat{\beta} \pm t_c \times s_{\hat{\beta}}, with the t critical value for n−2n-2 degrees of freedom. If 1 lies inside a 95% interval, beta is not significantly different from 1 at 5%; if 0 lies inside, beta is not significant at all.

Confidence interval for beta Use it
b^1±tc×sb^1\hat{b}_1 \pm t_c \times s_{\hat{b}_1}

With many observations the t critical value is close to 1.96, which is why outputs built on long samples are often read with it; when the question gives a t value, use that.

Rearrange itConfidence interval for beta: solve for any one
The question asks for
A regression of a stock's excess returns on the market's gives a beta estimate of 1.24 with a standard error of 0.15. With a critical t-value of 2.002, the upper bound of the confidence interval for beta is closest to:

1.24 + 2.002 × 0.15 = 1.5403

Upper bound1.5403

On your calculator
  1. 2.002×0.15+1.24=
  1. 2.002ENTER0.15×1.24+

ENTER enter (on the HP, puts the number on the stack)

From beta to an expected return

Step 4 plugs the beta estimate into the CAPM: E[ri]=rf+β^(E[rm]−rf)E[r_i] = r_f + \hat{\beta}(E[r_m] - r_f). Beta has no units, so a beta estimated from monthly returns works with annual rates.

Rearrange itCAPM expected return: solve for any one
The question asks for
The risk-free rate is 3.00%, the expected return on the market is 8.50% and a stock's estimated beta is 1.24. Its expected return under the CAPM is closest to:

3.00% + 1.24 × (8.50% − 3.00%) = 9.82%

Expected return, E[r]9.82%

On your calculator
  1. 8.5−3=×1.24+3=
  1. 8.5ENTER3−1.24×3+

ENTER enter (on the HP, puts the number on the stack)

A fitted value is a different question

“What does the regression predict for the excess return when the market’s excess return is 2%?” uses the whole fitted line, intercept included. “What is the CAPM expected return?” uses only beta, the risk-free rate and the market risk premium.

What if the market risk premium changes?

If the market risk premium rises and the risk-free rate does not move, the expected excess return changes by beta times that change.

Change in expected excess return Use it
ΔE[ri−rf]=β^i×Δ(E[rm]−rf)\Delta E[r_i - r_f] = \hat{\beta}_i \times \Delta\left(E[r_m] - r_f\right)

What do high, low and negative betas mean?

A beta above 1 amplifies the market: in a downturn a beta-1.5 stock is expected to fall more than a beta-0.5 stock, and in a rally to rise more. A beta below 1 dampens the market.

A negative beta means the asset tends to move against the market: if the market’s excess return is −6% in a month, an asset with β^=−0.30\hat{\beta} = -0.30 is expected (from the slope) to gain 1.8 points. That makes it a hedge, not a riskier asset. Under the CAPM its expected return is below the risk-free rate, the price of that protection.

How good is the CAPM?

The evidence is mixed: some studies support the model, others find returns it cannot explain. It is still widely used for portfolio management, performance evaluation, the cost of capital and project valuation, because it is simple and ties expected return to the risk that cannot be diversified away. Market data services publish betas estimated the same way; their numbers differ with the window, the return frequency and the index they use.

Go deeper Why different windows give different betas

A company’s business and leverage change over time, so its beta does too. A longer window gives a steadier estimate but reflects the old business; weekly data give more observations but more noise. Neither choice is right in general; state which one you used.

Memorize this

MemorizeCAPM regression

ItemFormula or rule
CAPME[ri]=rf+βi(E[rm]−rf)E[r_i] = r_f + \beta_i(E[r_m] - r_f)
Excess returnsZi=ri−rfZ_i = r_i - r_f, Zm=rm−rfZ_m = r_m - r_f
RegressionZi,t=b0+b1Zm,t+εi,tZ_{i,t} = b_0 + b_1 Z_{m,t} + \varepsilon_{i,t}; slope = beta
R²share of excess-return variance explained by the market (systematic); 1−R21 - R^2 idiosyncratic
Interval for betab^1±tc sb^1\hat{b}_1 \pm t_c\, s_{\hat{b}_1}, n−2n - 2 degrees of freedom
Premium movesΔE[ri−rf]=β^×Δ\Delta E[r_i - r_f] = \hat\beta \times \Delta premium
Databill rate, asset returns, index returns; monthly 3–5 years or weekly 1–3 years

Memory hook Subtract the bill from both, regress, read the slope. Slope = beta, R² = how much is market.

Know it cold Expected return uses the premium E[r_m] − r_f, never E[r_m] alone, and only the slope, not the intercept.

Estimating beta in four steps
CAPM regressionexcess returns on excess returns
  • 1. Gather data Memorize asset, market index, bill rate; monthly 3–5 years or weekly 1–3 years
  • 2. Excess returns Memorize Z_i = r_i − r_f, Z_m = r_m − r_f
  • 3. Regress Z_i on Z_m Memorize slope = beta
  • 4. Expected return Memorize r_f + β̂ × market risk premium
Reading a CAPM regression output
Outputcoefficients, R², analysis of variance table
  • Slope Memorize beta: sensitivity to the market
  • t of the slope Use it beta ≠ 0? subtract 1 first for beta ≠ 1
  • R² Memorize systematic share of the variance; 1 − R² idiosyncratic
  • Intercept Know the idea not part of the CAPM; usually tested against 0
Capital asset pricing model Memorize
E[ri]=rf+βi(E[rm]−rf)E[r_i] = r_f + \beta_i\left(E[r_m] - r_f\right)
Quick example

r_f = 2.0%, E[r_m] = 7.5%, β = 0.9: 2.0 + 0.9 × 5.5 = 6.95%.

On your calculator
  1. 7.5−2=×0.9+2= 6.95
  1. 7.5ENTER2−0.9×2+ 6.95

ENTER enter (on the HP, puts the number on the stack)

Excess returns Memorize
Zi,t=ri,t−rf,t,Zm,t=rm,t−rf,tZ_{i,t} = r_{i,t} - r_{f,t}, \quad Z_{m,t} = r_{m,t} - r_{f,t}
Quick example

A stock returns 1.8% in a month, the index 1.1% and the bill 0.3%: Z_i = 1.8 − 0.3 = 1.5%, Z_m = 1.1 − 0.3 = 0.8%.

On your calculator
  1. 1.8−0.3= 1.5
  2. 1.1−0.3= 0.8
  1. 1.8ENTER0.3− 1.5
  2. 1.1ENTER0.3− 0.8

ENTER enter (on the HP, puts the number on the stack)

CAPM regression Memorize
Zi,t=b0+b1Zm,t+εi,tZ_{i,t} = b_0 + b_1 Z_{m,t} + \varepsilon_{i,t}
Quick example

Regress 60 monthly stock excess returns on the index's: the slope b̂₁ is the beta estimate, here 1.24.

Confidence interval for beta Use it
b^1±tc×sb^1\hat{b}_1 \pm t_c \times s_{\hat{b}_1}
Quick example

β̂ = 0.75, standard error 0.10, t_c = 2.01: 0.75 ± 0.201 = 0.55 to 0.95.

On your calculator
  1. 2.01×0.1=STO1 0.201
  2. 0.75−RCL1= 0.549
  3. 0.75+RCL1= 0.951

STO store · RCL recall a stored number

  1. 2.01ENTER0.1×STO1 0.201
  2. 0.75RCL1− 0.549
  3. 0.75RCL1+ 0.951

ENTER enter (on the HP, puts the number on the stack) · STO store · RCL recall a stored number

Change in expected excess return Use it
ΔE[ri−rf]=β^i×Δ(E[rm]−rf)\Delta E[r_i - r_f] = \hat{\beta}_i \times \Delta\left(E[r_m] - r_f\right)
Quick example

β̂ = 0.8 and the market risk premium falls by 1.0 point: 0.8 × (−1.0) = −0.8 point.

On your calculator
  1. 0.8×1+|-= −0.8

+|- change sign

  1. 0.8ENTER1CHS× −0.8

ENTER enter (on the HP, puts the number on the stack) · CHS change sign

How it is asked

  1. Which number is beta?

    Output: intercept 0.004, slope 0.92 (standard error 0.11), R² 0.61.

    Beta = 0.92, the slope. Traps: 0.61 is R², 0.11 the standard error.

  2. Confidence interval for beta

    β̂ 0.68, standard error 0.14, t_c 2.002.

    0.68 ± 0.280 = 0.40 to 0.96. Trap: ± one standard error, 0.54 to 0.82.

  3. Expected return from the regression beta

    β̂ 1.35, r_f 1.8%, E[r_m] 7.0%.

    1.8 + 1.35 × 5.2 = 8.82%. Trap: 1.8 + 1.35 × 7.0 = 11.25% uses the market return.

  4. Premium changes

    β̂ 1.3; the market risk premium rises 0.8 point, r_f unchanged.

    Expected excess return rises 1.04 points. Trap: 0.8 (beta ignored).

Exam traps

  • Plugging the expected market return instead of the market risk premium into the CAPM.
  • Reading R² as beta, or as the unsystematic share. R² is the share the market explains; 1 − R² is idiosyncratic.
  • Adding the regression intercept to a CAPM expected return. The fitted line includes it; the CAPM expected return uses only beta.
  • Regressing the market on the asset (swapping X and Y), or regressing raw returns on excess returns.
  • Building the interval with ± one standard error, or with 1.96 when the question gives a t critical value.
  • Calling a negative-beta asset riskier than the market. It moves against the market and hedges it.

Checkpoint

3 exam-style questions. About 90 seconds each.

  1. 1A CAPM regression of a stock's monthly excess returns on the market's excess returns has a slope of 1.10 and an R² of 0.36. The R² is best interpreted as:

  2. 2A regression of 60 monthly excess returns of a stock on the market's excess returns gives a slope of 0.86 with a standard error of 0.12. The two-tailed 5% critical t-value is 2.002. The 95% confidence interval for the stock's beta is closest to:

  3. 3A CAPM regression of a stock's monthly excess returns gives an intercept of 0.20% and a slope of 1.15. The risk-free rate is 2.5% and the expected return on the market is 9.0%. The stock's expected return under the CAPM is closest to:

Key takeaways

  • The CAPM prices only systematic risk: E[r_i] = r_f + β(E[r_m] − r_f).
  • Estimate beta by regressing the asset's excess returns on the market's excess returns; the slope is beta.
  • R² is the share of the excess-return variance the market explains (systematic); 1 − R² is idiosyncratic.
  • A confidence interval for beta is β̂ ± t_c × s_β̂; if it contains 1, beta is not significantly different from 1.
  • A change in the market risk premium changes the expected excess return by beta times that change.
Capital asset pricing model Memorize
E[ri]=rf+βi(E[rm]−rf)E[r_i] = r_f + \beta_i\left(E[r_m] - r_f\right)
Quick example

r_f = 2.0%, E[r_m] = 7.5%, β = 0.9: 2.0 + 0.9 × 5.5 = 6.95%.

On your calculator
  1. 7.5−2=×0.9+2= 6.95
  1. 7.5ENTER2−0.9×2+ 6.95

ENTER enter (on the HP, puts the number on the stack)

Excess returns Memorize
Zi,t=ri,t−rf,t,Zm,t=rm,t−rf,tZ_{i,t} = r_{i,t} - r_{f,t}, \quad Z_{m,t} = r_{m,t} - r_{f,t}
Quick example

A stock returns 1.8% in a month, the index 1.1% and the bill 0.3%: Z_i = 1.8 − 0.3 = 1.5%, Z_m = 1.1 − 0.3 = 0.8%.

On your calculator
  1. 1.8−0.3= 1.5
  2. 1.1−0.3= 0.8
  1. 1.8ENTER0.3− 1.5
  2. 1.1ENTER0.3− 0.8

ENTER enter (on the HP, puts the number on the stack)

CAPM regression Memorize
Zi,t=b0+b1Zm,t+εi,tZ_{i,t} = b_0 + b_1 Z_{m,t} + \varepsilon_{i,t}
Quick example

Regress 60 monthly stock excess returns on the index's: the slope b̂₁ is the beta estimate, here 1.24.

Confidence interval for beta Use it
b^1±tc×sb^1\hat{b}_1 \pm t_c \times s_{\hat{b}_1}
Quick example

β̂ = 0.75, standard error 0.10, t_c = 2.01: 0.75 ± 0.201 = 0.55 to 0.95.

On your calculator
  1. 2.01×0.1=STO1 0.201
  2. 0.75−RCL1= 0.549
  3. 0.75+RCL1= 0.951

STO store · RCL recall a stored number

  1. 2.01ENTER0.1×STO1 0.201
  2. 0.75RCL1− 0.549
  3. 0.75RCL1+ 0.951

ENTER enter (on the HP, puts the number on the stack) · STO store · RCL recall a stored number

Change in expected excess return Use it
ΔE[ri−rf]=β^i×Δ(E[rm]−rf)\Delta E[r_i - r_f] = \hat{\beta}_i \times \Delta\left(E[r_m] - r_f\right)
Quick example

β̂ = 0.8 and the market risk premium falls by 1.0 point: 0.8 × (−1.0) = −0.8 point.

On your calculator
  1. 0.8×1+|-= −0.8

+|- change sign

  1. 0.8ENTER1CHS× −0.8

ENTER enter (on the HP, puts the number on the stack) · CHS change sign

All Quantitative Methods formulas, every lesson

Practice exam-style questions on Simple Linear Regression in Finance

Questions about this lesson?

Where this comes back

Questions candidates ask

How do you estimate beta with a regression?

Collect the asset's returns, a market index's returns and a short-term government bill rate. Subtract the bill rate from both returns, regress the asset's excess returns on the market's by ordinary least squares, and read the slope. Monthly returns over three to five years or weekly returns over one to three years are typical.

What does R-squared mean in a CAPM regression?

It is the share of the variance of the asset's excess returns that the market's excess returns explain: the systematic part. An R² of 0.54 means 54% systematic and 46% idiosyncratic. It is not beta: a stock can be very sensitive to the market and still have a low R².

How do you build a confidence interval for beta?

Take the slope and add and subtract the critical t-value times its standard error, with n − 2 degrees of freedom. A slope of 1.24 with a standard error of 0.15 and 58 degrees of freedom gives 1.24 ± 2.002 × 0.15, about 0.94 to 1.54.

Spotted an error? Tell us and we will fix it.

  1. The regression line: slope, intercept and least squares
  2. The four regression assumptions and what residual plots reveal
  3. Goodness of fit and testing the regression coefficients
  4. The ANOVA table and the standard error of the estimate
  5. Predicting Y and building a prediction interval
  6. Functional forms: log-lin, lin-log and log-log models
  7. Estimating beta with a CAPM regression

Ask Sensei Listen instead

Questions on Estimating beta with a CAPM regression

Learn with Sensei, out loud The voice tutor, in early access

Sensei teaches the lesson aloud and stops when you interrupt: "wait, why is the geometric mean lower?" It answers with the lesson's own example, then quizzes you by voice. Every account can try Sensei on one module, with one voice question.

USD 149 a month founding price (regular USD 199), kept for as long as you stay subscribed. Everything in Plus included.

In active development and improving every day. Send feedback · Plans and pricing

Analyst Dojo Plus

Your free review list holds 10 items.

Plus keeps everything you save, for USD 19 a month. To make room on the free plan, remove something from your review list.

See Plus

Lessons, checkpoints and the lesson questions in practice stay free. Compare plans