CAGR 計算ツール
5年で100が200になる場合、年平均成長率は14.8698 %で、5年で2倍になる一定のペースです。開始値・終了値・年数を入れるか、式を逆に使って終了値・開始値・期間を求められます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 開始値
- 100
- 終了値
- 200
- 年数
- 5
- CAGR
- 0.148698
- CAGR(%)
- 14.8698
- 計算する項目
- 年平均成長率
年平均成長率 無料
CAGRで分かること
年平均成長率は、開始値・終了値・年数から、毎年一定の成長率を1つ求めた値です。単純平均ではなく幾何平均で、終了値を開始値で割り、その結果を「1÷年数」乗して1を引きます。100を掛ければパーセントになります。5年で100から200に倍増した場合は年14.8698 %で、成長が完全に一定だったとしたら同じ終点に届くペースです。
投資や指標を期間をまたいで比べる
CAGRは年ごとのばらつきを1つの同等な成長率にならすので、保有期間の異なる資産や売上、利用者数などを同じ土俵で比べられます。ある年に急伸して翌年は横ばいだったポートフォリオと、着実に伸びたポートフォリオは、開始値と終了値が同じならCAGRも同じです。この数値が示すのはどこにたどり着いたかであり、道のりの険しさではありません。年率で選択肢を並べたうえで、リスクが気になるときは年ごとの推移を別に確認してください。
検証・丸め・境界条件
入力はモードごとに検査されます。率が関わる場合、ツールはべき乗の底を保護し、1+r が 0 または負になるような cagr を拒否します。さらに years の求解では、ln(1) による除算が未定義であるため率がちょうど 0 の場合も拒否します。
decimals パラメータは 0 から 8 までの整数(既定 4)です。
活用例
投資リターンの分析
保有期間にわたるポートフォリオの開始値と終了値を、資産どうしで比較できる 1 つの年率換算成長率に変えます。
よくある質問
100 が 5 年で 200 に成長した場合の CAGR は?
率としては 0.148698、パーセントでは 14.8698 で、(200/100)^(1/5)-1 に一致します。
成長率から将来の値を計算できますか?
できます。終了値を求める設定にして、開始値・成長率・年数を入力すると、開始値に「1+成長率」の年数乗を掛けた値が返ります。同じように開始値も求められます。
一定の成長率で目標に届くまで何年かかりますか?
年数を求める設定にすると、終了値÷開始値の対数を「1+成長率」の対数で割って計算します。成長率がちょうど0の場合は、何年たっても目標に届かないため受け付けません。
成長率がマイナスになることはありますか?
あります。終了値が開始値より小さいと、毎年の減少を表すマイナスの成長率になります。マイナス100 %以下の成長率は、「1+成長率」が0より大きくなければならないため受け付けません。
結果はどのくらいの精度で表示されますか?
小数点以下0〜8桁から選べ、初期設定は4桁です。成長率そのものはさらに2桁多く保持するので、14.8698のように4桁で表示した割合も十分な精度に基づいています。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/dev/cagr \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"begin_value":100,"end_value":200,"years":5}'const res = await fetch("https://api.kit.forhosting.com/dev/cagr", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"begin_value": 100,
"end_value": 200,
"years": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/cagr",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"begin_value": 100,
"end_value": 200,
"years": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/cagr", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"begin_value":100,"end_value":200,"years":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"begin_value":100,"end_value":200,"years":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/cagr", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"begin_value": 100,
"end_value": 200,
"years": 5
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.cagr",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
(end/begin)^(1/years)-1 を用いて begin_value・end_value・years から年平均成長率を計算します。solve_for を設定し既知の cagr を与えれば、代わりに end_value・begin_value・years のいずれかを解くこともできます。
CAGR の公式
2 つの形式を報告します。solve_for の既定値 cagr のもとで、ツールは begin_value・end_value・years を受け取り、複利年成長率 r を Math.pow(end/begin, 1/years) から 1 を引いた値として返します。cagr は指定の小数桁にさらに 2 桁を加えて丸めた生の率、cagr_percent は同じ率を 100 倍して指定の小数桁にしたものです。実例では 100 を 5 年で 200 に成長させ、cagr 0.148698、cagr_percent 14.8698 を返します。これは 5 年で倍増する見慣れた率です。応答は選んだ begin_value・end_value・years・solve_for も返しますので、1 つのオブジェクトが計算全体を完全に記録します。この率は単純平均ではなく年成長率の幾何平均であるため、年ごとの不均一な変化を 1 つの一定の等価率へ正しくならします。これこそが CAGR を複数年にわたる投資や指標の比較の標準的な尺度たらしめている点です。
任意の変数への組み替え
solve_for を end_value・begin_value・years に設定すると公式を逆向きに実行し、欠けているフィールドの代わりに cagr を与えます。end_value では begin_value × (1+r)^years を返し、begin_value では end_value を (1+r)^years で割り、years では ln(end/begin) を ln(1+r) で割ります。渡す率は as_percent に従って読み取られ、その既定は true ですので、cagr が 10 であれば 10 パーセント(r = 0.10)を意味します。率を 0.10 のように直接渡すには as_percent を false に設定してください。これにより、100 の元手が所定の率で 5 年後にいくらになるか、あるいは既知の率で目標に何年かかるかといった予測の問いに、すべて同じエンドポイントから答えられます。出力オブジェクトは、どれを解いたかに関わらず、常に完成した begin_value・end_value・years・率をまとめて携えます。
検証・丸め・境界条件
begin_value は 0 でない有限な数、end_value は有限、years は有限かつ 0 より大きくなければならず、既定の cagr モードでは開始値や終了値が負である場合は非対応として拒否されます。生の cagr フィールドは意図的に decimals+2 桁に丸められ、小数 4 桁のパーセント表示でも背後の率に十分な精度が残るようにしています。
連携の活用例
目標の予測
solve_for を end_value や years に設定して、想定の率で将来の残高を予測したり、既知の CAGR で目標達成にかかる年数を求めたりします。
KPI 成長のレポート
売上やユーザー数を API に通し、幾何平均を手作業で組むことなく、ならされた前年比成長をダッシュボードで報告します。
技術的な質問
終了値や年数を解くことはできますか?
はい。solve_for を end_value・begin_value・years に設定し既知の cagr を渡してください。ツールが公式を逆向きに実行します。
cagr はパーセントで入力しますか、小数で入力しますか?
as_percent(既定 true)によります。10 は 10 パーセントを意味します。0.10 のように生の率を渡すには as_percent を false に設定してください。
負またはゼロの値は許されますか?
begin_value は 0 にできず、years は正でなければならず、既定の cagr モードは負の値を型付きの invalid_input エラーで拒否します。
ブラウザのツールは無料ですか?
はい、widget は無料です(tier A)。API は前払いの KIT 残高で $0.002 から動作し、成功したタスクのみ課金します。