データ分析

OKRシートをFCFFに連動させる財務モデル設計(2026年)

ModelMonkey2026年5月2日読了約 3 分

OKRシートのアーキテクチャ:3タブ設計

タブを3枚に分ける。

タブ名役割データの流れ
OKR_DataKR入力・スコア計算Assumptionsへ出力のみ
Assumptionsシナリオスイッチ・財務仮定(DSO、Capex含む)P&L、BS、CFへ出力
P&L / BS / CF財務3表Assumptionsから受取のみ

一方向性がモデルの整合性を保つ。P&LがOKR_Dataを直接参照すると、タブ間の依存関係が複雑になり監査が追えなくなる。Assumptionsタブがすべての財務仮定を一元管理することで、シナリオ変更が3表全体に整合して波及する。

OKRシートの各行に必要なFP&A標準フィールド

John Doerr は『Measure What Matters』(Portfolio/Penguin, 2018)第4章で「Key Resultは他のKRと独立して達成可否を判定できなければならない」と定義している。この独立性原則をスプレッドシートに翻訳すると、各行に最低限7項目が必要になる。

フィールド名
AKR_IDテキスト2026Q3-SALES-01
B目標記述テキストARR ¥5億達成
C目標値数値500,000
D重み(0〜1)数値0.35
E現在値数値338,000
F進捗率数式=E2/C2
G確信度スコア数値(手入力)0.72
H最終更新日日付2026/05/01

確信度スコア(列G)は進捗率(列F)とは別物だ。ARRが目標の67%に達していても、パイプラインの質が落ちていれば確信度は50%を下回ることがある。この主観的な見積もりがシナリオスイッチを動かすインプットになる。

加重平均スコアはAssumptions!B3に置く。

// Assumptions!B3: KR確信度の加重平均
=SUMPRODUCT(OKR_Data!G2:G20, OKR_Data!D2:D20)
 / SUMPRODUCT(OKR_Data!D2:D20)

Google Sheets の公式ドキュメントによると、SUMPRODUCTは配列を要素ごとに乗算して合計する関数で、空白セルは0として扱われる。500万行のARRAYFORMULAでも50ms以下で再計算する。

EBITDAへのカスケード

Assumptions!B3のスコアに基づいてシナリオを分岐させる。

// Assumptions!B4: シナリオフラグ
=IF(B3>=0.75,"OnTrack",IF(B3>=0.55,"Caution","Downside"))

// Assumptions!B5: 月次売上仮定(¥千)
=IFS(B4="OnTrack", 42000, B4="Caution", 36000, B4="Downside", 29000)

2026年Q2の加重平均KRスコアは75.7%でOnTrackだった。Q3に入り、製品ロードマップKRと顧客成功KRが遅延し、スコアが67.8%に落ちた。シナリオはCautionに自動で切り替わる。

シナリオ月次売上四半期EBITDA(22%)NOPAT(税率30%)
OnTrack(≥75%)¥42,000千¥27,720千¥19,404千
Caution(55〜75%)¥36,000千¥23,760千¥16,632千
Downside(<55%)¥29,000千¥19,140千¥13,398千
// P&L!C5: 四半期EBITDA
='P&L'!C3 * Assumptions!$B$8   // C3=四半期売上, B8=EBITDAマージン(0.22)

// P&L!C7: NOPAT
='P&L'!C5 * (1 - Assumptions!$B$9)   // B9=実効税率(0.30)

KR確信度スコアからFCFFウォーターフォールへ

ここからが投資家に提示できる水準になる。P&Lへのシナリオトグルだけでは、FCFFは完成しない。KR確信度の変化は運転資本(DSO)とCapexタイミングを動かし、それがキャッシュフローに直接波及する。

DSO仮定とBalance Sheet連動

製品KRが遅延すると顧客の検収が遅れ、回収サイトが伸びる。Cautionシナリオでは平均DSOを45日から52日に引き上げる。

// Assumptions!B6: DSO(日)
=IFS(B4="OnTrack", 45, B4="Caution", 52, B4="Downside", 60)

// BS!C15: 売掛金残高
='P&L'!C3 / 90 * Assumptions!$B$6
// P&L!C3 = 四半期売上(Caution: ¥108,000千)
// → AR残高: ¥108,000 / 90 × 52 = ¥62,400千

// BS!C16: ΔAR(前期比)
=C15 - B15
// B15 = Q2末売掛金(OnTrack: ¥126,000/90×45 = ¥63,000千)
// → ΔAR = ¥62,400 - ¥63,000 = ▲¥600千(AR微減 = WC小幅改善)

Capexタイミングの連動

製品ロードマップKRが遅延しているときに成長Capexを全額執行し続けるのは非合理だ。Cautionではエンジニアリング設備への成長Capexを50%繰延にする。Downsideでは全凍結する。

// Assumptions!B7: 四半期Capex(¥千)
=IFS(B4="OnTrack", 45000, B4="Caution", 22500, B4="Downside", 0)

FCFFウォーターフォール(CFタブ)

// CF!C3: NOPAT(P&Lから)
='P&L'!C7

// CF!C5: D&A(固定、¥9,000千/Q)
=Assumptions!$B$10

// CF!C7: 運転資本変化(ΔARを逆符号)
=-'BS'!C16

// CF!C9: Capex
=-Assumptions!$B$7

// CF!C11: FCFF
=C3 + C5 + C7 + C9

3シナリオのFCFFを並べると、見落としがちな構造が浮かぶ。

FCFFウォーターフォール(Q3 2026、¥千)OnTrackCautionDownside
NOPAT¥19,404¥16,632¥13,398
D&A¥9,000¥9,000¥9,000
ΔWC(ΔAR逆符号)¥0+¥600+¥4,400
Capex▲¥45,000▲¥22,500¥0
FCFF▲¥16,596+¥3,732+¥26,798

DownsideシナリオのFCFFがOnTrackより高い。Capexをゼロにしたからだ。この逆説をQBRで投資家に説明するとき「Downsideでも現金は厚い」では通らない。「成長投資を全停止した結果であり、来期以降の成長余地を犠牲にしている」と説明できる。それがOKRシートとFCFFを結んだ価値だ。

OnTrackからCautionへの移行でFCFF+¥20,328千のデルタが出るが、内訳はこうなる。

FCFFブリッジ(OnTrack→Caution、¥千)金額
① NOPAT縮小(売上▲¥18,000千 × 22% × 70%)▲¥2,772
② ΔWC改善(AR▲¥600千、WC解放)+¥600
③ Capex繰延(¥45,000→¥22,500)+¥22,500
FCFFデルタ+¥20,328

このブリッジを月次取締役会資料に1枚追加すれば、「OKRが未達のためCapexを繰り延べた、その結果FCFFへの影響は+¥20,328千」という説明が数式ベースで成立する。KR達成率の話をしているのに、バランスシートとキャッシュフローまで数字が追えるのがこの設計の肝だ。

陳腐化アラートで鮮度を保つ

KRの確信度スコアが14日以上更新されないと、Assumptionsタブのシナリオが古いインプットで動き続ける。2026年5月現在、多くのチームが「更新し忘れ」に気づかないまま四半期予測を出している。

// Assumptions!D3: 最終更新からの経過日数
=TODAY() - MAX(OKR_Data!H2:H20)   // H列 = 各KRの最終更新日

// Assumptions!E3: アラートメッセージ
=IF(D3>14,
   "⚠ KRスコアが" & D3 & "日未更新 — モデル要検証",
   "✓ 最新")

このセルをAssumptionsタブの最上部に置き、条件付き書式で赤くしておくと、モデルを開いた瞬間に目に入る。SUMIFS で特定の担当者のKRだけを抽出して個別アラートにする応用も効く。

// 担当者別の陳腐化チェック
=SUMPRODUCT((TODAY()-OKR_Data!H2:H20>14)*(OKR_Data!I2:I20="田中"))
// I列 = 担当者名; 戻り値が1以上なら要フォロー

ModelMonkeyで更新サイクルを回す

OKRシートの設計自体は上記のSUMPRODUCTと3タブ構造で完結するが、8本以上のKRを毎週更新する運用コストは無視できない。ModelMonkeyをGoogle Sheetsに接続すると、SlackやGoogleフォームからの確信度スコア入力をOKR_Dataタブに自動書き込みできるため、Assumptions→P&L→BSとCF全体の再計算が更新のたびに走る。14日アラートが発火する頻度が下がり、QBR直前の「数字合ってる?」確認が減る。

ModelMonkeyを無料で14日間試す — Google SheetsとExcelの両方で動作する。


よくある質問