初期値・最終値・期間・CAGR(%)の4つのうち、わかっている3つを入力し、求めたい1つは空欄のままにして「計算する」を押してください。空欄にした項目を逆算し、年ごとの推移表と成長曲線のグラフを表示します。
目次
このページでできること
- 初期値・最終値・年数の3つから、年平均成長率(CAGR)を計算します。「売上が5年で1000万円から1610万円になった=年平均約10%成長」のように、デコボコな伸びを「毎年同じ何%で増え続けたのと同じか」に直した値です
- 4つの欄(初期値・最終値・年数・CAGR)のうち、わかっている3つを入れると残りの1つを逆算します。「売上を2倍にするには年10%成長で何年かかる?」(年数の逆算)、「年15%成長を続けたら5年後はいくら?」(最終値の逆算)、「目標を達成するには今いくら必要?」(初期値の逆算)が全部できます
- 年数は2.5年のような小数でも、「18か月」のような月数でも入力できます。目標到達の年数は小数と切り上げた年数(何年目に到達するか)の両方を表示します
- 年ごとの推移表と、成長曲線(初期値 × (1 + CAGR) の年数乗)と「毎年同じ額ずつ増えた場合の直線」を重ねたグラフで、単純平均成長率との違いも一目でわかります
この計算は何の役に立つ?
スタートアップの事業計画や上場企業の決算説明資料では、売上や利用者数の伸びを「過去3年のCAGRは25%」のように表します。例えば売上が3年で2億円から3.9億円になったなら、CAGRは \((3.9 \div 2)^{1/3} - 1 \fallingdotseq 0.249\)、つまり約25%です。
年ごとの伸びがデコボコでも1つの数字で成長の速さを表せるので、規模も期間も違う会社どうしを比べられます。ただし初期値と最終値の2点しか見ないので、「最後の年だけ急に伸びた」ような中身は隠れます。資料を読むときは推移表もあわせて確認するのがコツです。
「年10%成長を続けたら、売上が2倍になるのは何年後?」という問いには、年数の式で \(\log 2 \div \log 1.1 \fallingdotseq 7.27\) 年、つまり8年目の終わりに2倍を超えると答えられます。逆に「5年で2倍」を目標にするなら、必要なCAGRは \(2^{1/5} - 1 \fallingdotseq 0.149\)、年約14.9%の成長が要るとわかります。
「毎年何%伸ばせば目標に届くか」を数字にすると、年ごとの目標売上(推移表)に落とし込めます。
あるアプリの月間利用者数が2年で5万人から20万人(4倍)になったとき、CAGRは \(4^{1/2} - 1 = 1\)、年100%(毎年2倍)です。別のアプリが4年で4倍なら \(4^{1/4} - 1 \fallingdotseq 0.414\)、年約41%で、同じ「4倍」でも伸びの速さがまったく違うことがCAGRで見えます。
利用者数のように単位が円でないものにも、そのまま同じ式が使えます。
「この市場は年平均8%で成長する見込み」という予測があるとき、現在1000億円の市場は5年後に \(1000 \times 1.08^5 \fallingdotseq 1469\) 億円と見積もれます(最終値の式)。業界レポートの「○年後の市場規模」には、こうした計算で作られているものが多くあります。
注意したいのは、成長率が今後も一定だという仮定の上の数字だということです。予測の前提(何%を何年続けるか)を確かめてから使いましょう。
ある町の人口が10年で5万人から4万人に減ったなら、CAGRは \((4 \div 5)^{1/10} - 1 \fallingdotseq -0.0221\)、年約2.2%の減少です。「10年で20%減った = 年2%減」と単純に割ると少しずれるのは、減り方も複利(減った後の人口を基準に減る)だからです。
減少のときもまったく同じ式で、CAGRがマイナスになるだけです。同じペースが続いたら何年後に3万人を下回るか、という逆算も年数の式でできます。
例えば20年前に月給20万円だった人が、今30万円なら、CAGRは \((30 \div 20)^{1/20} - 1 \fallingdotseq 0.0205\)、年約2%の伸びです。物価の上がり方も同じ式で「年平均何%」に直せるので、給料の伸びと物価の伸びを同じものさしで比べられます。
「長い期間の変化を年率に直す」のはCAGRの得意分野で、数字が大きく見える「20年で50%増」も、年率にすると2%という実感のある数字になります。
式とグラフ
用語・記号の解説
記号
| CAGR | シーエージーアール ケーガー | 年平均成長率(Compound Annual Growth Rate)。直訳は「複利の年間成長率」で、「毎年同じ割合で増え続けたとしたら年何%か」を表します。このページでは記号 \(r\) で表します。 |
| \(V_0\) | ブイゼロ | 初期値(期間の最初の時点の値)。\(V\) は value(値)の頭文字で、右下の 0 は「0年目」の意味です。(例:5年前の売上1000万円) |
| \(V_n\) | ブイエヌ | 最終値(\(n\) 年後の値)。右下の \(n\) は「\(n\) 年目」の意味です。(例:今年の売上1610.51万円) |
| \(G\) | ジー | 全体の倍率。最終値 ÷ 初期値(\(V_n \div V_0\))で、期間全体で何倍になったかを表します。growth(成長)の頭文字です。(例:1000万円→1210万円なら \(G = 1.21\)) |
| \(n\) | エヌ | 年数。初期値から最終値までの期間を年の単位で表した数で、number(数)の頭文字です。2.5年のような小数にもなります(18か月なら \(18 \div 12 = 1.5\) 年)。 |
| \(r\) | アール | 年平均成長率(CAGR)を小数で表したもの。rate(率)の頭文字です。10%なら \(r = 0.1\) で、%表示にするときは100を掛けます。 |
| \(1 + r\) | いち・たす・アール | 1年あたりの倍率。成長率10%なら \(1 + 0.1 = 1.1\) 倍です。「元の分の1」に「増えた分の \(r\)」を足した形で、\(n\) 年分掛けると \((1 + r)^n\) 倍になります。 |
| \(x^{1/n}\) | エックスのエヌ分の一乗 | \(x\) の \(1/n\) 乗=「\(n\) 乗すると \(x\) になる数」(\(n\) 乗根 \(\sqrt[n]{x}\))。2年なら平方根、3年なら立方根です。(例:\(1.21^{1/2} = \sqrt{1.21} = 1.1\)) |
| \(\log\) | ログ | 対数(logarithm)。「ある数を何乗するとその値になるか」を求める記号です。このページでは「1.1を何乗すると2になるか」のように、年数を逆算するときに使います。底が10(常用対数)でも \(e\)(自然対数 \(\ln\))でも、分子と分母で同じ底を使えば答えは同じです。 |
| \(g\) | ジー | 単純平均成長率。全体の成長率を年数で割っただけの参考値です。CAGR \(r\) と区別するために別の文字にしています(大文字の \(G\)=全体の倍率とは別の量です)。 |
用語
| 年平均成長率 (CAGR) |
ねんへいきんせいちょうりつ | 何年かの間の成長を「毎年同じ割合で増え続けたとしたら年何%か」に直した値。初期値と最終値と年数の3つだけで決まり、途中の年の上がり下がりは計算に入りません。事業の売上・利用者数・市場規模・人口などの伸びを年率で比べるときの標準的な指標です。 |
| 複利 | ふくり | 増えた分にもさらに同じ割合が付いていく増え方。「毎年10%成長」を2年続けると \(1.1 \times 1.1 = 1.21\) 倍(21%増)になり、「10% + 10% = 20%増」にはなりません。CAGRはこの複利の考え方で成長率をならしています。 |
| 幾何平均 | きかへいきん | \(n\) 個の数を全部掛けて \(1/n\) 乗した平均。CAGRは「各年の倍率の幾何平均から1を引いたもの」で、普通の平均(足して割る算術平均)とは違います。倍率のように「掛け算でつながる量」の平均には幾何平均を使います。 |
| 単純平均成長率 (算術平均) |
たんじゅんへいきんせいちょうりつ(さんじゅつへいきん) | 期間全体の成長率を年数で割っただけの値。「毎年同じ額ずつ増えた」と考える直線の見方で、複利の効果を無視しているため、期間が1年以上なら増加のときはCAGRより大きめの数値になります(減少のときは、減る割合がCAGRより小さめに出ます)。年率の話をするときはCAGRを使うのが標準です。 |
| 全体の倍率 | ぜんたいのばいりつ | 最終値 ÷ 初期値。期間全体で何倍になったかを表します。1000万円が1610.51万円になったなら約1.61倍です。ここから1を引いて100を掛けたものが「全体の成長率(約61%増)」です。 |
| 累乗根 (n乗根) |
るいじょうこん(エヌじょうこん) | \(n\) 乗するとその数になる数。\(\sqrt[n]{x}\) や \(x^{1/n}\) と書きます。「2年で1.21倍」なら1年あたりの倍率は \(\sqrt{1.21} = 1.1\) 倍で、これがCAGRの計算の中心です。 |
| 対数 (log) |
たいすう(ログ) | 「\(a\) を何乗すると \(b\) になるか」という「何乗」の部分を表す数。\(\log_{a} b\) と書きます。指数(乗の回数)を求める計算なので、「年10%成長で何年で2倍になるか」のような年数の逆算に使います。 |
| 72の法則 | ななじゅうにのほうそく | 「値が2倍になる年数 ≒ 72 ÷ 年率(%)」という暗算の目安。年10%なら約7.2年、年5%なら約14.4年で2倍になります。対数の計算を使った正確な値とほぼ一致します。 |
| 前年比 | ぜんねんひ | 今年の値 ÷ 去年の値。1年分の増減率で、「前年比110%」「前年比+10%」のように言います。CAGRは、この前年比が毎年同じだったとしたときの値にあたります。 |
前提として理解しておくといいこと
このページの計算を「意味がわかって」使えるようになるために、前提として理解しておくといいことをまとめました。
つまずいたら、この表の内容に戻って復習するのが近道です。
| 割合・百分率(小学5年) |
|
| 累乗(中学1年〜高校 数学I) |
|
| 複利の考え方(中学〜高校の数学・家庭科) |
|
| 累乗根と指数の拡張(高校 数学II) |
|
| 対数(高校 数学II) |
|
| 文字式・等式の変形(中学1〜2年) |
|
Excelで計算する方法
| 初期値 V0 | 1000 |
| 最終値 Vn | 1610.51 |
| 年数 n | 5 |
| CAGR r(%) | =((B2/B1)^(1/B3)-1)*100 |
| 初期値 V0 | 1000 |
| CAGR r(%) | 10 |
| 年数 n | 3 |
| 最終値 Vn | =B1*(1+B2/100)^B3 |
| 最終値 Vn | 1331 |
| CAGR r(%) | 10 |
| 年数 n | 3 |
| 初期値 V0 | =B1/(1+B2/100)^B3 |
| 初期値 V0 | 1000 |
| 最終値 Vn(目標) | 2000 |
| CAGR r(%) | 10 |
| 年数 n | =LN(B2/B1)/LN(1+B3/100) |
| 切り上げ年数 | =ROUNDUP(B4,0) |
| 初期値 V0 | 1000 |
| 最終値 Vn | 1210 |
| 年数 n | 2 |
| 単純平均成長率 g(%) | =(B2/B1-1)/B3*100 |
例えば1つ目の表ならB4に10(CAGR 10%)、2つ目の表ならB4に1331(3年後の値)、3つ目の表ならB4に1000(必要な初期値)、4つ目の表ならB4に約7.27(年数)とB5に8(切り上げ年数)、5つ目の表ならB4に10.5(単純平均成長率)と表示されます。
「^(1/B3)」が「1/n 乗」、「LN」が自然対数(底が \(e\) の対数)です。年数の式は「LOG10」や「LOG」を使っても、分子と分母が同じ関数なら同じ答えになります。
なお、CAGRはExcelの関数「=RRI(年数, 初期値, 最終値)」でも求められます(1つ目の表なら「=RRI(B3,B1,B2)*100」)。
Googleスプレッドシートで計算する方法
| 初期値 V0 | 1000 |
| 最終値 Vn | 1610.51 |
| 年数 n | 5 |
| CAGR r(%) | =((B2/B1)^(1/B3)-1)*100 |
| 初期値 V0 | 1000 |
| CAGR r(%) | 10 |
| 年数 n | 3 |
| 最終値 Vn | =B1*(1+B2/100)^B3 |
| 最終値 Vn | 1331 |
| CAGR r(%) | 10 |
| 年数 n | 3 |
| 初期値 V0 | =B1/(1+B2/100)^B3 |
| 初期値 V0 | 1000 |
| 最終値 Vn(目標) | 2000 |
| CAGR r(%) | 10 |
| 年数 n | =LN(B2/B1)/LN(1+B3/100) |
| 切り上げ年数 | =ROUNDUP(B4,0) |
| 初期値 V0 | 1000 |
| 最終値 Vn | 1210 |
| 年数 n | 2 |
| 単純平均成長率 g(%) | =(B2/B1-1)/B3*100 |
Pythonで計算する方法
import math
start_value = 1000 # 初期値(例:5年前の売上。単位は万円)
end_value = 1610.51 # 最終値(例:今年の売上)
years = 5 # 年数
# 年平均成長率(CAGR)=(最終値 ÷ 初期値)^(1/年数) − 1
cagr = (end_value / start_value) ** (1 / years) - 1
print(f"CAGR: {cagr * 100:.2f}%")
# 参考:単純平均成長率=全体の成長率 ÷ 年数
simple_avg = (end_value / start_value - 1) / years
print(f"単純平均成長率: {simple_avg * 100:.2f}%")
# 逆算1:初期値とCAGRから n 年後の値
rate = 0.10 # CAGR(10%)
future_value = start_value * (1 + rate) ** 3
print(f"3年後の値: {future_value:.2f}")
# 逆算2:初期値・目標値・CAGRから、目標に到達するまでの年数
target_value = 2000
years_needed = math.log(target_value / start_value) / math.log(1 + rate)
print(f"2倍になるまでの年数: {years_needed:.2f}年(切り上げ {math.ceil(years_needed)}年)")
数式記述言語(LaTeX等)での書き方(コピペ可)
r = (Vₙ ÷ V₀)^(1/n) − 1
r = \left(\dfrac{V_n}{V_0}\right)^{1/n} - 1
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>r</mi>
<mo>=</mo>
<msup>
<mrow>
<mo>(</mo>
<mfrac><msub><mi>V</mi><mi>n</mi></msub><msub><mi>V</mi><mn>0</mn></msub></mfrac>
<mo>)</mo>
</mrow>
<mrow><mn>1</mn><mo>/</mo><mi>n</mi></mrow>
</msup>
<mo>−</mo>
<mn>1</mn>
</mrow>
</math>
r = (V_n/V_0)^(1/n) - 1
(vn/v0)^(1/n) - 1
r := (V_n/V_0)^(1/n) - 1;
r = (V_n/V_0)^(1/n) - 1;
r = (V_n/V_0)^(1/n) - 1
Vₙ = V₀ × (1 + r)ⁿ
V_n = V_0 (1 + r)^{n}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>V</mi><mi>n</mi></msub>
<mo>=</mo>
<msub><mi>V</mi><mn>0</mn></msub>
<msup>
<mrow><mo>(</mo><mn>1</mn><mo>+</mo><mi>r</mi><mo>)</mo></mrow>
<mi>n</mi>
</msup>
</mrow>
</math>
V_n = V_0 (1 + r)^n
v0 (1 + r)^n
V_n := V_0*(1 + r)^n;
V_n = V_0*(1 + r)^n;
V_n = V_0 (1 + r)^n
V₀ = Vₙ ÷ (1 + r)ⁿ
V_0 = \dfrac{V_n}{(1 + r)^{n}}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>V</mi><mn>0</mn></msub>
<mo>=</mo>
<mfrac>
<msub><mi>V</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>
V_0 = V_n/(1 + r)^n
vn/(1 + r)^n
V_0 := V_n/(1 + r)^n;
V_0 = V_n/(1 + r)^n;
V_0 = V_n/(1 + r)^n
n = log(Vₙ ÷ V₀) ÷ log(1 + r)
n = \dfrac{\log\left(V_n / V_0\right)}{\log(1 + r)}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>n</mi>
<mo>=</mo>
<mfrac>
<mrow><mi>log</mi><mo>(</mo><msub><mi>V</mi><mi>n</mi></msub><mo>/</mo><msub><mi>V</mi><mn>0</mn></msub><mo>)</mo></mrow>
<mrow><mi>log</mi><mo>(</mo><mn>1</mn><mo>+</mo><mi>r</mi><mo>)</mo></mrow>
</mfrac>
</mrow>
</math>
n = log(V_n/V_0)/log(1 + r)
Log[vn/v0]/Log[1 + r]
n := log(V_n/V_0)/log(1 + r);
n = log(V_n/V_0)/log(1 + r);
n = log(V_n/V_0)/log(1 + r)
g = (Vₙ ÷ V₀ − 1) ÷ n
g = \dfrac{V_n / V_0 - 1}{n}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>g</mi>
<mo>=</mo>
<mfrac>
<mrow><msub><mi>V</mi><mi>n</mi></msub><mo>/</mo><msub><mi>V</mi><mn>0</mn></msub><mo>−</mo><mn>1</mn></mrow>
<mi>n</mi>
</mfrac>
</mrow>
</math>
g = (V_n/V_0 - 1)/n
(vn/v0 - 1)/n
g := (V_n/V_0 - 1)/n;
g = (V_n/V_0 - 1)/n;
g = (V_n/V_0 - 1)/n
ChatGPT に聞いて計算してもらう方法
あなたは事業計画のアシスタントです。次の計算を、必ずPythonコードを実際に実行して行い、実行結果の数値だけを根拠に回答してください(暗算や推測で答えないでください)。 ある会社の年間売上は5年前に1000万円、今年は1610.51万円でした。 次の値をそれぞれ求めてください。 1. 年平均成長率 CAGR((最終値 ÷ 初期値)^(1/年数) − 1。%で小数第2位まで) 2. 参考として単純平均成長率((最終値 ÷ 初期値 − 1) ÷ 年数。%)と、CAGRとの違いの理由を1〜2文で 3. このCAGRが今後も続いた場合の3年後の売上(初期値 × (1 + CAGR)^3) 4. 今年の売上を起点に、同じCAGRで売上が2倍になるまでの年数(log(2) ÷ log(1 + CAGR)。小数と切り上げた年数の両方) 計算に使った式と、実行結果の数値を示してください。
計算ドリル(演習問題)
このページの式を、自分の手で計算できるようになるための演習問題です。
答えと解説は解答ページにあります。
使い方
-
1数値を入力計算したい数値を入力欄に入力します
-
2計算「計算する」ボタンを押します
-
3結果を確認計算結果がその場に表示されます。計算の考え方や式の解説も同じページで確認できます
DataChefの特徴
専門知識不要、直感的で簡単な操作
個人情報を登録することなく使用できます
「ダウンロード」押下でファイルを自動削除
クレジット表記不要
商用利用許諾の連絡も不要です
