This appendix demonstrates an FP&A-style mini pack using real benchmark data from FRED (SOFR/EFFR + Treasury curve proxies). The pack converts the rate environment into operator-ready artifacts: trend, volatility, spread monitoring, curve slope proxies, and a scenario engine that links benchmark shocks to an NII proxy via an explicit giveback policy + balance sensitivity.
Key idea: even without internal company data, we can produce a credible FP&A structure by keeping facts factual (fees, benchmark rates) and isolating assumptions as ranges (balances, trading volumes), with sensitivity and decomposition.
| Metric | Value |
|---|---|
| Latest date | 2026-01-16 |
| Latest SOFR (%) | 3.65 |
| 30D Avg SOFR (%) | 3.712 |
| Latest EFFR (%) | 3.64 |
| 30D Avg EFFR (%) | 3.667 |
| SOFR-EFFR spread (bps) | 1 |
| SOFR 30D vol (bps/day) | 6.41 |
| EFFR 30D vol (bps/day) | 4.9 |
| Latest DTB3 (%) | 3.57 |
| Latest DGS2 (%) | 3.59 |
| Latest DGS10 (%) | 4.24 |
| 2s10s slope (bps) | 65 |
| 3m10y slope (bps) | 67 |
This table is designed to be management-ready: it maps benchmark shocks into a net spread proxy and NII proxy, and decomposes ΔNII into rate / balance / interaction components.
| label | shocked_rate | giveback_rate | ops_buffer | net_spread_proxy | balance_total | nii_proxy | delta_nii | rate_effect | balance_effect | interaction |
|---|---|---|---|---|---|---|---|---|---|---|
| SOFR +0bp | Fixed giveback | Balance -10% | 3.7125 | 2.00 | 0.75 | 0.9625 | 9.0e+07 | 866250 | -96250 | 0 | -96250 | 0 |
| SOFR +0bp | Fixed giveback | Balance Base | 3.7125 | 2.00 | 0.75 | 0.9625 | 1.0e+08 | 962500 | 0 | 0 | 0 | 0 |
| SOFR +0bp | Fixed giveback | Balance +10% | 3.7125 | 2.00 | 0.75 | 0.9625 | 1.1e+08 | 1058750 | 96250 | 0 | 96250 | 0 |
| SOFR +0bp | Partial pass-through (50%) | Balance -10% | 3.7125 | 2.00 | 0.75 | 0.9625 | 9.0e+07 | 866250 | -96250 | 0 | -96250 | 0 |
| SOFR +0bp | Partial pass-through (50%) | Balance Base | 3.7125 | 2.00 | 0.75 | 0.9625 | 1.0e+08 | 962500 | 0 | 0 | 0 | 0 |
| SOFR +0bp | Partial pass-through (50%) | Balance +10% | 3.7125 | 2.00 | 0.75 | 0.9625 | 1.1e+08 | 1058750 | 96250 | 0 | 96250 | 0 |
| SOFR -50bp | Fixed giveback | Balance -10% | 3.2125 | 2.00 | 0.75 | 0.4625 | 9.0e+07 | 416250 | -546250 | -500000 | -96250 | 50000 |
| SOFR -50bp | Fixed giveback | Balance Base | 3.2125 | 2.00 | 0.75 | 0.4625 | 1.0e+08 | 462500 | -500000 | -500000 | 0 | 0 |
| SOFR -50bp | Fixed giveback | Balance +10% | 3.2125 | 2.00 | 0.75 | 0.4625 | 1.1e+08 | 508750 | -453750 | -500000 | 96250 | -50000 |
| SOFR -50bp | Partial pass-through (50%) | Balance -10% | 3.2125 | 1.75 | 0.75 | 0.7125 | 9.0e+07 | 641250 | -321250 | -250000 | -96250 | 25000 |
| SOFR -50bp | Partial pass-through (50%) | Balance Base | 3.2125 | 1.75 | 0.75 | 0.7125 | 1.0e+08 | 712500 | -250000 | -250000 | 0 | 0 |
| SOFR -50bp | Partial pass-through (50%) | Balance +10% | 3.2125 | 1.75 | 0.75 | 0.7125 | 1.1e+08 | 783750 | -178750 | -250000 | 96250 | -25000 |
(Full CSV available at
outputs/rate_balance_scenarios_table.csv.)
| item | value |
|---|---|
| Membership fee (annual, USD) | 1e+03 |
| BTC spread (rate) | 1e-03 |
| Equity/ETF trading fee (rate) | 5e-03 |
This section keeps volumes as explicit ranges (Low/Base/High), which makes the model defensible rather than “fake precision.”
| scenario | active_members | btc_notional_per_member | equity_notional_per_member | balance_per_member | rev_membership | rev_btc | rev_equity | rev_payments | rev_rate_proxy | total_rev_per_member |
|---|---|---|---|---|---|---|---|---|---|---|
| Low | 300 | 2000 | 1000 | 333333.33 | 1000 | 2 | 5 | 0 | 3208.3333 | 4215.333 |
| Base | 1000 | 20000 | 10000 | 100000.00 | 1000 | 20 | 50 | 10 | 962.5000 | 2042.500 |
| High | 3000 | 80000 | 40000 | 33333.33 | 1000 | 80 | 200 | 50 | 320.8333 | 1650.833 |