請先選擇「計算類型」,在顯示的欄位填入數值後按「計算」。會算出流失率、留存率、平均留存期間、年流失率等,並用圖表顯示顧客數逐月減少的情形。
這個頁面可以做什麼
- 用期初(月初)的顧客數和期間內的解約數,計算每月流失率和留存率。固定採用「期間內新增的顧客不算進分母」的定義,也會顯示和另一種定義(以期間平均為分母)的差異
- 用每月流失率計算平均留存期間(\(100 \div\) 流失率 個月)和換算成年率的流失率。用數字就能看出「每月 5% 乘以 12,等於一年 60%」為什麼是錯的
- 也能反推:「年流失率 40%,換成每月是幾 %?」「希望顧客平均留 24 個月,每月流失率要壓在幾 % 以下?」「200 位顧客以每月 5% 解約,12 個月後還剩幾人?」
- 用衰減圖表顯示顧客數逐月減少的情形,並確認平均留存期間落在圖表的哪個位置
- 公式的簡單解說,以及可直接複製的 Excel、Google 試算表、Python 公式,都整理在這一頁
這個計算有什麼用?
月費制的服務,基本功是每個月用月初的顧客數和解約數算出流失率。月初 1,200 人、解約 36 人時,流失率是 \(36 \div 1200 \times 100 = 3\)%,平均留存期間約 \(100 \div 3 \approx 33\) 個月。
不管增加多少新客,流失率一直偏高的話,新客大多只是在補離開的人。追蹤「比上個月上升還是下降」,就能為價格、產品改善、客服支援的決策提供數字依據。
「1 位顧客能帶來多少營收」的 LTV,訂閱制可以用「月費 × 平均留存月數」估算(要以毛利計算時,再乘上毛利率)。每月流失率 5% 時,平均留存期間是 20 個月,月費 300 元的方案 LTV 約為 6,000 元。
有了這個估計值,就能決定取得 1 位顧客最多能花多少廣告費。流失率是這個計算的起點,「流失率越低,LTV 越高」的關係,也來自平均留存期間是流失率的倒數。
健身房、才藝班這類常說「一年有多少會員退出」的事業,需要在年率和每月比率之間換算。一年 40% 換成每月是 \((1 - \sqrt[12]{0.6}) \times 100 \approx 4.17\)%,和直接除以 12 的 3.33% 不同。
反過來,把每月的數字放進年度計畫時,要用 1 年後剩下的比率,而不是「乘以 12」。每月 5% 一年下來約 46%,和 60% 差很多,換算方式不同,事業看起來的樣子也會不同。
「現在有 200 位顧客,以每月 5% 解約,一年後還剩幾人?」預估值是 \(200 \times 0.95^{12} \approx 108\) 人。沒有新客的話,一年就會失去將近一半的顧客,用數字就能清楚看出來。
有了這個預估,就能規劃明年的營收、客服團隊的規模,以及需要的新客數(光是補足流失,一年就需要約 92 位新客)。
解約不可能完全杜絕,所以實務上會由「顧客平均要留幾個月,事業才能回本」反推,訂出流失率的目標。如果需要平均 24 個月,可接受的每月流失率是 \(100 \div 24 \approx 4.17\)%。
目標有了數字,成果就能化為具體行動,例如「這個月是 4.5%,需要改善」。依據的是「流失率的倒數 = 平均留存期間」這個簡單的公式,也容易和團隊分享。
公式與圖示
符號與用語解說
符號
| \(c\) | c | 每月流失率(%),取自 churn(流失、顧客汰換)的第一個字母。1 個月內解約的顧客比率。在反推的公式中,代表可接受的最高流失率。 |
| \(r\) | r | 每月留存率(%),取自 retention(留存)的第一個字母。1 個月後仍持續簽約的顧客比率,用 \(r = 100 - c\) 求出。 |
| \(N_{0}\) | N 下標 0 | 期初(月初)顧客數。\(N\) 取自 number(數)的第一個字母,右下的 \(0\) 表示「第 0 個月=起始時間點」。(例:月初有 200 人時 \(N_{0} = 200\)) |
| \(D\) | D | 期間內(1 個月)的解約數,也就是期初的顧客中在該月解約的人數。沒有固定的單一字母符號,這個頁面取「離開(drop-off)」的意思寫成 \(D\)。 |
| \(L\) | L | 平均留存月數,取自 lifetime(顧客壽命)的第一個字母。1 位顧客平均持續簽約幾個月,用 \(L = 100 \div c\) 求出。在反推的公式中代表目標平均留存月數。 |
| \(c_{\mathrm{y}}\) | c 下標 y | 換算年流失率(%)。右下的 \(\mathrm{y}\) 取自 year(年)的第一個字母,表示 1 年內解約的顧客比率。 |
| \(R_{\mathrm{y}}\) | R 下標 y | 1 年後剩下的比率(小數)。retention 的第一個字母 \(R\) 加上 year 的 \(\mathrm{y}\),用 \(R_{\mathrm{y}} = (1 - c \div 100)^{12}\) 求出。乘以 100 就是年留存率(%)。 |
| \(N_{n}\) | N 下標 n | \(n\) 個月後的剩餘顧客數。右下的 \(n\) 表示經過月數,是從 \(N_{0}\) 開始逐月減少後的人數。 |
| \(n\) | n | 經過月數,取自 number(數)的第一個字母,表示「幾個月後」的整數。在公式中是乘上「1 個月後剩下的比率」的次數(指數)。 |
| \(\sqrt[12]{\ }\) | 12 次方根 | 12 次方根。求「自乘 12 次後等於該數的數」的符號,用來由 1 年後剩下的比率求出每月剩下的比率。 |
| \(100\) | 一百 | 百分率(百分比)的基準。把 % 除以 100 就變回小數的比率(\(5\% \div 100 = 0.05\))。也因為這個換算,流失率的倒數 \(100 \div c\) 就是平均留存月數。 |
用語
| 流失率 | 一定期間(這個頁面是 1 個月)內解約的顧客比率,也叫客戶流失率或解約率,英文 churn rate(churn 原意是「攪動」,指顧客不斷汰換)。這個頁面定義為期間內解約數除以期初顧客數。在訂閱制和 SaaS 中,它直接決定營收減少的速度,是最重要的指標之一。 |
| 留存率 | 期初的顧客中,到期末仍持續簽約的比率,英文 retention rate。和流失率相加剛好是 100%(留存率 = 100 − 流失率)。App 領域常用「次日留存率」「30 日留存率」這種以固定天數計算的留存率。 |
| 客戶數流失率 | 以「人數(簽約數)」計算的流失率,英文也叫 logo churn,這個頁面的流失率就是它。報告中只寫「流失率」時,請確認是以人數還是以營收(營收流失率)計算。 |
| 營收流失率 | 以解約或降級方案而減少的每月經常性營收(MRR)的比率來表示的流失率,英文 revenue churn,也叫 MRR churn。高價方案的顧客離開時,會比客戶數流失率大。報告中只寫「流失率」時,請確認是以人數還是以營收計算。 |
| 期初 | 統計期間的開始。按月統計時就是月初。流失率的分母是「期初顧客數」。 |
| 期末 | 統計期間的結束。按月統計時就是月底。期末顧客數用「期初 − 解約 + 新客」求出。 |
| 以期間平均為分母的流失率 | 以期初和期末顧客數的平均為分母,另一種定義的流失率。在新客很多的成長期,分母會變大,所以算出來比以期初為準的值小。兩者沒有哪個「正確」,只是計算規則不同,比較前請先統一定義。 |
| 平均留存期間 | 1 位顧客平均持續簽約幾個月(幾年),英文 customer lifetime。顧客以固定的每月流失率解約時,它是流失率的倒數(100 ÷ 流失率)。用「月費 × 平均留存月數」估算 LTV(顧客終身價值)時,就是以它為基礎。 |
| 換算成年率 | 把每月的比率換成「1 年下來是多少」。像流失率這種「每個月只對還留著的人套用比率」的數值,不是乘以 12,而是用「把 1 個月後剩下的比率連乘 12 次,再用 1 去減」來換算。和利率的月利率、年利率換算是相同的思考方式。 |
| 同類群組 | 像「同一個月簽約的顧客」這樣,在同一時期開始的一群人,英文 cohort(GA4 的「同類群組探索」也是這個概念)。逐月追蹤每個同類群組,就能看出解約是集中在剛簽約後,還是以固定的速度發生。這個頁面剩餘顧客數的公式,表示的就是 1 個同類群組逐漸減少的情形。 |
| 倒數 | 相乘後等於 1 的數。5 的倒數是 \(\dfrac{1}{5}\)(=0.2)。流失率 5%(小數是 0.05)的倒數是 \(1 \div 0.05 = 20\),就是平均留存月數(直接用百分比時,計算 100 ÷ 5)。 |
| 次方 | 同一個數連乘好幾次,也叫乘方。\(0.95^{12}\) 是 0.95 連乘 12 次的數,也就是用 12 個月的「1 個月後剩下的比率」組成的 1 年後剩下的比率。 |
| 12 次方根 | 自乘 12 次後等於該數的數。\(\sqrt[12]{0.6} \approx 0.9583\) 的意思是「0.9583 連乘 12 次約等於 0.6」。它是次方的反運算,在 Excel 中寫成 \(\wedge(1/12)\)。 |
| 指數衰減 | 「每期減少剩餘量的固定比率」這種減少方式。一開始減得最多,之後越減越少,所以圖形是往右下的曲線。放射性物質的半衰期、藥物在血液中濃度的下降,也是相同的形式。 |
建議先了解的基礎知識
為了讓您「理解意義」地使用這個頁面的計算,這裡整理了建議先了解的基礎知識。
遇到卡關時,回頭複習這些內容是最快的方法。
| 比率與百分率(國小五年級,10~11 歲) |
|
| 倒數(國小六年級,11~12 歲) |
|
| 次方與指數(國中到高中,12~18 歲) |
|
| n 次方根(高中,15~18 歲) |
|
| 複利計算(高中,15~18 歲) |
|
用 Excel 計算的方法
| 期間內解約數 D | 10 |
| 期初顧客數 N0 | 200 |
| 每月流失率 c(%) | =B1/B2*100 |
| 每月流失率 c(%) | 5 |
| 平均留存月數 L | =100/B1 |
| 每月流失率 c(%) | 5 |
| 1 年後剩下的比率 Ry | =(1-B1/100)^12 |
| 換算年流失率 cy(%) | =(1-B2)*100 |
| 年流失率 cy(%) | 40 |
| 每月流失率 c(%) | =(1-(1-B1/100)^(1/12))*100 |
| 期初顧客數 N0 | 200 |
| 每月流失率 c(%) | 5 |
| 經過月數 n | 12 |
| n 個月後的剩餘顧客數 Nn | =B1*(1-B2/100)^B3 |
| 目標平均留存月數 L | 24 |
| 可接受的每月流失率 c(%) | =100/B1 |
例如第 1 個表格的 B3 顯示 5(流失率 5%),第 2 個表格的 B2 顯示 20(平均 20 個月),第 3 個表格的 B3 顯示約 45.96(年率 45.96%),第 4 個表格的 B2 顯示約 4.17(每月 4.17%),第 5 個表格的 B4 顯示約 108.07(12 個月後約 108 人),第 6 個表格的 B2 顯示約 4.17(可接受的流失率 4.17%)。
「^」是次方(連乘幾次),「^(1/12)」就是 12 次方根。只要把輸入欄換成自己的數字就能使用。
用 Google 試算表計算的方法
| 期間內解約數 D | 10 |
| 期初顧客數 N0 | 200 |
| 每月流失率 c(%) | =B1/B2*100 |
| 每月流失率 c(%) | 5 |
| 平均留存月數 L | =100/B1 |
| 每月流失率 c(%) | 5 |
| 1 年後剩下的比率 Ry | =(1-B1/100)^12 |
| 換算年流失率 cy(%) | =(1-B2)*100 |
| 年流失率 cy(%) | 40 |
| 每月流失率 c(%) | =(1-(1-B1/100)^(1/12))*100 |
| 期初顧客數 N0 | 200 |
| 每月流失率 c(%) | 5 |
| 經過月數 n | 12 |
| n 個月後的剩餘顧客數 Nn | =B1*(1-B2/100)^B3 |
| 目標平均留存月數 L | 24 |
| 可接受的每月流失率 c(%) | =100/B1 |
用 Python 計算的方法
customers_start = 200 # 期初(月初)顧客數
churned = 10 # 期間內解約數
churn_rate = churned / customers_start * 100 # 每月流失率(%)
retention_rate = 100 - churn_rate # 每月留存率(%)
avg_months = 100 / churn_rate # 平均留存期間(個月)
annual_retention = (1 - churn_rate / 100) ** 12 # 1 年後剩下的比率
annual_churn = (1 - annual_retention) * 100 # 換算年流失率(%)
print(f"每月流失率:{churn_rate}%")
print(f"每月留存率:{retention_rate}%")
print(f"平均留存期間:{avg_months} 個月")
print(f"換算年流失率:{annual_churn:.4f}%(直接乘以 12:{churn_rate * 12}%)")
# 反推 1:由年流失率求每月流失率(12 次方根)
annual_rate = 40
monthly_from_annual = (1 - (1 - annual_rate / 100) ** (1 / 12)) * 100
print(f"年流失率 {annual_rate}% 換成每月:{monthly_from_annual:.4f}%")
# 反推 2:由目標平均留存期間求可接受的每月流失率
target_months = 24
print(f"平均留存 {target_months} 個月所需的每月流失率:{100 / target_months:.4f}% 以下")
# 反推 3:n 個月後的剩餘顧客數
months = 12
remaining = customers_start * (1 - churn_rate / 100) ** months
print(f"{months} 個月後的剩餘顧客數:{remaining:.2f} 人")
用 LaTeX 等數學式語言的寫法(可直接複製)
c = D ÷ N₀ × 100
c = \dfrac{D}{N_{0}} \times 100
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>c</mi>
<mo>=</mo>
<mfrac><mi>D</mi><msub><mi>N</mi><mn>0</mn></msub></mfrac>
<mo>×</mo>
<mn>100</mn>
</mrow>
</math>
c = D/N_0 xx 100
d/n0*100
c := d/n0*100;
c = d/n0*100;
c = D/N_0 × 100
L = 100 ÷ c
L = \dfrac{100}{c}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>L</mi>
<mo>=</mo>
<mfrac><mn>100</mn><mi>c</mi></mfrac>
</mrow>
</math>
L = 100/c
100/c
L := 100/c;
L = 100/c;
L = 100/c
cy = (1 − (1 − c/100)¹²) × 100
c_{\mathrm{y}} = \left[1 - \left(1 - \dfrac{c}{100}\right)^{12}\right] \times 100
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>c</mi><mi mathvariant="normal">y</mi></msub>
<mo>=</mo>
<mrow>
<mo>[</mo>
<mn>1</mn><mo>−</mo>
<msup>
<mrow><mo>(</mo><mn>1</mn><mo>−</mo><mfrac><mi>c</mi><mn>100</mn></mfrac><mo>)</mo></mrow>
<mn>12</mn>
</msup>
<mo>]</mo>
</mrow>
<mo>×</mo>
<mn>100</mn>
</mrow>
</math>
c_y = (1 - (1 - c/100)^12) xx 100
(1 - (1 - c/100)^12)*100
cy := (1 - (1 - c/100)^12)*100;
cy = (1 - (1 - c/100)^12)*100;
c_y = (1 - (1 - c/100)^12) × 100
c = (1 − (1 − cy/100)^(1/12)) × 100
c = \left(1 - \sqrt[12]{1 - \dfrac{c_{\mathrm{y}}}{100}}\right) \times 100
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>c</mi>
<mo>=</mo>
<mrow>
<mo>(</mo>
<mn>1</mn><mo>−</mo>
<mroot>
<mrow><mn>1</mn><mo>−</mo><mfrac><msub><mi>c</mi><mi mathvariant="normal">y</mi></msub><mn>100</mn></mfrac></mrow>
<mn>12</mn>
</mroot>
<mo>)</mo>
</mrow>
<mo>×</mo>
<mn>100</mn>
</mrow>
</math>
c = (1 - root(12)(1 - c_y/100)) xx 100
(1 - (1 - cy/100)^(1/12))*100
c := (1 - (1 - cy/100)^(1/12))*100;
c = (1 - (1 - cy/100)^(1/12))*100;
c = (1 - (1 - c_y/100)^(1/12)) × 100
Nₙ = N₀ × (1 − c/100)ⁿ
N_{n} = N_{0} \left(1 - \dfrac{c}{100}\right)^{n}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>N</mi><mi>n</mi></msub>
<mo>=</mo>
<msub><mi>N</mi><mn>0</mn></msub>
<msup>
<mrow><mo>(</mo><mn>1</mn><mo>−</mo><mfrac><mi>c</mi><mn>100</mn></mfrac><mo>)</mo></mrow>
<mi>n</mi>
</msup>
</mrow>
</math>
N_n = N_0 (1 - c/100)^n
n0*(1 - c/100)^n
Nn := N0*(1 - c/100)^n;
Nn = N0*(1 - c/100)^n;
N_n = N_0 (1 - c/100)^n
c = 100 ÷ L
c = \dfrac{100}{L}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>c</mi>
<mo>=</mo>
<mfrac><mn>100</mn><mi>L</mi></mfrac>
</mrow>
</math>
c = 100/L
100/l
c := 100/L;
c = 100/L;
c = 100/L
請 ChatGPT 幫忙計算的方法
你是訂閱制事業指標的計算助理。請實際執行 Python 程式來完成下面的計算,並只根據執行結果的數值回答(不要用心算或推測回答)。 月初有 200 位顧客,該月內有 10 人解約(新客不算進分母)。 請分別求出: 1. 每月流失率(解約數 ÷ 期初顧客數 × 100,單位 %) 2. 每月留存率(100 − 流失率,單位 %) 3. 平均留存月數(100 ÷ 流失率) 4. 換算年流失率((1 − (1 − 流失率/100)^12) × 100,單位 %),並說明和直接乘以 12 的差別 5. 另一個問題:年流失率 40% 時的每月流失率((1 − (1 − 40/100)^(1/12)) × 100,單位 %) 6. 另一個問題:要平均留存 24 個月時,可接受的每月流失率(100 ÷ 24,單位 %) 7. 200 位顧客以每月 5% 解約時,12 個月後的剩餘顧客數(200 × (1 − 5/100)^12) 請列出使用的公式和執行結果的數值。
使用方法
-
1輸入數值在輸入欄中輸入要計算的數值
-
2計算按下「計算」按鈕
-
3查看結果計算結果會立即顯示。計算的思路和公式的解說,也都能在同一個頁面查看
DataChef 的特色
不需專業知識,操作直覺又簡單
無須登錄任何個人資料
按下「下載」後自動刪除檔案
無須標註來源出處
亦無須事先取得商用授權