储蓄率与 FIRE 年数的非线性关系
FIRE 最令人惊讶的洞见之一:提高储蓄率的效果不是线性的,而是指数级的。把储蓄率从 20% 提高到 50%,不只是"快了一点",而是彻底改变了你的 FIRE 时间表。
双重效应:储蓄率的魔法
graph LR
SR["提高储蓄率"] --> E1["效果1:每月存更多钱
资产积累加速"] SR --> E2["效果2:每月支出减少
FIRE 目标同步下降"] E1 --> Compound["双重加速
比你想象的快得多"] E2 --> Compound Compound --> Key["关键洞见
储蓄率 50% 的人
不是比 25% 的人
快了一倍
而是快了三倍以上"]
资产积累加速"] SR --> E2["效果2:每月支出减少
FIRE 目标同步下降"] E1 --> Compound["双重加速
比你想象的快得多"] E2 --> Compound Compound --> Key["关键洞见
储蓄率 50% 的人
不是比 25% 的人
快了一倍
而是快了三倍以上"]
💡 双重效应:存得多,又需要的少——两个方向都在向 FIRE 靠近。
储蓄率与 FIRE 年数对照表
假设条件: - 投资回报率:年化 7%(全球多元化 ETF 历史均值) - 取款率:3.5%(马来西亚适配版) - 起始净资产为零
import math
def years_to_fire(
savings_rate: float,
investment_return: float = 0.07,
withdrawal_rate: float = 0.035
) -> float:
"""
计算从零开始达到 FIRE 的年数
公式推导:
- 目标 = 年支出 / 取款率 = (1 - SR) × 年收入 / WR
- 每年存入 = SR × 年收入
- 使用复利终值公式反推年数
Args:
savings_rate: 储蓄率(0.1 到 0.9)
investment_return: 年化投资回报率
withdrawal_rate: 安全取款率
Returns:
达到 FIRE 的年数
"""
if savings_rate >= 1.0:
return 0
# 标准化:以1单位年收入为基础
annual_income = 1.0
annual_expense = annual_income * (1 - savings_rate)
annual_savings = annual_income * savings_rate
fire_target = annual_expense / withdrawal_rate
# 年金终值反推年数:FV = PMT × [(1+r)^n - 1] / r
# 解 n = ln(FV*r/PMT + 1) / ln(1+r)
r = investment_return
n = math.log((fire_target * r / annual_savings) + 1) / math.log(1 + r)
return round(n, 1)
# 生成对照表
rates = [0.10, 0.15, 0.20, 0.25, 0.30, 0.35, 0.40, 0.50, 0.60, 0.70, 0.80]
print("储蓄率 | FIRE 年数")
for sr in rates:
years = years_to_fire(sr)
print(f"{sr*100:.0f}% | {years} 年")
| 储蓄率 | FIRE 年数 | 假设月收入 RM 8,000 → 月支出 | FIRE 目标(以年支出计) |
|---|---|---|---|
| 10% | 约53年 | RM 7,200/月 | RM 2,469,000 |
| 20% | 约42年 | RM 6,400/月 | RM 2,194,000 |
| 30% | 约33年 | RM 5,600/月 | RM 1,920,000 |
| 40% | 约26年 | RM 4,800/月 | RM 1,646,000 |
| 50% | 约19年 | RM 4,000/月 | RM 1,371,000 |
| 60% | 约14年 | RM 3,200/月 | RM 1,097,000 |
| 70% | 约9年 | RM 2,400/月 | RM 823,000 |
| 80% | 约6年 | RM 1,600/月 | RM 549,000 |
关键跳跃点
xychart-beta
title "储蓄率与 FIRE 年数(非线性关系)"
x-axis ["10%", "20%", "30%", "40%", "50%", "60%", "70%", "80%"]
y-axis "FIRE 年数" 0 --> 60
line [53, 42, 33, 26, 19, 14, 9, 6]
三个关键跳跃:
| 储蓄率提升 | FIRE 年数变化 | 节省工作年数 |
|---|---|---|
| 10% → 30% | 53年 → 33年 | 少工作20年 |
| 30% → 50% | 33年 → 19年 | 少工作14年 |
| 50% → 70% | 19年 → 9年 | 少工作10年 |
⚠️ 反直觉洞见:高收入如果高消费,FIRE 年数并不少。储蓄率才是决定性变量,不是绝对收入。
实际案例对比:两种 RM 10,000 月收入的人生
案例 A:Wang Fang — 储蓄率 15%
月收入:RM 10,000
月支出:RM 8,500(高生活品质)
月储蓄:RM 1,500(15%)
年储蓄:RM 18,000
FIRE 目标:RM 8,500 × 12 / 3.5% = RM 2,914,000
FIRE 年数:约 46 年
预计 FIRE 年龄:30 + 46 = 76岁(超过退休年龄)
案例 B:Ali — 储蓄率 50%
月收入:RM 10,000
月支出:RM 5,000(刻意节俭)
月储蓄:RM 5,000(50%)
年储蓄:RM 60,000
FIRE 目标:RM 5,000 × 12 / 3.5% = RM 1,714,000
FIRE 年数:约 19 年
预计 FIRE 年龄:30 + 19 = 49岁 ✅
相同收入,结果差距:27 年。
马来西亚现实:如何提升储蓄率?
阶段性目标——从现有基础提升:
| 当前储蓄率 | 短期目标 | 具体行动 |
|---|---|---|
| < 10% | 提升至 20% | 取消不使用的订阅;减少外食次数 |
| 10–20% | 提升至 30% | 搬到更便宜住所;以公共交通代替私家车 |
| 20–35% | 提升至 50% | 副业增加收入;EPF 账户 1 复利加速 |
| 35–50% | 维持并投资 | 开始定期投资 ETF;自动扣款强制储蓄 |
| > 50% | Fat FIRE 加速 | 评估是否过度压缩,是否影响健康/关系 |
储蓄率的心理陷阱
⚠️ "牺牲感"问题:过高储蓄率导致生活质量崩溃,最终放弃计划——这是最常见的 FIRE 失败原因之一。
平衡原则: - 现在的你和未来的你都需要照顾 - FIRE 不是苦行僧式的自我惩罚 - 找到"高性价比的快乐",而非"消灭所有快乐" - 用80/20法则:消灭 20% 的支出,获得 80% 的 FIRE 加速效果
本章小结
储蓄率是 FIRE 最强的单一变量。从 20% 提升到 50%,你不是"快了一些",而是少工作差不多半辈子。
下一节:马来西亚生活成本基准与购买力校准