현금흐름 입력 방식(고정/불규칙)을 고르고 초기 투자액과 현금흐름을 입력하세요. 초기 투자가 몇 년 만에 돌아오는지(회수기간)와, 돈의 시간가치를 생각한 할인회수기간, 현금흐름 수익률을 계산합니다.
이 페이지에서 할 수 있는 것
- 초기 투자액과 1년째 현금흐름(그해에 받는 돈)으로 회수기간(투자 회수기간), 즉 초기 투자가 몇 년 만에 돌아오는지를 계산합니다
- 현금흐름이 해마다 같아도, 해마다 ○%씩 늘거나 줄어도 계산할 수 있습니다(고정 현금흐름 모드)
- 해마다 금액이 제각각이면 1년씩 금액을 입력해서 계산할 수 있습니다(불규칙 현금흐름 모드, 최대 20년)
- 할인율을 넣으면 돈의 시간가치를 생각한 할인회수기간도 계산합니다. 현금흐름 수익률(IRR에 해당하는 연 수익률)은 할인율과 관계없이 계산합니다
- 연도별 명세표(누적 현금흐름·할인 후)와, 누적 현금흐름이 0원 선을 넘는 회수 시점의 그래프도 보여 줍니다
이 계산은 어디에 쓰일까요?
‘4,000만 원짜리 기계를 들이면 해마다 1,500만 원의 비용이 절감된다’고 합시다. 이때 회수기간은 \(4000 \div 1500 \fallingdotseq 2.7\)년입니다(단위: 만 원). 회사의 설비 투자에서는 ‘회수 3년 이내면 채택’ 같은 사내 기준을 두는 경우가 많아, 회수기간이 그 첫 관문으로 쓰입니다. 재무나 경영기획 부서뿐 아니라 현장에서 설비 도입을 제안할 때의 설득 자료로도 단골입니다.
다만 미래의 현금흐름은 추정이므로, 보수적인 숫자로도 계산해 두는 것이 실무의 요령입니다.
주택용 태양광 발전을 자부담 500만 원에 설치하고, 전기요금 절감(쓰고 남은 전기는 한전 상계거래로 요금에서 차감)으로 해마다 50만 원이 줄어든다면 회수기간은 \(500 \div 50 = 10\)년입니다(단위: 만 원). 패널의 수명은 20~30년이라고 하므로 ‘회수기간이 수명보다 충분히 짧은가’가 도입 판단의 기준이 됩니다. 단열 리모델링이나 고효율 보일러 같은 에너지 절약 설비도 같은 방법으로 비교할 수 있습니다.
전기요금은 계속 바뀌므로 증감률을 넣어 계산해 보면 전제가 바뀌었을 때의 영향도 알 수 있습니다.
음식점이나 프랜차이즈 창업에서는 ‘창업 자금을 몇 년 만에 회수할 수 있는가’가 사업 계획의 중심 숫자입니다. 예를 들어 창업 자금 1억 원에 연간 이익(매출에서 비용을 뺀 손에 남는 현금흐름)이 2,500만 원으로 예상되면 회수기간은 4년입니다.
개업 직후에는 손님이 얼마나 올지 예측하기 어려우므로, 1년째는 적게, 2년째부터 늘어나는 식으로 해마다 다른 금액으로 계산할 수 있는 불규칙 모드가 도움이 됩니다.
업무 시스템이나 RPA(업무 자동화 도구)를 도입할 때는 ‘도입비 600만 원, 작업 시간이 줄어 해마다 300만 원어치 인건비가 절감 → 회수기간 2년’처럼 효과를 회수기간으로 바꾸면 투자 판단이 쉬워집니다. IT 도구는 기술이 빨리 바뀌어 오래 쓸 수 있다는 보장이 없으므로, 회수가 빠를수록 위험도 작아집니다.
사내 품의서나 정부 지원사업 신청서 등에서 비용 대비 효과를 설명할 때도 이 생각이 자주 쓰입니다.
회수기간의 장점은 ‘앞이 보이지 않는 기간의 짧음’을 숫자 하나로 나타낼 수 있다는 것입니다. 기술이나 유행이 빨리 바뀌는 업계일수록 먼 미래의 추정은 믿기 어려우므로 회수의 빠르기가 중시됩니다.
한편 회수기간에는 ‘회수한 뒤의 이익을 무시한다’, ‘돈의 시간가치를 무시한다’는 유명한 약점이 있습니다. 5년에 회수하고 그 뒤 10년 동안 계속 버는 투자가, 3년에 회수하고 끝나는 투자에 지고 마는 것입니다. 그래서 실무에서는 할인회수기간, NPV, IRR 등과 함께 판단하는 것이 정석입니다.
공식과 그래프
용어·기호 해설
기호
| \(PP\) | 피피(회수기간) | Payback Period(회수기간·투자 회수기간). 초기 투자가 돌아오는, 즉 누적 순현금흐름이 0원이 될 때까지의 연수입니다. (예: 100만 원을 투자해서 해마다 20만 원이 돌아오면 5년) |
| \(DPP\) | 디피피(할인회수기간) | Discounted Payback Period(할인회수기간). 미래의 돈을 할인율로 지금의 가치로 바꾼 뒤에 센 회수기간으로, 반드시 보통의 회수기간보다 길어집니다. |
| \(I\) | 아이 | 초기 투자액. 처음에 내는 돈입니다. 이 계산기에서는 플러스 금액으로 입력하면 내부에서 0년째의 마이너스 지출로 처리합니다. |
| \(CF\), \(CF_n\) | 씨에프 / 씨에프 엔 | 현금흐름(Cash Flow). 그해에 받는 돈입니다. \(CF_n\)은 \(n\)년째의 현금흐름을 나타내며, 마이너스이면 그해의 추가 지출을 나타냅니다. |
| \(DCF_n\) | 디씨에프 엔 | \(n\)년째의 할인 현금흐름(Discounted Cash Flow). \(n\)년째의 돈을 지금의 가치로 바꾼 금액입니다. |
| \(g\) | 지 | 현금흐름의 증감률(연 기준). 해마다 5%씩 늘면 \(g=0.05\)이고, 다음 해의 금액은 전년도의 \((1+g)\)배가 됩니다. |
| \(r\) | 알 | 할인율. 미래의 돈을 지금의 가치로 바꿀 때 쓰는 연이율입니다. 대출 금리나 목표 수익률을 쓰는 것이 일반적입니다. |
| \(n\) | 엔 | 경과 연수(몇 년째인가). 투자한 시점을 0년째로 하여 셉니다. |
| \(k\) | 케이 | 회수 직전까지의 연수. 누적 순현금흐름이 아직 마이너스인 마지막 해입니다. |
| \(R\) | 알(대문자) | \(k\)년째가 끝난 시점의 미회수액. 초기 투자 가운데 아직 돌아오지 않은 금액입니다. |
| \(\ln\) | 엘엔(자연로그) | 자연로그. ‘\(e\)(약 2.718)를 몇 제곱하면 그 수가 되는가’를 나타내는 로그로, 공학용 계산기의 ln 키나 Excel의 LN 함수로 계산할 수 있습니다. 할인회수기간의 해석식에 나옵니다. |
용어
| 회수기간(투자 회수기간) | 초기 투자가 돌아올 때까지의 기간입니다. 짧을수록 빨리 본전을 찾고 앞이 보이지 않는 기간이 짧으므로 위험이 작다고 봅니다. 영어로는 Payback Period라고 하며, 회수기간의 길이로 투자안을 평가하는 방법을 회수기간법이라고 합니다. |
| 손익분기점 | 이익과 손실이 정확히 맞아떨어지는 점입니다. 회수기간은 ‘누적 현금흐름이 손익분기점(0원)에 이를 때까지의 시간’입니다. |
| 현금흐름 | 돈이 들어오고 나가는 것을 말합니다. 받은 돈은 플러스, 낸 돈은 마이너스 숫자로 나타냅니다. 회수기간 계산에서는 ‘언제, 얼마’ 들어오는지가 중요합니다. |
| 누적 순현금흐름 | 받은 돈의 합계에서 초기 투자를 뺀 ‘차감 누계액’입니다. 이것이 마이너스에서 플러스로 바뀌는 시점이 회수의 순간입니다. |
| 할인율 | 미래의 돈을 지금의 가치로 바꿀(할인할) 때 쓰는 연이율입니다. ‘1년 뒤의 11만 원은 연 10%로 할인하면 지금의 10만 원’처럼 씁니다. |
| 할인 현금흐름(DCF) | 미래의 현금흐름을 할인율로 지금의 가치로 바꾼 금액입니다. 기업이나 부동산의 가치를 매기는 방법인 DCF법(현금흐름할인법)의 바탕이기도 합니다. |
| 할인회수기간 | 할인 현금흐름의 누계로 센 회수기간입니다. 돈의 시간가치를 생각하는 만큼 보통의 회수기간보다 반드시 길어지며, 할인율이 높으면 ‘언제까지나 회수할 수 없는’ 경우도 있습니다. |
| 선형보간 | 두 점 사이를 직선으로 보고 그 사이의 값을 구하는 방법입니다. 회수기간에서는 ‘다음 해의 돈이 1년에 걸쳐 고르게 들어온다’고 보고, 그해 중간의 회수 시점을 비례 배분으로 구합니다. |
| 현금흐름 수익률 | 이 투자의 현금흐름 전체가 ‘1년에 몇 % 수익률에 해당하는가’를 나타내는 값으로, IRR(내부수익률)과 같은 계산입니다. 회수의 빠르기뿐 아니라 이익의 크기까지 숫자 하나로 나타낼 수 있습니다. |
| 자연로그 | 자연상수 \(e\)(약 2.718)를 밑으로 하는 로그입니다. \(\ln x\)는 ‘\(e\)를 몇 제곱하면 \(x\)가 되는가’를 나타냅니다. 고등학교 미적분에서 배우지만, 계산 자체는 계산기나 Excel에 맡길 수 있습니다. |
먼저 알아 두면 좋은 내용
이 페이지의 계산을 ‘뜻을 알고’ 쓸 수 있도록, 먼저 알아 두면 좋은 내용을 정리했습니다.
| 비와 비율·백분율(초등학교 6학년, 11~12세) |
|
| 정수와 유리수(중학교 1학년, 12~13세) |
|
| 거듭제곱·지수(중학교 1학년, 12~13세) |
|
| 지수함수·로그함수(고등학교 수학 I) |
|
| 복리·돈의 시간가치(고등학교 수학·경제) |
|
Excel로 계산하는 방법
| 초기 투자액(원) | 1000000 |
| 1년당 현금흐름(원) | 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 |
| 1년당 현금흐름(원) | 300000 |
| 할인율(%) | 10 |
| 할인회수기간(년) | =-LN(1-B1*B3/100/B2)/LN(1+B3/100) |
네 번째 표는 ‘3년째가 끝나고 35,000원이 남았고, 4년째에 40,000원이 들어오는’ 경우로 3 + 35000 ÷ 40000 = 3.875년이 됩니다.
다섯 번째 표는 LN 함수(자연로그)를 쓴 해석식으로, 약 4.254년이 됩니다. B열을 자신의 숫자로 바꾸기만 하면 쓸 수 있습니다.
Google 스프레드시트로 계산하는 방법
| 초기 투자액(원) | 1000000 |
| 1년당 현금흐름(원) | 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 |
| 1년당 현금흐름(원) | 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. 회수기간(년, 소수 셋째 자리까지) = 누적 순현금흐름이 0원이 되는 시점(부호가 바뀌는 두 점 사이의 선형보간) 2. 할인회수기간(년, 소수 셋째 자리까지) = 연도별 현금흐름을 (1+0.1)^연수로 나눈 뒤 같은 방법으로 구한 시점 3. 현금흐름 수익률(%, 소수 둘째 자리까지) = 현금흐름 열(0년째 = -100000, 1~6년째 = 위의 금액)의 IRR(내부수익률) 계산에 사용한 공식과 실행 결과의 숫자를 보여 주세요.
사용법
-
1숫자 입력계산하고 싶은 숫자를 입력란에 입력합니다
-
2계산‘계산’ 버튼을 누릅니다
-
3결과 확인계산 결과가 바로 표시됩니다. 계산의 원리와 공식 해설도 같은 페이지에서 확인할 수 있습니다
DataChef의 특징
전문 지식 없이도 직관적이고 간단하게 사용
개인정보를 등록하지 않고도 이용할 수 있습니다
"다운로드"를 누르면 파일이 자동으로 삭제됩니다
출처 표기 불필요
상업적 이용 허가 연락도 필요 없습니다