請選擇現金流量的輸入方式(固定/不規則),再輸入期初投資金額和現金流量。就會算出期初投資幾年能拿回來(回收期間),以及考慮錢的時間價值的折現回收期間和現金流量報酬率。
這個頁面可以做什麼
- 由期初投資金額和第 1 年的現金流量(當年收到的錢),算出回收期間,也就是期初投資幾年能拿回來
- 現金流量每年固定,或每年增加、減少某個 % 都能計算(固定現金流量模式)
- 每年金額都不一樣時,可以逐年輸入金額來計算(不規則現金流量模式,最多 20 年)
- 輸入折現率,還會算出考慮錢的時間價值的折現回收期間。現金流量報酬率(相當於 IRR 的年報酬率)則不論折現率都會計算
- 也會顯示逐年明細表(累積現金流量、折現後),以及累積現金流量越過 0 元線、也就是回本時間點的圖表
這個計算有什麼用?
「引進一台 400 萬元的機器,每年可降低 150 萬元的成本。」這時回收期間是 \(400 \div 150 \approx 2.7\) 年。公司做設備投資時,常會訂出「3 年內回本就採用」這類內部標準,回收期間就是第一道關卡。不只是會計和經營企劃部門,現場人員提案引進設備時,也常用它來說服主管。
不過將來的現金流量只是估計,實務上的訣竅是也用保守的數字算一次。
假設花 35 萬元設置屋頂型太陽能,靠節省電費和躉購售電每年可多出 4 萬元,回收期間就是 \(35 \div 4 = 8.75\) 年。太陽能板的壽命一般說是 20~30 年,「回收期間是否比壽命短很多」就是評估要不要裝的參考。隔熱改裝、高效率熱水器等節能設備,也能用同樣的想法比較。
躉購費率和電價都會變動,輸入增減率算算看,就能掌握前提改變時的影響。
開餐廳或加盟飲料店時,「開店資金幾年能回收」是營運計畫的核心數字。例如開店資金 300 萬元,預計每年的利潤(營收減掉費用後實際拿到的現金流量)有 75 萬元,回收期間就是 4 年。
剛開店時很難預測客人有多少,可以用不規則模式,把第 1 年填少一點、第 2 年起再增加,用每年不同的金額來計算。
導入業務系統或 RPA(流程自動化工具)時,像「導入費 60 萬元,減少作業時間每年可省下 30 萬元的人事費 → 回收期間 2 年」這樣,把效果換算成回收期間,投資判斷就比較容易。資訊工具的技術汰換很快,不一定能用很久,所以回本越快就代表風險越小。
向主管提出預算申請或撰寫補助計畫書時,也常用這種想法說明投資效益。
回收期間的優點,是能用一個數字表示「前途未卜的期間有多短」。技術和流行變化越快的產業,遙遠未來的估計越不可靠,所以越重視回本速度。
另一方面,回收期間也有「忽略回本後的獲利」「忽略錢的時間價值」這兩個有名的弱點。5 年回本、之後還能再賺 10 年的投資,反而會輸給 3 年回本就結束的投資。所以實務上的慣例,是搭配折現回收期間、NPV、IRR 等一起判斷。
公式與圖表
符號與用語解說
符號
| \(PP\) | P P | Payback Period(回收期間)。期初投資拿回來,也就是累積淨現金流量到達 0 元所需的年數。(例如投資 100 萬元、每年拿回 20 萬元,就是 5 年) |
| \(DPP\) | D P P | Discounted Payback Period(折現回收期間)。先用折現率把將來的錢換算成現在的價值再計算的回收期間,一定比一般的回收期間長。 |
| \(I\) | I | 期初投資金額,一開始付出的錢。在這個計算機輸入正數,計算時會當作第 0 年負的支出。 |
| \(CF\), \(CF_n\) | C F、C F n | 現金流量(Cash Flow),當年收到的錢。\(CF_n\) 表示第 \(n\) 年的現金流量,負的代表那一年的追加支出。 |
| \(DCF_n\) | D C F n | 第 \(n\) 年的折現現金流量(Discounted Cash Flow),把第 \(n\) 年的錢換算成現在價值的金額。 |
| \(g\) | g | 現金流量的增減率(年)。每年增加 5% 時 \(g=0.05\),下一年的金額是前一年的 \((1+g)\) 倍。 |
| \(r\) | r | 折現率,把將來的錢換算成現在價值時所用的年利率。一般會用借款利率或目標報酬率。 |
| \(n\) | n | 經過年數(第幾年)。以投資的時間點為第 0 年來算。 |
| \(k\) | k | 回本前的整年數,也就是累積淨現金流量還是負的最後一年。 |
| \(R\) | 大寫 R | 第 \(k\) 年結束時的未回收金額,也就是期初投資中還沒拿回來的金額。 |
| \(\ln\) | L N | 自然對數。表示「\(e\)(約 2.718)的幾次方會等於那個數」的對數,可以用工程計算機的 ln 鍵或 Excel 的 LN 函數計算。出現在折現回收期間的公式中。 |
用語
| 回收期間 | 期初投資拿回來所需的期間,也叫還本期間。越短就越早回本、前途未卜的期間也越短,所以被認為風險較小。英文是 Payback Period,以回收期間長短評估投資方案的方法叫做回收期間法。 |
| 損益兩平點 | 賺和賠剛好打平的點。回收期間就是「累積現金流量到達損益兩平點(0 元)所需的時間」。 |
| 現金流量 | 資金的進出。收到的錢用正數、付出的錢用負數表示。計算回收期間時,「什麼時候、進來多少」很重要。 |
| 累積淨現金流量 | 收到的錢的合計減掉期初投資後的「淨累計金額」。它由負轉正的時間點,就是回本的那一刻。 |
| 折現率 | 把將來的錢換算成現在價值(折現)時所用的年利率。例如「1 年後的 11 萬元,以年 10% 折現,相當於現在的 10 萬元」。 |
| 折現現金流量 | 英文縮寫 DCF。用折現率把將來的現金流量換算成現在價值的金額,也是企業和房地產估價方法「現金流量折現法(DCF 法)」的基礎。 |
| 折現回收期間 | 用折現現金流量的累計算出的回收期間。因為考慮了錢的時間價值,一定比一般的回收期間長,折現率高時也可能「永遠無法回本」。 |
| 線性內插 | 把兩點之間視為直線來求中間值的方法。在回收期間中,是假設「下一年的錢在一年內平均進來」,按比例求出年中的回本時間點。 |
| 現金流量報酬率 | 表示這項投資的整體現金流量「相當於每年幾 % 報酬率」的值,和 IRR(內部報酬率)是相同的計算。不只回本速度,連賺多少都能用一個數字表示。 |
| 自然對數 | 以 \(e\)(約 2.718)為底的對數。\(\ln x\) 表示「\(e\) 的幾次方會等於 \(x\)」。高中數學會學到,但計算本身交給計算機或 Excel 就可以。 |
建議先了解的基礎知識
為了能「理解意義」地使用這個頁面的計算,這裡整理了建議先了解的基礎知識。
| 比率與百分率(國小高年級,10~12 歲) |
|
| 正負數(國中,12~15 歲) |
|
| 次方與指數(國中,12~15 歲) |
|
| 指數函數與對數(高中,15~18 歲) |
|
| 複利與錢的時間價值(高中,15~18 歲) |
|
用 Excel 計算的方法
| 期初投資金額(元) | 1000000 |
| 每年的現金流量(元) | 300000 |
| 回收期間(年) | =B1/B2 |
| 第 1 年的現金流量(元) | 300000 |
| 增減率(%,減少時輸入負數) | 5 |
| 第幾年 n | 3 |
| 第 n 年的現金流量(元) | =B1*(1+B2/100)^(B3-1) |
| 第 n 年收到的錢(元) | 121000 |
| 折現率(%) | 10 |
| 經過年數 n | 2 |
| 折現現金流量(元) | =B1/(1+B2/100)^B3 |
| 回本前的整年數 k | 3 |
| 未回收金額 R(元) | 35000 |
| 下一年的現金流量(元) | 40000 |
| 回收期間(年) | =B1+B2/B3 |
| 期初投資金額(元) | 1000000 |
| 每年的現金流量(元) | 300000 |
| 折現率(%) | 10 |
| 折現回收期間(年) | =-LN(1-B1*B3/100/B2)/LN(1+B3/100) |
第 4 個表格是「第 3 年結束後還剩 35,000 元,第 4 年收到 40,000 元」的情況:3 + 35000 ÷ 40000 = 3.875 年。
第 5 個表格是使用 LN 函數(自然對數)的公式解,約 4.254 年。只要把 B 欄改成自己的數字就能使用。
用 Google 試算表計算的方法
| 期初投資金額(元) | 1000000 |
| 每年的現金流量(元) | 300000 |
| 回收期間(年) | =B1/B2 |
| 第 1 年的現金流量(元) | 300000 |
| 增減率(%,減少時輸入負數) | 5 |
| 第幾年 n | 3 |
| 第 n 年的現金流量(元) | =B1*(1+B2/100)^(B3-1) |
| 第 n 年收到的錢(元) | 121000 |
| 折現率(%) | 10 |
| 經過年數 n | 2 |
| 折現現金流量(元) | =B1/(1+B2/100)^B3 |
| 回本前的整年數 k | 3 |
| 未回收金額 R(元) | 35000 |
| 下一年的現金流量(元) | 40000 |
| 回收期間(年) | =B1+B2/B3 |
| 期初投資金額(元) | 1000000 |
| 每年的現金流量(元) | 300000 |
| 折現率(%) | 10 |
| 折現回收期間(年) | =-LN(1-B1*B3/100/B2)/LN(1+B3/100) |
用 Python 計算的方法
initial_investment = 100000 # 期初投資金額(元)
discount_rate = 0.10 # 折現率(年,10% 就是 0.10)
cash_flows = [5000, 25000, 35000, 40000, 30000, 10000] # 從第 1 年起每年的現金流量(元)
# 回收期間:用線性內插求出累積淨現金流量越過 0 元的年中時間點
def payback_period(investment, cfs):
cumulative = -investment
for year, cf in enumerate(cfs, start=1):
previous = cumulative
cumulative += cf
if previous < 0 and cumulative >= 0:
return (year - 1) + (-previous) / cf
return None # 在輸入的年數內無法回本
# 折現回收期間:先把每年的錢換算成現在的價值,再做同樣的事
def discounted_payback_period(investment, cfs, rate):
cumulative = -investment
for year, cf in enumerate(cfs, start=1):
previous = cumulative
discounted_cf = cf / (1 + rate) ** year
cumulative += discounted_cf
if previous < 0 and cumulative >= 0:
return (year - 1) + (-previous) / discounted_cf
return None
pp = payback_period(initial_investment, cash_flows)
dpp = discounted_payback_period(initial_investment, cash_flows, discount_rate)
print(f"回收期間:{pp:.3f} 年")
print(f"折現回收期間:{dpp:.3f} 年")
用 LaTeX 等數學式語言的寫法(可直接複製)
PP = I ÷ CF
PP = \dfrac{I}{CF}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>PP</mi>
<mo>=</mo>
<mfrac>
<mi>I</mi>
<mi>CF</mi>
</mfrac>
</mrow>
</math>
PP = I / (CF)
invest/cf
PP := invest/cf;
PP = invest/cf;
PP = I/CF
CFₙ = CF₁ × (1 ± g)ⁿ⁻¹
CF_n = CF_1 \times (1 \pm g)^{n-1}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>CF</mi><mi>n</mi></msub>
<mo>=</mo>
<msub><mi>CF</mi><mn>1</mn></msub>
<mo>×</mo>
<msup>
<mrow><mo>(</mo><mn>1</mn><mo>±</mo><mi>g</mi><mo>)</mo></mrow>
<mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow>
</msup>
</mrow>
</math>
CF_n = CF_1 (1 +- g)^(n-1)
cf1*(1 + g)^(n - 1)
cfn := cf1*(1 + g)^(n - 1);
cfn = cf1*(1 + g)^(n - 1);
CF_n = CF_1 (1 ± g)^(n−1)
DCFₙ = CFₙ ÷ (1 + r)ⁿ
DCF_n = \dfrac{CF_n}{(1+r)^{n}}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>DCF</mi><mi>n</mi></msub>
<mo>=</mo>
<mfrac>
<msub><mi>CF</mi><mi>n</mi></msub>
<msup>
<mrow><mo>(</mo><mn>1</mn><mo>+</mo><mi>r</mi><mo>)</mo></mrow>
<mi>n</mi>
</msup>
</mfrac>
</mrow>
</math>
DCF_n = (CF_n) / ((1 + r)^n)
cfn/(1 + r)^n
DCFn := cfn/(1 + r)^n;
dcfn = cfn/(1 + r)^n;
DCF_n = CF_n/(1 + r)^n
PP = k + R ÷ CFₖ₊₁
PP = k + \dfrac{R}{CF_{k+1}}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>PP</mi>
<mo>=</mo>
<mi>k</mi>
<mo>+</mo>
<mfrac>
<mi>R</mi>
<msub><mi>CF</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub>
</mfrac>
</mrow>
</math>
PP = k + R / (CF_(k+1))
k + rem/cfnext
PP := k + rem/cfnext;
PP = k + rem/cfnext;
PP = k + R/CF_(k+1)
DPP = −ln(1 − I × r ÷ CF) ÷ ln(1 + r)
DPP = \dfrac{-\ln\left(1 - \dfrac{I \times r}{CF}\right)}{\ln(1+r)}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>DPP</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mo>−</mo>
<mi>ln</mi>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>−</mo>
<mfrac>
<mrow><mi>I</mi><mo>×</mo><mi>r</mi></mrow>
<mi>CF</mi>
</mfrac>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mi>ln</mi>
<mrow><mo>(</mo><mn>1</mn><mo>+</mo><mi>r</mi><mo>)</mo></mrow>
</mrow>
</mfrac>
</mrow>
</math>
DPP = (-ln(1 - (I r) / (CF))) / (ln(1 + r))
-Log[1 - invest*r/cf]/Log[1 + r]
DPP := -ln(1 - invest*r/cf)/ln(1 + r);
DPP = -log(1 - invest*r/cf)/log(1 + r);
DPP = −ln(1 − I r/CF)/ln(1 + r)
請 ChatGPT 幫忙計算的方法
你是投資計算助理。請務必實際執行 Python 程式碼來進行下列計算,並且只根據執行結果的數值回答(不要用心算或推測回答)。 我投資新臺幣 10 萬元,從第 1 年起依序收到 5,000 元、25,000 元、35,000 元、40,000 元、30,000 元、10,000 元的現金流量。折現率是每年 10%。 請分別求出下列的值: 1. 回收期間(年,小數 3 位)= 累積淨現金流量到達 0 元的時間點(在正負號改變的兩點之間做線性內插) 2. 折現回收期間(年,小數 3 位)= 把每年的現金流量除以 (1 + 0.1)^(年數)後,用同樣方法求出的時間點 3. 現金流量報酬率(%,小數 2 位)= 這組現金流量(第 0 年 = -100000,第 1~6 年 = 上面的金額)的 IRR(內部報酬率) 請列出計算時使用的公式,以及執行結果的數值。
使用方法
-
1輸入數值在輸入欄中輸入要計算的數值
-
2計算按下「計算」按鈕
-
3查看結果計算結果會立即顯示。計算的思路和公式的解說,也都能在同一個頁面查看
DataChef 的特色
不需專業知識,操作直覺又簡單
無須登錄任何個人資料
按下「下載」後自動刪除檔案
無須標註來源出處
亦無須事先取得商用授權