ラクミー 経営管理 — ダッシュボード指標モック

ロジック可視化 (チートシート)

投資回収期間とフェーズ別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
フェーズ主表示ROIROIの上限キャップ意味合い
🔵 立上期 回収進捗率 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ヶ月) 経営計画との整合性高 予算設定が必須 予算運用済み店舗

🏗️ 移行ステップ (開発参考)

  1. マスタ拡張: 業態マスタ新設、店舗マスタに業態/ROI算出方式/目標回収期間/境界倍率を追加
  2. 会社設定テーブルにフェーズモデル設定を追加
  3. バックエンド: 計算ロジックの実装 (フェーズ判定/回収進捗/年率ROI/加重平均会社ROI)
  4. 設定画面UI: ①フェーズモデル ②業態ベンチマーク ③店舗別設定
  5. 店舗ダッシュボード: ROIタイルをフェーズバッジ付きに改修
  6. 会社ダッシュボード: 加重平均表示 + フェーズ別構成 + 店舗別フェーズ一覧
  7. 既存データ移行: デフォルト業態未割当店には「ダイニング」を初期設定、境界倍率は1.5倍デフォルト
  8. 運用開始前に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次には入れない)

⚠️ 論点 / 未決事項