ユニットエコノミクス(LTV/CACとコホート分析)
使用タイミング
顧客獲得コストに対して顧客が価値があるかどうかを判断する必要がある場合に使用します:CAC、粗利貢献、保持率、LTV、LTV/CAC比率、CAC回収期間(月数)。SaaSやサブスクリプションビジネス、取締役会レビュー、デューデリジェンスに適しており、コホート保持率グリッドが主要な指標を裏付けます。このスキルはClaudeアプリ内でopenpyxlを使用してダウンロード可能な.xlsxを構築します。ExcelアドインやMicrosoft 365接続は使用しません。
構築するもの
6つのタブを持つワークブック:
- カバー:タイトル、色凡例、シナリオセレクター、主要なLTV/CACと回収期間。
- 前提条件:青色の入力項目(S&M支出、新規顧客、ARPU、粗利率%、チャーン、割引率、シナリオ乗数)。
- コホート:保持率グリッド。行方向にコホート、列方向に月を示し、保持率%とコホートあたりの収益を表示。
- ユニットエコノミクス:CAC、ARPU、顧客あたり貢献、回収期間。
- LTV-CAC:単純計算式および割引コホート貢献によるLTVとその比率。
- チェック:整合性、単調保持率、回収期間の妥当性フラグ。
構築ワークフロー
- ワークブックを作成し、上記の順序で6つのタブを作成します。
- 前提条件タブで、すべての入力を青色で単位付きで配置します。
scnという名前のシナリオセル(1=Base、2=Bull、3=Bear)を追加します。 - ユニットエコノミクスタブで、支出と顧客入力からCACと顧客あたり貢献を構築します。
- コホートグリッドを構築します:月0のベース100%(または開始顧客数)から、月を経るごとに保持率で減少させます。
- 各コホートの保持率グリッドの下に、収益と貢献の行を追加します。
- LTV-CACタブで2通りのLTVを構築します:閉形式と割引コホート合計。比率と回収期間を計算します。
- チェックタブで整合性、単調性、回収期間のテストを構築します。
- ワークブックをヘッドレス(LibreOffice)で再計算し、すべての数式が計算されるようにします。
- 数式エラー(#REF!、#DIV/0!、#VALUE!、#NAME?)がゼロであることを確認し、ループ内で修正と再計算を繰り返し、その後配信します。
タブ別仕様
カバー
- タイトルセル、モデル目的行、作成日。
- 色凡例ブロック:
入力とラベル付けされた青の見本、数式とラベル付けされた黒、クロスタブリンクとラベル付けされた緑。 - シナリオエコー:
=CHOOSE(scn,"Base","Bull","Bear")で前提条件からアクティブなシナリオを取得。 - 主要出力として緑のクロスタブリンク:LTV/CAC
=LTV-CAC!<比率セル>、CAC回収期間(月数)、割引LTV。 - ワークブックがExcelでライブ再計算され、ビルド時にエラーフリーであることが確認されたことを示す1行の読み物。
前提条件
- B2 シナリオセレクター(青、1/2/3)、
scnと命名。 - B5 S&M支出(期間あたり)、B6 新規顧客獲得数。
- B7 月次ARPU、B8 粗利率%。
- B9 月次チャーン率%(よって月次保持率
=1-B9)。B10 月次割引率。 - チャーンとARPUのシナリオ乗数(Base/Bull/Bear):アクティブチャーン
=CHOOSE(scn,...)B12、アクティブARPU=CHOOSE(scn,...)B13。
ユニットエコノミクス
- CAC B3
=Assumptions!B5/Assumptions!B6。 - 実効ARPU B4
=Assumptions!B7*Assumptions!B13。 - 顧客月あたり粗利 B5
=B4*Assumptions!B8。 - 月次保持率 B6
=1-Assumptions!B9*Assumptions!B12。 - CAC回収期間(月数) B7
=CAC / 顧客月あたり粗利=B3/B5。コホート認識型の回収期間を希望する場合は、コホートあたりの累積粗利がCACを超えるまでの月インデックスを計算して報告します。 - 平均顧客生涯(月数) B8
=1/(Assumptions!B9*Assumptions!B12)。
コホート
- 3行目に月ヘッダー 0,1,2,...,N を列方向に配置。
- A列にコホートラベル(Cohort 1、Cohort 2、...)。
- 保持率%:月0セル = 1(100%);それ以降の各月
=前月セル*'Unit Economics'!$B$6(月次保持率を適用)。行全体で一貫した数式。 - コホートあたりアクティブ顧客数:
=保持率% * Assumptions!$B$6。 - コホート月あたり収益:
=アクティブ顧客数 * 'Unit Economics'!$B$4。 - コホート月あたり貢献:
=収益 * Assumptions!$B$8。
LTV-CAC
- LTV閉形式 B3
='Unit Economics'!B4*Assumptions!B8/('Unit Economics'!B6 生涯チャーン)すなわち=ARPU*GM% / チャーン;セルでは='Unit Economics'!B4*Assumptions!B8/(Assumptions!B9*Assumptions!B12)。 - LTV割引コホート B4:月ごとの顧客あたり貢献を割引いて合計、
=SUMPRODUCT(貢献あたり顧客行, 1/(1+Assumptions!B10)^月インデックス)。月0コホート行を開始顧客数で割って顧客あたりにします。 - LTV/CAC B5
=B4/'Unit Economics'!B3(割引LTVを主要として使用)。 - 回収期間エコー B6
='Unit Economics'!B7。
チェック
- 整合性:
=IF(ABS(LTV_closedform-LTV_discounted)/LTV_discounted<=Assumptions!tol,"PASS","FAIL")。 - 各コホート内の単調保持率:
=IF(SUMPRODUCT(--(今月セル>前月セル))=0,"PASS","FAIL")。どの月も前月より大きくならないようにします。 - 回収期間が正であり、指定された上限(青色入力)内であること。
- LTV/CACがコホートグリッドで使用されたものと同じARPU、マージン、チャーンから計算されていること。
数式と書式の規則
- 青色フォントは入力(前提条件のみ)。黒色はタブ内数式。緑色はクロスタブリンク。
- 数式内にハードコードされた数値は禁止。定数は前提条件に配置。保持率とARPUのドライバーへの絶対参照を使用し、コホート行がきれいにコピーされるようにします。
- コホート行ごとに一貫した数式を1つ使用し、月をまたいで編集なしでコピーできるようにします。
- 保持率とマージンはパーセント。CAC、LTV、ARPUは通貨。回収期間と生涯は小数点以下1桁の月数。
scn、tol、CAC、保持率セルに名前を付け、チェックとLTV数式を読みやすくします。
チェック
- LTV/CACが一貫して計算されていること(閉形式と割引が許容範囲内)。
- CAC回収期間が月数で報告され、正であること。
- 各コホート内で保持率が単調非増加であること(前月よりも高い月がない)。
- マージンと保持率が0から1の間であること。CACとLTVが非負であること。
再計算と検証
書き込み後、LibreOfficeでヘッドレス再計算を行い、openpyxlの数式テキストが計算値になるようにします。すべてのシートをスキャンして#REF!、#DIV/0!、#VALUE!、#NAME?をチェックします。LTVと回収期間はチャーンで除算するため、チャーン=0による#DIV/0!を防ぐよう注意します。問題のある数式や欠落した名前付き範囲を修正し、ループ内で再計算を繰り返します。チェックタブがすべての項目でPASSを示し、エラー文字列が残っていない場合のみ配信します。
収集する入力
- 同じ期間の売上・マーケティング支出と新規顧客数(CAC計算用)。
- 月次ARPUと粗利率%。
- 月次チャーン(または保持率)と割引率。
- グリッドでモデル化するコホート数と月数。
- チャーンとARPUのシナリオ乗数(Base/Bull/Bear)と許容範囲。
例
仮定:S&M 200,000、新規顧客400、したがってCAC 500。月次ARPU 50、粗利率80%により顧客月あたり粗利40、回収期間12.5ヶ月。月次チャーン4%は平均生涯25ヶ月を示唆。閉形式LTVは約1,000、割引コホートLTVはやや低く、LTV/CACは約2.0倍。コホートグリッドは各コホートが100%、96%、92.2%、...と月を経るごとに減少し、貢献の合計が割引LTVになります。