This page is private

Access requires a valid link.

School Fund Planner

Calculate required savings for school fees, accounting for inflation and investment returns.

Calculator

Today's prices
Comma-separated for multiple children
Funds already saved
0 = start now

Guide

What This Tool Does

This calculator determines how much you need to save each year to cover future school fees. It accounts for fee inflation, investment returns, and ensures you'll always have sufficient funds when payments are due, even with multiple children starting at different times.

Input Parameters

  • Annual Fee: The current annual school fee in today's prices. This will be adjusted for inflation in future years.
  • Years until school starts: How many years from now until each child begins school. Enter multiple values separated by commas for multiple children (e.g., "5, 8" for two children starting in 5 and 8 years).
  • Years of schooling: The total duration of schooling per child (e.g., 7 years for secondary school, 13 for full private education).
  • Starting budget: Any funds you have already saved for school fees. This amount will compound at the investment return rate, reducing the contributions required.
  • Saving starts in (years): How many years from now before you begin saving. Use 0 to start immediately. This shifts the timeline so that "Year 1" in the calculations is when saving begins, with fees already inflated and starting budget already compounded accordingly.
  • Fee inflation: Expected annual increase in school fees. Historically, school fees have risen faster than general inflation (typically 3-5% per year).
  • Investment return: Expected annual return on your savings. A balanced portfolio might return 4-6% on average over the long term.
  • Continue contributions during school: If enabled, you continue making annual contributions while children are in school. If disabled, you only save before the first child starts, then draw down the fund.

Sensitivity Analysis

The chart below shows how the required annual contribution changes across different combinations of fee inflation and investment return rates. The x-axis varies inflation around your input value, while each coloured line represents a different return rate. This helps you understand how sensitive your savings plan is to these uncertain assumptions: if returns are lower or inflation higher than expected, you'll need to save more.

Cash Flow Schedule

The table provides a year-by-year breakdown showing your annual contribution, fee payments, investment returns, and running account balance. The row marked with an asterisk (*) is the binding constraint year, the point where your account balance is tightest (reaches zero). This is the year that determines your minimum required contribution.

Mathematical Explanation

The collapsible section at the bottom provides a rigorous derivation of the calculation methodology, including the balance evolution equations, geometric series simplifications, and the liquidity constraint that ensures your account never goes negative.

Sensitivity Analysis

Cash Flow Schedule

Year-by-Year Breakdown

Year Contribution Fee Payment Investment Return End Balance

Mathematical Explanation

1. Time Value of Money

Money has time value: £1 today is worth more than £1 tomorrow because you can invest it and earn a return. This means we cannot directly add or compare amounts at different points in time; we must first move them to a common reference point.

Compounding (moving forward in time): If you invest £\(P\) today at annual return \(r\), after one year you have:

$$P \times (1 + r)$$

After \(t\) years, the balance grows to:

$$P \times (1 + r)^t$$

Discounting (moving backward in time): If you need £\(F\) in \(t\) years, the amount you must set aside today (the present value) is:

$$PV = \frac{F}{(1+r)^t} = F \times (1+r)^{-t}$$

2. Problem Setup and Notation

We have \(K\) children, where child \(k\) starts school in year \(Y_k\) (measured from today). Each child attends for \(n\) years. We also allow for a delay \(D \geq 0\) before saving begins, and an initial starting budget \(S \geq 0\). The core parameters are:

  • \(A\) = base annual fee (today's prices)
  • \(g\) = annual fee inflation rate
  • \(r\) = annual investment return rate
  • \(n\) = years of schooling per child
  • \(S\) = starting budget (funds already saved)
  • \(D\) = years before saving starts (0 = start now)
  • \(Y_k\) = year when child \(k\) starts school, measured from today

Timeline transformation: When \(D > 0\), we shift the timeline so that "Year 1" is when saving begins. This requires transforming the inputs:

$$A' = A \cdot (1+g)^D \quad \text{(fees have already inflated by } D \text{ years)}$$
$$Y'_k = Y_k - D \quad \text{(school is } D \text{ years closer from when saving starts)}$$
$$S' = S \cdot (1+r)^D \quad \text{(starting budget has compounded by } D \text{ years)}$$

All subsequent formulas use these transformed values \(A'\), \(Y'_k\), and \(S'\). For simplicity, we drop the primes and write \(A\), \(Y_k\), and \(S\) with the understanding that they represent the values at the time saving begins. We then define:

  • \(Y_{\min} = \min_k Y_k\) = years until first child starts (from when saving begins)
  • \(Y_{\max} = \max_k Y_k\) = years until last child starts
  • \(T = Y_{\max} + n - 1\) = final year of the saving timeline

3. Fee Schedule for Multiple Children

School fees grow with inflation from year 1. In calendar year \(t\), the fee for one child in school is:

$$\text{Fee in year } t = A \cdot (1+g)^{t-1}$$

Child \(k\) is in school during years \(Y_k, Y_k+1, \ldots, Y_k+n-1\). We define an indicator function:

$$\mathbf{1}_k(t) = \begin{cases} 1 & \text{if } Y_k \leq t \leq Y_k + n - 1 \\ 0 & \text{otherwise} \end{cases}$$

The total fees in year \(t\) sum across all children in school that year:

$$F_t = A \cdot (1+g)^{t-1} \cdot \sum_{k=1}^{K} \mathbf{1}_k(t) = A \cdot (1+g)^{t-1} \cdot N_t \tag{1}$$

where \(N_t = \sum_{k=1}^{K} \mathbf{1}_k(t)\) is the number of children in school during year \(t\).

Example: Two children with \(Y_1 = 2\) and \(Y_2 = 5\), each attending for \(n = 3\) years:

Year \(t\)Child 1Child 2\(N_t\)Fee \(F_t\)
100
2Year 11\(A(1+g)^1\)
3Year 21\(A(1+g)^2\)
4Year 31\(A(1+g)^3\)
5Year 11\(A(1+g)^4\)
6Year 21\(A(1+g)^5\)
7Year 31\(A(1+g)^6\)

4. Contribution Schedule

Let \(I_t \in \{0, 1\}\) indicate whether we contribute in year \(t\), and let \(C\) be the annual contribution amount (what we solve for).

Mode 1 (save only before school starts):

$$I_t = \begin{cases} 1 & \text{if } t < Y_{\min} \\ 0 & \text{otherwise} \end{cases}$$

Mode 2 (continue contributing during school):

$$I_t = 1 \quad \text{for all } t \in \{1, 2, \ldots, T\}$$

5. Balance Evolution

Let \(B_t\) denote the account balance at the end of year \(t\). The timing within each year is:

  1. Start with balance \(B_{t-1}\) from previous year
  2. Balance grows by investment return: \(B_{t-1} \times (1+r)\)
  3. Add contribution \(I_t \cdot C\)
  4. Pay fees \(F_t\)

This gives the recurrence relation:

$$B_t = (1+r) \cdot B_{t-1} + I_t \cdot C - F_t, \quad \text{with } B_0 = S \tag{2}$$

6. Deriving the Closed-Form Solution

We solve the recurrence by expanding it step by step. With starting budget \(S\):

$$\begin{aligned} B_1 &= (1+r) \cdot S + I_1 C - F_1 \\[8pt] B_2 &= (1+r) B_1 + I_2 C - F_2 \\ &= S(1+r)^2 + I_1 C (1+r) + I_2 C - F_1(1+r) - F_2 \\[8pt] B_3 &= (1+r) B_2 + I_3 C - F_3 \\ &= S(1+r)^3 + I_1 C (1+r)^2 + I_2 C (1+r) + I_3 C - F_1(1+r)^2 - F_2(1+r) - F_3 \end{aligned}$$

The pattern becomes clear. At year \(t\):

$$B_t = S \cdot (1+r)^t + \sum_{s=1}^{t} I_s \cdot C \cdot (1+r)^{t-s} - \sum_{s=1}^{t} F_s \cdot (1+r)^{t-s}$$

We define the compounded starting budget:

$$S_t = S \cdot (1+r)^t \tag{3}$$

This is the value at year \(t\) of the initial savings, growing at the investment return rate.

The accumulated contribution factor:

$$A_t = \sum_{s=1}^{t} I_s \cdot (1+r)^{t-s} \tag{4}$$

This is the future value at year \(t\) of £1 contributed in each contributing year.

And the accumulated fee value:

$$V_t = \sum_{s=1}^{t} F_s \cdot (1+r)^{t-s} \tag{5}$$

This is the future value at year \(t\) of all fees paid through year \(t\).

Substituting into our expanded recurrence gives the closed-form balance equation:

$$B_t = S_t + C \cdot A_t - V_t \tag{6}$$

In practice, \(S_t\), \(A_t\), and \(V_t\) are computed iteratively using recurrence relations:

$$S_t = (1+r) \cdot S_{t-1}, \quad S_0 = S \tag{7}$$
$$A_t = (1+r) \cdot A_{t-1} + I_t, \quad A_0 = 0 \tag{8}$$
$$V_t = (1+r) \cdot V_{t-1} + F_t, \quad V_0 = 0 \tag{9}$$

7. The Liquidity Constraint

The fundamental requirement is that the account balance must never go negative:

$$B_t \geq 0 \quad \text{for all } t \in \{1, 2, \ldots, T\} \tag{10}$$

Substituting the closed-form balance (6) into constraint (10):

$$S_t + C \cdot A_t - V_t \geq 0 \quad \Rightarrow \quad C \geq \frac{V_t - S_t}{A_t} \tag{11}$$

The starting budget \(S_t\) effectively reduces the fee burden. Constraint (11) must hold for every year \(t\) where \(A_t > 0\). Therefore, the minimum contribution is:

$$C_{\min} = \max\left(0, \max_{t \in \{1, \ldots, T\}} \frac{V_t - S_t}{A_t}\right) \tag{12}$$

The outer max ensures \(C_{\min} \geq 0\) (if the starting budget covers all fees, no contributions are needed). The year \(t^*\) where the inner maximum is achieved is the binding constraint year.

8. Why the Naive Approach Can Fail

A naive present-value approach sets contributions equal to fees in present value terms, which is equivalent to enforcing only the terminal constraint \(B_T = 0\) from (10):

$$C_{\text{naive}} = \frac{V_T - S_T}{A_T} \tag{13}$$

Comparing (13) with our solution (12), the naive approach fails when an intermediate year \(t < T\) has:

$$\frac{V_t - S_t}{A_t} > \frac{V_T - S_T}{A_T}$$

In this case, using \(C_{\text{naive}}\) in equation (6) gives \(B_t = S_t + C_{\text{naive}} \cdot A_t - V_t < 0\), so the account goes negative, requiring borrowing.

When does this happen? From equations (8) and (9), the ratio \((V_t - S_t) / A_t\) increases when fees are paid (adding to \(V_t\)) and decreases when contributions are made without corresponding fees (adding to \(A_t\)). An intermediate year becomes binding when:

  • Multiple children overlap, creating a "fee hump"
  • Contributions stop early (Mode 1) while fees continue
  • A gap between children allows the ratio to decrease before later fees

9. Worked Example

Consider:

  • Three children starting together: \(Y_1 = Y_2 = Y_3 = 2\)
  • One child starting later: \(Y_4 = 6\)
  • School duration: \(n = 3\) years each
  • Base fee: \(A = £10{,}000\)
  • Inflation: \(g = 0\%\) (to simplify)
  • Return: \(r = 5\%\)
  • Mode 2: contribute all years

Fee schedule:

YearChildren in schoolFee \(F_t\)
10£0
23 (children 1,2,3)£30,000
33£30,000
43£30,000
50£0
61 (child 4)£10,000
71£10,000
81£10,000

Computing \(A_t\) and \(V_t\) using recurrences (8) and (9) with \(r = 0.05\) and \(S = 0\):

Year \(t\)\(A_t\)\(V_t\)\(V_t / A_t\)
11.00000
22.05030,00014,634
33.15361,50019,513
44.31094,57521,943
55.52699,30417,974
66.802114,26916,799
78.142129,98215,965
89.549146,48115,340

Applying equation (12) with \(S = 0\), the maximum ratio occurs at year 4 (value £21,943), not year 8. This is the binding constraint year \(t^* = 4\). Using the naive approach (13) would give \(C_{\text{naive}} = 15{,}340\), but substituting into (6) gives \(B_4 = 15{,}340 \times 4.310 - 94{,}575 = -28{,}470 < 0\), so the account goes negative.

The correct minimum contribution from (12) is \(C_{\min} = £21{,}943\) per year, ensuring \(B_t \geq 0\) for all \(t\) as required by (10).

10. Key Insights

The ratio \(\rho = \frac{1+g}{1+r}\) (appearing in the fee calculations) determines the relationship between fee growth and investment returns:

  • If \(g < r\) (so \(\rho < 1\)): Investment returns outpace fee inflation, so the burden lightens over time
  • If \(g > r\) (so \(\rho > 1\)): Fees grow faster than investments, an uphill battle
  • If \(g = r\) (so \(\rho = 1\)): They balance out; each year's fee has the same present value

In Mode 1, once contributions stop (\(I_t = 0\)), examining equations (8) and (9) shows that \(A_t\) only grows by compounding while \(V_t\) grows by compounding plus new fees. Thus \((V_t - S_t) / A_t\) can only increase (when fees are paid) or stay constant (during gaps), so the binding constraint in (12) is always the terminal year. The naive approach (13) suffices.

In Mode 2, ongoing contributions (\(I_t = 1\)) add to \(A_t\) each year, which can cause the ratio \((V_t - S_t) / A_t\) to decrease during gap years or when fees drop. This is precisely when an intermediate year can become the binding constraint in (12), and the liquidity-aware calculation becomes essential.