財務規劃
規則
- MRR 計算:所有活躍訂閱月費的總和 — 年繳方案除以 12,排除一次性費用
- ARR:MRR * 12 — 儀表板上同時顯示兩者,使用 MRR 觀察月度趨勢,ARR 用於年度規劃
- MRR 組成:追蹤新增 MRR、擴張 MRR(升級)、收縮 MRR(降級)、流失 MRR(取消)、重新啟動 MRR — 以瀑布圖呈現
- 燃燒率:(期初現金 - 期末現金) / 月數 — 每月計算,以當前消耗速度顯示剩餘跑道月數
- 營收儀表板:顯示 MRR、ARR、MRR 月成長率 (MoM%)、淨收入留存率、客戶總數 — 每日更新
- 財務預測:建立三種情境(保守、基準、樂觀)— 調整成長率與流失率,預測 12-24 個月
- 貨幣處理:所有金額以「分」(整數)儲存 — 絕不使用浮點數處理金錢 — 使用
Intl.NumberFormat顯示 - 日期範圍:預設為過去 12 個月,允許自訂範圍 — 按月份匯總觀察趨勢,按日匯總觀察近期活動
儀表板資料模型
CREATE TABLE revenue_events (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
type TEXT NOT NULL, -- 'new' | 'expansion' | 'contraction' | 'churn' | 'reactivation'
amount_cents INTEGER NOT NULL,
customer_id UUID NOT NULL,
occurred_at DATE NOT NULL,
created_at TIMESTAMP DEFAULT NOW()
);
按月匯總 MRR:SELECT date_trunc('month', occurred_at), type, SUM(amount_cents) FROM revenue_events GROUP BY 1, 2。
避免
- 使用浮點數處理金錢 — 一律使用整數「分」
- 不區分組成項目就算 MRR — 你必須了解 MRR 變化的原因
- 僅有月粒度 — 儲存每日事件,為顯示而匯總
- 忽略收縮 MRR — 降級是早期流失訊號