Actuarial Mathematics for Modelling · Valuing cashflows contingent on multiple transition events
Thiele's Differential Equation for Policy Values
Updated 11 October 2026 · Fact-checked
Thiele's differential equation gives the rate of change of the policy value in each state of a multiple state model. For state i, dV_i/dt = δV_i + premium rate − benefit rate − Σ μ_ij (S_ij + V_j − V_i). You solve it backwards from the terminal condition, usually with Euler's method.
Understand Thiele's Differential Equations for Policy Values
A policy value V_i(t) is the expected present value, at time t, of future benefits and expenses minus future premiums, given the policyholder is in state i at time t. Each state has its own policy value.
Thiele's equation tells you how V_i(t) moves over a very short interval. Over a small step dt, three things happen. The policy value earns interest. Premiums come in and benefits go out at their continuous rates. The policyholder may jump to another state j, with probability about μ_ij dt.
The derivation is a one-step argument. Write V_i(t) as the discounted expected value at t + dt: V_i(t) = e^(−δ dt) × [ (1 − Σ μ_ij dt) V_i(t + dt) + Σ μ_ij dt (S_ij + V_j(t + dt)) ] + (premium − benefit) dt. Expand the exponential, drop terms of order dt², divide by dt and let dt → 0. You get the differential equation.
The term μ_ij (S_ij + V_j − V_i) is the expected change in reserve caused by a jump. If you jump, you pay any lump sum S_ij and you must now hold V_j instead of V_i. Only the difference V_j − V_i matters, so each jump is weighted by that gap.
You rarely solve it in closed form with several states. You start at the end of the term, where the boundary condition is known (for a term contract, V_i(n) = 0 in every state), and step backwards with a small step h. This is the numerical method the IAI expects.
Key rules to remember
- Thiele's equation (general state i)
- dV_i(t)/dt = δ V_i(t) + P_i(t) − B_i(t) − Σ_{j≠i} μ_ij(t) [ S_ij(t) + V_j(t) − V_i(t) ]
- P_i is the premium rate paid while in state i. B_i is the benefit rate paid while in state i. S_ij is the lump sum paid on a jump from i to j. δ is the force of interest.
- Two-state alive-dead term assurance
- dV(t)/dt = δ V(t) + P − μ_{x+t} (S − V(t))
- Lump sum S on death, and V in the dead state is zero. Boundary condition V(n) = 0 for a term assurance.
- Backward Euler step
- V_i(t − h) ≈ V_i(t) − h × dV_i(t)/dt
- Evaluate the derivative at t, using the V_j(t) values you already have. Smaller h gives better accuracy.
- Improved step using the derivative at t − h
- V_i(t − h) ≈ V_i(t) − h × [ derivative at t + derivative at t − h ] ÷ 2
- Optional improvement when a question asks for it. The derivative at t − h needs V_i(t − h) itself, so it is implicit and needs rearranging.
- Boundary conditions
- Term contract ending at n: V_i(n) = 0. Death state: V = 0 unless a benefit is payable there.
- Check the contract. For an endowment, V_i(n) equals the maturity benefit while the life is in the benefit state.
How to solve Thiele's Differential Equations for Policy Values questions
Use this order for any Thiele question, whether it asks for a derivation, an equation or a numerical value.
- 1Draw the state model. Label every state and every transition intensity μ_ij, including any that are zero.
- 2List cashflows by state: premium rate P_i, benefit rate B_i, and lump sum S_ij on each jump. Take care over signs.
- 3Write Thiele's equation for each non-absorbing state. Absorbing states have a fixed value, usually 0.
- 4Write down the boundary condition at the end of the term, for example V_i(n) = 0.
- 5Choose the step size h given in the question. Compute dV_i/dt at the known time t for every state.
- 6Step back: V_i(t − h) ≈ V_i(t) − h × dV_i/dt. Do all states at the same time point before moving on.
- 7Repeat until you reach the required time. Use the new values of all V_j at each step.
- 8State the answer with units and sign, and comment that it is an approximation if Euler's method was used.
Quickest way: Table method for backward Euler
When to use it: Use it when the question gives a step size and asks for reserves at one or two earlier times.
- Make a small table with one row per state and one column per time point.
- Fill the final column with the boundary values.
- For each state, compute the derivative using the column on its right, and put it in a side column.
- Subtract h times the derivative from the right-hand value to get the next column.
- Write the formula for each state once, then reuse it. Do not re-derive it each step.
- Sense-check: reserves in the sick state should be positive for an income benefit, and reserves should move towards zero near the end of the term.
Common mistakes in Thiele's Differential Equations for Policy Values
Stepping forwards instead of backwards, so V(t + h) is computed as V(t) + h × derivative.
Students are used to forward Euler for Kolmogorov forward equations, where you start at time 0.
Fix: Thiele's equation starts at the end of the term. Always use V(t − h) = V(t) − h × dV/dt.
Writing μ_ij × S_ij only and leaving out V_j − V_i.
The lump sum feels like the whole cost of a jump.
Fix: A jump pays S_ij and also changes the reserve you must hold from V_i to V_j. Always write S_ij + V_j − V_i.
Getting the sign of premiums and benefits wrong.
Different texts treat premiums as negative benefits, and students mix the conventions.
Fix: Fix one convention at the start: + P_i for premium income, − B_i for benefit outgo. Check at t = n: a state paying a benefit should have a negative derivative.
Using V_j(t − h) in a derivative evaluated at t, or mixing time points in one step.
The equations for different states are updated one after another.
Fix: Compute all derivatives from the same column of values first. Then update all states together.
Forgetting a transition, for example the sick to healthy recovery intensity μ_10 in a disability model.
The diagram is not fully read.
Fix: For each state, list every arrow leaving it. Dead is usually absorbing with V = 0, but it still creates a term μ_i2 (S_i2 − V_i).
Applying V(n) = 0 to a contract that has a maturity benefit.
Term assurance is the standard example, so zero is assumed.
Fix: Read the benefits. If a sum is paid at maturity to the surviving life, set V in that state to the maturity benefit at t = n.
Worked examples
Example 1
A 2-year term assurance pays ₹1,00,000 immediately on death. Premiums are paid continuously at ₹3,000 a year. Assume constant force of mortality μ = 0.02 and force of interest δ = 0.05. Use Thiele's equation with Euler step h = 0.5 to estimate the policy value at t = 1, and compare it with the exact value.
Show the solution
- Two-state model: alive and dead, with V(dead) = 0. Boundary condition V(2) = 0.
- Thiele: dV/dt = δV + P − μ(S − V) = 0.05V + 3,000 − 0.02(1,00,000 − V) = 0.07V + 1,000.
- At t = 2: dV/dt = 0.07 × 0 + 1,000 = 1,000. Then V(1.5) ≈ 0 − 0.5 × 1,000 = −500.
- At t = 1.5: dV/dt = 0.07 × (−500) + 1,000 = 965. Then V(1) ≈ −500 − 0.5 × 965 = −982.5.
- Exact check: V(t) = −(1,000 ÷ 0.07)(1 − e^(−0.07(2 − t))). So V(1) = −14,285.71 × (1 − e^(−0.07)) = −14,285.71 × 0.067606 ≈ −965.8.
- The Euler estimate is close but slightly different. A smaller h would reduce the gap. The reserve is negative because premiums of ₹3,000 exceed the expected claim cost of 0.02 × ₹1,00,000 = ₹2,000 a year.
Answer: V(1) ≈ −₹982.50 by Euler with h = 0.5. The exact value is about −₹965.80.
Example 2
A disability income policy has three states: 0 healthy, 1 sick, 2 dead. Premiums are paid at ₹5,000 a year while healthy. A benefit of ₹60,000 a year is paid while sick. There is no death benefit. Intensities are constant: μ01 = 0.03, μ02 = 0.01, μ10 = 0.10, μ12 = 0.05. δ = 0.04. The policy ends at time n, with V0(n) = V1(n) = 0. Use Euler with h = 0.5 to estimate both policy values at t = n − 1.
Show the solution
- Thiele for healthy: dV0/dt = δV0 + 5,000 − μ01(V1 − V0) − μ02(0 − V0).
- Thiele for sick: dV1/dt = δV1 − 60,000 − μ10(V0 − V1) − μ12(0 − V1). There are no lump sums, and V2 = 0.
- At t = n: dV0/dt = 5,000 and dV1/dt = −60,000, since both reserves are zero.
- Step to n − 0.5: V0 ≈ 0 − 0.5 × 5,000 = −2,500. V1 ≈ 0 − 0.5 × (−60,000) = 30,000.
- Derivatives at n − 0.5: dV0/dt = 0.04(−2,500) + 5,000 − 0.03(30,000 + 2,500) − 0.01(2,500) = −100 + 5,000 − 975 − 25 = 3,900.
- dV1/dt = 0.04(30,000) − 60,000 − 0.10(−2,500 − 30,000) − 0.05(0 − 30,000) = 1,200 − 60,000 + 3,250 + 1,500 = −54,050.
- Step to n − 1: V0 ≈ −2,500 − 0.5 × 3,900 = −4,450. V1 ≈ 30,000 − 0.5 × (−54,050) = 30,000 + 27,025 = 57,025.
Answer: At t = n − 1: V0 ≈ −₹4,450 and V1 ≈ ₹57,025. The sick reserve is large and positive because the insurer owes benefits. The healthy reserve is negative at this point because premiums are received while the expected benefits are small.
Exam tips
- Write the general Thiele equation first, then substitute. Method marks are given for the correct equation even if the arithmetic goes wrong.
- Name your sign convention for premiums and benefits in one line at the start of the answer.
- For numerical questions, show a small table of V and dV/dt for each state at each time. Examiners follow it easily.
- For derivations, show the one-step argument over dt, the expansion e^(−δ dt) ≈ 1 − δ dt, and the limit dt → 0.
- In computer-based questions, put the equations in a loop in R or Excel that steps backwards from the boundary value. Check the first step by hand.
Practice questions from Valuing cashflows contingent on multiple transition events
- Independent lives (x) and (y) have constant forces of mortality 0.02 and 0.03, and the force of interest is 0.05. An annuity of Rs 12,000 pe…
- In a continuous-time multiple state model for a policyholder, the states are Healthy (H), Sick (S) and Dead (D). The policy pays a sickness …
- A policy has sum assured Rs 30,000 payable immediately on death and premiums of Rs 1,200 per year paid continuously. At a certain time the p…
- In a continuous-time Markov jump model with states H (healthy), S (sick) and D (dead), the transition intensity from H to S at age x is defi…
- Two independent lives aged 60 and 65 have survival probabilities over one year of 0.98 and 0.96 respectively. What is the probability that e…
Thiele's Differential Equations for Policy Values: frequently asked questions
What is Thiele's differential equation used for?
It gives the rate at which the policy value changes in each state of a multiple state model. You use it to find reserves at any time without summing probabilities directly, especially when there are several states and varying intensities.
Why do we solve Thiele's equation backwards?
The reserve at the end of the term is known, for example zero for a term contract. The equation then gives the derivative at that time, so you can step back to earlier times.
What does the term μ_ij (S_ij + V_j − V_i) mean?
It is the expected rate at which the reserve changes because of a jump from state i to j. If the jump happens you pay S_ij and the required reserve moves from V_i to V_j. The intensity μ_ij weights this by how likely a jump is per unit time.
How small should the step size be in Euler's method?
The question normally gives it, such as h = 0.5 or h = 1/12. A smaller step gives a more accurate answer but needs more calculations. In the exam use the step you are given and say the result is an approximation.