Wizard Inputs
PV • Annual Rate • Years — with presets + randomize Formula: FV = PV × (1 + r/m)^(m·n) m=12 monthly
Bad (−2%)
£173,108
PV £100,000 × (1+0.0550)^10
Base
£211,206
PV £100,000 × (1+0.0750)^10
Good (+2%)
£257,606
PV £100,000 × (1+0.0950)^10
3-Band Compounding Chart (annual FV = PV×(1+r)^n)
Amortization — Year rows → expand to 12 months
120 months • fully amortizing • 0% handled
| Year | Bad | Base (annual) | Good | Monthly Payment | Balance (end) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | £100,000 | £100,000 | £100,000 | — | — | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1 | £105,500 | £107,500 | £109,500 | £1,187.02 | £93,019.06 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Year 1 — 12 months (payment / interest / principal / balance)
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2 | £111,303 | £115,562 | £119,903 | £1,187.02 | £85,496.17 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 3 | £117,424 | £124,230 | £131,293 | £1,187.02 | £77,389.25 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 4 | £123,882 | £133,547 | £143,766 | £1,187.02 | £68,652.98 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5 | £130,696 | £143,563 | £157,424 | £1,187.02 | £59,238.48 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 6 | £137,884 | £154,330 | £172,379 | £1,187.02 | £49,093.12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 7 | £145,468 | £165,905 | £188,755 | £1,187.02 | £38,160.14 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 8 | £153,469 | £178,348 | £206,687 | £1,187.02 | £26,378.41 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 9 | £161,909 | £191,724 | £226,322 | £1,187.02 | £13,682.03 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 10 | £170,814 | £206,103 | £247,823 | £1,187.02 | £0.00 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Save-as-Pytest
Writes tests/test_tvm_admin_<timestamp>.py via POST /api/v1/admin/tvm/save-testGenerated test asserts FV bad/base/good + PV/FV inverse + amortization balance→0. File appears in backend/tests/ and passes pytest -k admin.