ロジック可視化 (チートシート)
投資回収期間とフェーズ別ROIの計算式、判定フロー、データフローを一覧化。
🎯 繁盛店指数4指標 フェーズ別目標値 (デフォルト)
目標値 = 業態ベンチマーク × フェーズ係数 (家賃比率のみフェーズ別固定値)
| 指標 |
計算式 |
立上期 |
回収期 |
安定期 |
成熟期 |
目標算出 |
| 坪月商 |
売上÷坪数÷月数 |
係数 0.6 |
係数 0.8 |
係数 1.0 |
係数 1.0 |
業態基準×係数 |
| 営業利益率 |
営業利益÷売上 |
係数 0.4 |
係数 0.7 |
係数 1.0 |
係数 1.1 |
業態基準×係数 |
| 家賃比率 |
家賃÷売上 (低いほど良) |
≤15% |
≤12% |
≤10% |
≤8% |
フェーズ別固定値 |
| ROI |
フェーズで計算方式自体が変化 |
回収進捗率 |
回収進捗率 |
年率25% |
年率20% |
計算方式切替 |
# 例: ダイニング業態 (坪月商ベンチマーク 17.5万円)
立上期 目標坪月商 = 17.5 × 0.6 = 10.5 万円/坪
回収期 目標坪月商 = 17.5 × 0.8 = 14.0 万円/坪
安定期 目標坪月商 = 17.5 × 1.0 = 17.5 万円/坪
成熟期 目標坪月商 = 17.5 × 1.0 = 17.5 万円/坪
# 評価区分 (坪月商/利益率は ±20%, 利益率は ±15%)
達成判定 = if 実績 >= 目標 × (1 + 下限%) then "好調"
elif 実績 >= 目標 × (1 - 下限%) then "標準"
else "要改善"
🧮 基本計算式
# 投資回収期間 (計画値) — 設定画面の「ROI算出方式」に基づく
投資回収期間(月) = 初期投資額 ÷ 月次予測営業利益
# 月次予測営業利益 — 3方式から手動選択
① 実績ベース : AVG(直近3ヶ月営業利益) または AVG(直近6ヶ月営業利益)
② 業界ベンチマーク: 坪数 × 業態坪月商(万円) × 30(日) × 営業利益率
③ 予算ベース : 月次予算営業利益
# 投資回収期間 (実績/予測)
回収進捗率(%) = 累計営業利益(オープン月〜現在) ÷ 初期投資額 × 100
残回収月数 = MAX(0, (初期投資額 − 累計営業利益) ÷ 直近3ヶ月平均営業利益)
実績回収月数 = 累計営業利益が初期投資額に達した月 − オープン月
# 年率ROI (安定期/成熟期で使用)
年率ROI(%) = 直近12ヶ月営業利益 ÷ 初期投資額 × 100
# 回収倍率
回収倍率 = 累計営業利益 ÷ 初期投資額
🔀 フェーズ判定フロー (4段階 デフォルト)
# 入力
opened_months = 現在月 − オープン月
cumulative_prof = 累計営業利益(オープン〜現在)
initial_invest = 初期投資額
target_payback = 目標回収期間(月) # 店舗単位 (デフォ36)
launch_months = 立上期月数 # 会社単位 (デフォ3)
boundary_ratio = 境界倍率 # 店舗or会社 (デフォ1.5)
# 判定 (上から順に評価、最初に一致したフェーズを採用)
if opened_months < launch_months:
→ 🔵 立上期 Launch
elif cumulative_prof < initial_invest:
→ 🟡 回収期 Recovery
elif opened_months <= target_payback × boundary_ratio:
→ 🟢 安定期 Stable
else:
→ 🟣 成熟期 Mature
| フェーズ | 主表示ROI | ROIの上限キャップ | 意味合い |
| 🔵 立上期 |
回収進捗率 |
100% |
開店直後の立ち上げ期。まだ評価段階ではない。 |
| 🟡 回収期 |
回収進捗率 |
100% |
初期投資回収に向けた期間。年率ROI表示は混乱を招くため非表示。 |
| 🟢 安定期 |
年率ROI |
なし(異常値は警告) |
回収完了後の通常評価フェーズ。 |
| 🟣 成熟期 |
年率ROI + 3年トレンド |
なし(異常値は警告) |
長期運営店舗。減価償却終了や設備老朽化を加味。 |
📊 会社ROI 加重平均ロジック
# 旧ロジック (破綻の原因)
会社ROI(旧) = Σ(各店舗ROI) = Σ(各店舗月次利益 ÷ 各店舗初期投資) # → 41,972,376.8%
# 新ロジック (加重平均)
会社ROI(新) = Σ(各店直近12ヶ月営業利益) ÷ Σ(各店初期投資額) × 100
# フェーズ別集計 (安定期/成熟期のみ年率ROI、立上期/回収期は回収進捗率)
フェーズ別ROI = Σ(該当フェーズ店直近12ヶ月利益) ÷ Σ(該当フェーズ店初期投資) × 100
💡
会社ダッシュボードでは「全社ROI(加重平均)」に加え、フェーズ別ROIも併記します。立上期店舗の低ROIで全社ROIが押し下げられるのを避けるため、「安定期+成熟期のみでの加重平均」も別枠で表示することを推奨。
🗂️ データ要件
| 項目 | ラクミー保有 | 取得元 | 新規必要 |
| 初期投資額 | ✅ | 店舗設定 | — |
| オープン日 | ✅ | 店舗マスタ | — |
| 月次営業利益(実績) | ✅ | POS + 費用設定 | — |
| 月次予算営業利益 | ✅ | 予算機能 | — |
| 坪数 | ✅ | 店舗マスタ | — |
| 業態コード | ❌ | — | 🆕 店舗マスタに追加 |
| 業態マスタ(坪月商/利益率) | ❌ | — | 🆕 新規マスタ |
| ROI算出方式 | ❌ | — | 🆕 店舗設定に追加 |
| 目標回収期間 | ❌ | — | 🆕 店舗設定に追加 |
| 境界倍率 | ❌ | — | 🆕 会社/店舗設定に追加 |
| フェーズモデル定義 | ❌ | — | 🆕 会社設定に追加 |
🔄 売上予測方式の比較
| 方式 | 計算式 | メリット | デメリット | 推奨シーン |
| ① 実績ベース |
直近3/6ヶ月営業利益平均 |
直近の状態を反映 |
オープン直後は使えない 季節変動の影響大 |
オープン6ヶ月以上経過店 |
| ② 業界ベンチマーク |
坪数 × 業態坪月商 × 30日 × 営業利益率 |
オープン前後でも算出可能 |
実店舗特性を無視 |
新規オープン店、ベンチマーク比較 |
| ③ 予算ベース |
月次予算営業利益(12ヶ月) |
経営計画との整合性高 |
予算設定が必須 |
予算運用済み店舗 |
🏗️ 移行ステップ (開発参考)
- マスタ拡張: 業態マスタ新設、店舗マスタに業態/ROI算出方式/目標回収期間/境界倍率を追加
- 会社設定テーブルにフェーズモデル設定を追加
- バックエンド: 計算ロジックの実装 (フェーズ判定/回収進捗/年率ROI/加重平均会社ROI)
- 設定画面UI: ①フェーズモデル ②業態ベンチマーク ③店舗別設定
- 店舗ダッシュボード: ROIタイルをフェーズバッジ付きに改修
- 会社ダッシュボード: 加重平均表示 + フェーズ別構成 + 店舗別フェーズ一覧
- 既存データ移行: デフォルト業態未割当店には「ダイニング」を初期設定、境界倍率は1.5倍デフォルト
- 運用開始前にUAT: 主要店舗5〜10店のフェーズ判定結果をオーナーと照合
🎨 UIカスタマイズ × 指標階層(1次/2次/3次)
指標階層の定義
| 階層 | 定義 | 代表例 | 出所 |
| 1次(Raw) |
直接取得する生データ |
sales, operating_profit, food_cost, labor_cost, rent, initial_invest, tsubo, customers, avg_price |
POS / 会計設定 / 店舗マスタ |
| 2次(Ratio) |
1次の比率・差分演算 |
tsubo_sales, profit_rate, rent_rate, fl_rate, simple_roi, cumulative_profit, payback_progress |
計算エンジン(1次を参照) |
| 3次(Composite) |
2次の合成+フェーズ分岐 |
phase_roi, target_achievement, weighted_company_roi, phase_classification, custom_* |
計算エンジン(1次+2次を参照+フェーズ判定) |
# 例: phase_roi (3次) の計算
依存する2次指標:
- payback_progress(回収進捗率)
- simple_roi(単純ROI)
- cumulative_profit(累計営業利益)
フェーズ判定(3次):
phase_classification = f(months_opened, cumulative_profit, initial_invest, target_payback, boundary_ratio)
phase_roi 計算:
if phase == 立上 or 回収 : return MIN(100, payback_progress)
elif phase == 安定 or 成熟: return (直近12ヶ月営業利益 ÷ initial_invest) × 100
UIカスタマイズのスコープ継承
# 適用優先順位(上→下、下位で明示設定のみ上書き)
会社デフォルト
└─ 業態別プリセット (業態コードでマッチ)
└─ フェーズ別プリセット (現在フェーズでマッチ)
└─ 店舗個別オーバーライド (店舗マスタで明示設定)
└─ 個人ビュー (ユーザー任意)
カスタム指標ビルダー(3次拡張)
# 式書式: 1次/2次の指標コードで記述
custom_efficiency_score = (profit_rate / 12 * 100) + (tsubo_sales / 17.5 * 50) - (rent_rate - 10) * 5
# 評価方式4種
1) 高いほど良い(上限なし)
2) 高いほど良い(100キャップ)
3) 低いほど良い(家賃比率など)
4) 範囲内が良い(min-max指定、FL率など)
# 依存性チェック
- 循環参照(A→B→A)を検出して拒否
- 未定義指標コードを検出して警告
- フェーズ分岐が必要な場合は3次指標として登録(2次には入れない)
⚠️ 論点 / 未決事項
- オープン日未登録店舗の扱い(デフォルト起点として「ラクミー導入日」or「事業開始日」を使用するか)
- 閉店予定店舗 / 業態変更店舗のフェーズ扱い(リセット or 継続)
- リニューアル/改装時に「再投資額」を追加投資として扱うか、新規回収期間としてリセットするか
- 複数ブランド混在の場合、業態別の全社ROIを分けて表示するか
- 月次の営業利益がマイナスの月を回収計算に含めるか(累計には含めるが予測平均からは除外する等)