Inspect the Arithmetic — Active vs Passive Break-Even
Version 1.1
Last verified: May 2026
Transparent arithmetic is the operating system of this calculator.
This document publishes the formulae, computational structure, and assumptions used to generate the outputs displayed on the calculator page.
No opinions. No hidden assumptions. Just arithmetic.
Purpose
This calculator compares an active strategy to a passive strategy under a simple “net = gross − fee” model. It reports:
- the break-even excess return (alpha) implied by the fee difference between active and passive,
- the break-even active gross return that would exactly match passive net performance, and
- ending portfolio values for both strategies under the user’s assumed active portfolio return and at the break-even return.
Definitions
Let:
- P = starting balance (initial principal, CAD)
- c = contribution amount in CAD per period (weekly, monthly, or annual, depending on user selection)
- m = contribution periods per year (52 for weekly, 12 for monthly, 1 for annual)
- t = investment horizon in years
- rpassive = passive portfolio return before fees (decimal)
- ractive = assumed active portfolio return before fees (decimal)
- fpassive = passive annual fee rate (decimal)
- factive = active annual fee rate (decimal)
- αbreak = break-even excess return required by active over passive
- ractive,break = break-even active gross return
- rpassive,net = rpassive − fpassive
- ractive,net = ractive − factive
- ractive,net,break = ractive,break − factive
- FVannual(P, r, t, c) = future value with annual compounding and one end-of-year contribution of c when m = 1
- FVperiodic(P, r, t, c, m) = future value when the net annual rate r compounds m times per year and contribution c is added at the end of each of the m·t periods (same convention as the Simple Investment Calculator)
Core Equations
1. Future Value with Contributions
When contributions are annual (m = 1), ending values use one compound period per year and a single end-of-year contribution:
FVannual(P, r, t, c) = P(1 + r)t + c · \frac{(1 + r)t − 1}{r}, if r ≠ 0
FVannual(P, 0, t, c) = P + c · t, if r = 0
When the user selects weekly (m = 52) or monthly (m = 12) contributions, the implementation uses the same effective per-period rate as the Simple Investment Calculator:
i = (1 + r)1/m − 1, with N = m·t periods and contribution c at the end of each period:
FVperiodic = P(1 + i)N + c · \frac{(1 + i)N − 1}{i}, if i ≠ 0
FVperiodic = P + c · N, if i = 0
2. Break-Even Alpha from Fee Difference
Break-even is defined as the point where passive and active net returns are equal:
rpassive − fpassive = ractive,break − factive
Rearranging for the break-even active gross return and identifying the implied excess return:
ractive,break = rpassive + (factive − fpassive)
αbreak = factive − fpassive
The calculator displays αbreak as “Break-even extra return / yr (fee gap)” and ractive,break as “Break-even active return (gross)”.
3. Net Returns Used for Ending Values
The net annual returns used in the future value calculations are:
rpassive,net = rpassive − fpassive
ractive,net = ractive − factive
ractive,net,break = ractive,break − factive
4. Ending Values and Differences
Using the net returns and contributions, the calculator computes three ending values:
FVpassive = FV(P, rpassive,net, t, c, m)
FVactive,assumed = FV(P, ractive,net, t, c, m)
FVactive,break = FV(P, ractive,net,break, t, c, m)
Here FV denotes FVannual when m = 1 and FVperiodic when m = 12 or 52, using the corresponding net return r in the formula for that path.
The difference between active and passive under the assumed active return is:
ΔFV = FVactive,assumed − FVpassive
Implementation Notes
-
All future values are computed via
TLM_FeeMath.endingValueWithFee() in /assets/js/fee-math.js, using the
specified gross return and fee pair for each path. Optional contribFreq of "monthly" or "weekly" selects periodic compounding; otherwise contributions are treated as annual end-of-year cash flows.
-
The page-specific logic in
initActiveVsPassivePage() inside /assets/js/fee-ui.js computes
αbreak, ractive,break, and the three ending values, then formats them for display.
-
The equality of net returns at break-even means that, under this model and horizon, FVpassive and
FVactive,break are equal up to floating-point and rounding noise.
If any discrepancy is identified between this documentation and the live calculator engine, the engine’s arithmetic
(TLM_FeeMath + initActiveVsPassivePage()) is the source of truth. This page will be updated to match the engine.
Sources and References