Skip to content

Risk Modelling and Survival Analysis · Mortality projection

Lee-Carter Model: Fitting, Constraints and Forecasting

Updated 11 October 2026 · Fact-checked

The Lee-Carter model says log m(x,t) = a_x + b_x k_t + error. a_x is the average age pattern, k_t is a time index of mortality level, and b_x is how far each age responds to k_t. Fit by SVD under Σb_x = 1 and Σk_t = 0, then forecast k_t as a random walk with drift.

Understand Lee-Carter Model

Mortality rates change over time, and an actuary must project them to price annuities and value pension liabilities. The Lee-Carter model does this with very few parameters. It works on the logarithm of the central rate of mortality m(x,t) for age x in year t.

The model is log m(x,t) = a_x + b_x k_t + ε(x,t). Read each part in turn:
- a_x is the average of log m(x,t) over time. It gives the shape of mortality across ages.
- k_t is the period index. It is one number per year. A falling k_t means mortality is improving.
- b_x is the age sensitivity. A larger b_x means that age improves faster when k_t changes.
- ε(x,t) is the error, assumed to have constant variance across ages and years.

The model is not identifiable as written. You can multiply every b_x by c and divide every k_t by c and get the same fit. You can also shift k_t by a constant and adjust a_x. So you impose two constraints: Σ b_x = 1 and Σ k_t = 0. With these, a_x is simply the average of log m(x,t) over the T years.

To fit, subtract a_x from each log rate to get a matrix of residual log rates. Apply singular value decomposition (SVD) to this matrix. The first singular value and its vectors give the best rank-one fit, which is b_x k_t. Then rescale so the constraints hold. An alternative is to fit by maximum likelihood, assuming deaths are Poisson with mean E(x,t) m(x,t).

To forecast, treat k_t as a time series. The usual choice is a random walk with drift: k_t = k_{t-1} + d + e_t, where e_t are independent N(0, σ²). Then you project k forward and substitute into the model to get future mortality rates. Its main weaknesses are that b_x never changes, there is no cohort effect, and the forecast improvement rates are constant for ever.

Key rules to remember

Lee-Carter model
log m(x,t) = a_x + b_x k_t + ε(x,t)
m(x,t) is the central rate of mortality at age x in year t. ε has mean 0 and constant variance.
Constraints
Σ_x b_x = 1 and Σ_t k_t = 0
Needed so the parameters are identifiable. Other constraint pairs exist, so use the ones the question states.
Estimate of a_x
â_x = (1 ÷ T) Σ_t log m̂(x,t)
Holds under Σ k_t = 0. It is the average log rate at age x over the T years.
SVD step
Z(x,t) = log m̂(x,t) − â_x ≈ s₁ u₁(x) v₁(t)
u₁ and v₁ are the first left and right singular vectors, s₁ is the largest singular value.
Rescaling after SVD
b̂_x = u₁(x) ÷ Σ_x u₁(x); k̂_t = s₁ v₁(t) × Σ_x u₁(x)
The product b̂_x k̂_t is unchanged. Check Σ k̂_t = 0, which holds because each row of Z averages to 0.
Random walk with drift for k_t
k_t = k_{t-1} + d + e_t, e_t ~ N(0, σ²)
d is the drift. A negative d means improving mortality.
Drift estimate
d̂ = (k_T − k_1) ÷ (T − 1)
This is the mean of the T − 1 annual differences. Estimate σ² by the sample variance of those differences.
Point forecast and variance
E[k_{T+h}] = k_T + h d̂; Var(k_{T+h}) = h σ²
The variance ignores uncertainty in d̂, a_x and b_x. Say so if asked.
Forecast mortality
log m(x, T+h) = a_x + b_x k_{T+h}
Take the exponential to get the rate. This gives a central estimate on the log scale.
Number of free parameters
2A + T − 2
For A ages and T years: A values of a_x, A − 1 of b_x and T − 1 of k_t, after the two constraints.

How to solve Lee-Carter Model questions

Use this method for any Lee-Carter question, whether it asks you to describe, fit, forecast or criticise the model.

  1. 1Write the model: log m(x,t) = a_x + b_x k_t + ε(x,t). Define x, t, m(x,t) and each parameter in words.
  2. 2State the constraints Σ b_x = 1 and Σ k_t = 0, and say why they are needed.
  3. 3Estimate a_x as the average of the log rates over time for each age. Subtract it to form the residual matrix.
  4. 4If asked how to fit, apply SVD to the residual matrix. Take the first singular value and vectors, then rescale so Σ b_x = 1. Mention the Poisson maximum likelihood alternative.
  5. 5Model k_t as a random walk with drift. Estimate d as (k_T − k_1) ÷ (T − 1) and σ² from the differences.
  6. 6Forecast k_{T+h} = k_T + h d. Put it into a_x + b_x k_{T+h}, then take the exponential to get m(x, T+h).
  7. 7If asked for uncertainty, use Var(k_{T+h}) = h σ² to give a confidence interval for k, and say what it leaves out.
  8. 8For discussion parts, give advantages (few parameters, simple, transparent) and limitations (no cohort effect, fixed b_x, constant error variance, ignored parameter uncertainty), each with a one-line reason.

Quickest way: Fast route for Lee-Carter calculations

When to use it: Use this when the question gives you fitted a_x, b_x and k_t and asks for a forecast rate, under time pressure.

  1. Compute d̂ = (last k − first k) ÷ (number of years − 1).
  2. Compute k_{T+h} = k_T + h d̂.
  3. Compute a_x + b_x × k_{T+h} for the given age.
  4. Take e to that power. Check the answer is a small positive rate, usually well below 1.
  5. For an interval on k, use k_{T+h} ± 1.96 √(h σ²). Write the result in a short line with the assumptions.

Common mistakes in Lee-Carter Model

  • Forgetting the constraints, or stating them wrongly as Σ b_x = 0 or Σ k_t = 1.

    Both constraints involve a sum, so the two get mixed up.

    Fix: Remember it as: b sums to 1 (shares of improvement), k sums to 0 (centred index). Then a_x is the plain average of the log rates.

  • Estimating a_x from the raw rates m(x,t) instead of the log rates.

    Students average the rates because it feels natural.

    Fix: The model is on the log scale. Average log m(x,t) over t, and only exponentiate at the end.

  • Computing the drift as the average of k_t values, or dividing by T instead of T − 1.

    Confusion between the level of k and its annual change.

    Fix: d̂ = (k_T − k_1) ÷ (T − 1). There are T − 1 annual changes between T values.

  • Forecasting m(x,t) directly, or forgetting to exponentiate at the end.

    The log scale gets lost during the calculation.

    Fix: Forecast k first, plug into a_x + b_x k, then take the exponential. A forecast of −4.78 is not a mortality rate.

  • Saying the model captures cohort effects, or that b_x changes over time.

    Mixing it up with extensions of the model.

    Fix: The basic Lee-Carter model has one period factor and fixed b_x. A cohort term comes from extended models such as Renshaw-Haberman. The age-period-cohort and CBD models are covered separately.

  • Treating the confidence interval for k_{T+h} as the full uncertainty of the forecast.

    The variance formula h σ² looks complete.

    Fix: It covers only the future random error in k. Say that it ignores error in estimating d, a_x and b_x, and model risk.

Worked examples

Example 1

A Lee-Carter model has been fitted to T = 5 years. The estimated period index is k = 2, 1, 0, −1, −2 for years 1 to 5. For age 60, â_60 = −4.5 and b̂_60 = 0.04. (a) Estimate the drift d. (b) Forecast k five years beyond year 5. (c) Forecast m(60, year 10).

Show the solution
  1. (a) Use d̂ = (k_T − k_1) ÷ (T − 1) = (−2 − 2) ÷ 4 = −1.
  2. (b) k_{T+5} = k_T + 5 d̂ = −2 + 5 × (−1) = −7.
  3. (c) log m(60, year 10) = a_60 + b_60 × k = −4.5 + 0.04 × (−7) = −4.5 − 0.28 = −4.78.
  4. m(60, year 10) = e^(−4.78) = e^(−5) × e^(0.22) = 0.006738 × 1.2461 ≈ 0.00840.

Answer: d̂ = −1; k forecast = −7; m(60, year 10) ≈ 0.00840 (about 0.84%).

Example 2

A Lee-Carter model is fitted to A = 4 ages and T = 4 years. SVD gives b' = 0.05, 0.10, 0.15, 0.20 and k' = 30, 10, −10, −30. (a) Rescale to satisfy Σ b_x = 1 and check Σ k_t = 0. (b) State the number of free parameters. (c) For age 70, the log rates over the four years are −4.2, −4.3, −4.5, −4.6. Find â_70.

Show the solution
  1. (a) Σ b' = 0.05 + 0.10 + 0.15 + 0.20 = 0.50. Divide each b' by 0.50 to get b = 0.1, 0.2, 0.3, 0.4, which sum to 1.
  2. Multiply each k' by 0.50 so the product b k is unchanged: k = 15, 5, −5, −15. Check: 0.05 × 30 = 1.5 and 0.1 × 15 = 1.5.
  3. Σ k = 15 + 5 − 5 − 15 = 0, so the second constraint holds.
  4. (b) Free parameters = 2A + T − 2 = 8 + 4 − 2 = 10. (A = 4 values of a_x, 3 of b_x, 3 of k_t.)
  5. (c) â_70 = average of the log rates = (−4.2 − 4.3 − 4.5 − 4.6) ÷ 4 = −17.6 ÷ 4 = −4.4.

Answer: b = 0.1, 0.2, 0.3, 0.4 and k = 15, 5, −5, −15; there are 10 free parameters; â_70 = −4.4.

Exam tips

  • Always write the model and the two constraints at the start. Many marks go for stating them with the correct sums.
  • In forecasting questions, show d̂, then k_{T+h}, then the log rate, then the exponential. Each step carries marks.
  • For discussion questions, give at least three limitations and say why each matters, for example: no cohort effect, so cohort-driven improvement is missed.
  • State your assumptions: errors are independent with constant variance, k_t follows a random walk with drift, and the drift continues unchanged.
  • In the computer-based paper, show the method as well as the output: the matrix of log rates, the SVD step, the rescaling, and the forecast of k_t.

Practice questions from Mortality projection

Lee-Carter Model: frequently asked questions

Why does the Lee-Carter model need constraints?

Without constraints, many sets of parameters give exactly the same fitted rates. For example, you can double every b_x and halve every k_t. The constraints Σ b_x = 1 and Σ k_t = 0 give one unique solution.

How does SVD give b_x and k_t?

You subtract a_x from the log rates to form a matrix. SVD finds the best rank-one approximation to it. The first left vector gives the age pattern and the first right vector gives the time pattern. You rescale so Σ b_x = 1.

Why use a random walk with drift for k_t?

The fitted k_t often falls roughly in a straight line over time, with random year-to-year changes. A random walk with drift captures both features. It is also easy to forecast and gives a simple variance of h σ² at h years ahead.

What are the main limitations of the Lee-Carter model?

It has no cohort effect and one period factor, and b_x is fixed over time. It assumes constant error variance on the log scale, although rates at old ages are more variable. It also forecasts constant long-run improvement and ignores parameter uncertainty in its basic form.