はじめに
学生の頃からずっと、餃子の王将が大好きです。注文するのは大抵「餃子定食・ご飯大盛り」です。ケンコバさんが命名した「ワンバン喰い」をしつつご飯を頬張ると、何とも幸せな気持ちになります。最近は子どもたちと一緒に行くことも増えました。子ども用メニューがあるのもとても助かっています。
ただ、ひとつだけ困ってることがあります。それは、人気店ゆえ待ち時間が長いことです。
僕の場合、食材の買い出しの帰りに寄ることが多いんですが、行くのはだいたい週末のお昼どきです。そりゃ混みますよね…。わかってるんですけどね…。
でも、子ども連れで30〜40分待つのはなかなかハードルが高い。列ができていると、「今日は無理か…」と泣く泣く諦めることもしばしばです。
そこで「AI の力で、なんとか待ち時間を減らせないか?」と思い立ちました。ちょうど OpenAI から GPT-5 が発表されたタイミングなので、お試しがてら分析してみることにしました。
AI と議論して分析のロジックを決める
僕自身にデータサイエンスの知見は無いので、先ずは自分の考えていることを述べて AI にレビューしてもらうことにしました。プロンプトは以下です。
今回の目的は「餃子の王将で、店に入るまでの待ち時間を短くする」ことです。
「店の席数がボトルネックになっている」「席の準備ができればすぐに次の客が入店できる」と仮定すると、「前の客が退店してから次の客が退店 (会計する) までの時間」を削減できれば良いと思います。
ステップに分解すると以下のようになります。
1. 席の準備
2. 席への誘導
3. 注文
4. 料理の提供
5. 食事
6. 会計
このうち、全体の時間として支配的なのは 4,5 なので 4,5 の時間を減らすことを考えるのが良いと思います。
また、特に 4 についてはメニュー数が多いことでオペレーションが複雑になっているために提供時間に影響を与えているように思います。
そこで売り上げへの貢献が少ないメニューをいくつか削ってみるのはどうでしょうか?
ここまでの考え方に違和感はありませんか?レビューしてもらえると助かります。
AI からの回答は以下です。(まとめ部分のみを記載)
- 分解とボトルネック仮説は妥当。
- 4,5 に注目するのは正しいが、1〜3 の遅れも軽視しない方がよい。
- メニュー削減は有効だが、データに基づく選択とブランド影響の考慮が必要。
- 併せて注文・会計の効率化やピーク時特化施策も検討するとさらに効果的。
今回は待ち時間削減のアイディアとして「提供メニューの削減」という仮説を含めて記載しましたが、アイディアの作成から AI にお願いすることも有効です。「メニュー別の仕込み時間短縮」、「モバイル決済・テーブル会計導入」、「配膳順序の見直し」など、なるほどと思わせるアイディアが出てきました。
早速「提供時間短縮のためのメニュー削減優先順位表」の作成をお願いしようと思いましたが、そのためには以下のデータが必要とのことでした。
| 指標 | 説明 | 備考 |
|---|---|---|
| 販売数 | 一定期間内(例:1か月)の注文数 | 繁忙日・閑散日で差がある場合は別集計も有効 |
| 売上額 | 単価 × 販売数 | 粗利ではなく売上額でもOKだが、粗利が取れるならそちらを推奨 |
| 粗利額 | 売上額 − 原価 | 高粗利商品の維持は重要 |
| 提供時間 | 注文から提供までの平均時間 | 調理フローのストップウォッチ計測、POSデータ、キッチンタイマー記録など |
| 作業負荷度 | 調理工程の多さや仕込み負担 | 1〜5段階の主観評価でもOK |
| オーダー率(ピーク時) | 混雑時間帯に占めるその商品の割合 | ピーク時オペレーションへの影響を把握 |
提供時間、作業負荷度などそもそも取得していなさそうな項目もあったので、POS データで収集されているであろう以下のデータを使った分析ができるかどうか聞いてみました。
収集できるデータは以下です。以下を基に分析できますか?
- 会計時刻(例:2025-07-12 10:15:00)
- オーダー時刻(同形式)
- レシートID
- グループ人数
- 利用形態(店内/持ち帰り)
- メニュー
- 注文点数
- メニュー単価(持ち帰りは容器代+10円を上乗せ)
- メニュー合計金額(= メニュー単価 × 点数)
その後も AI とのディスカッションを重ねた結果、以下を基に削除候補メニューを決めるのが良さそうということになりました。
1. 低売上スコア
- 意味:そのメニューがどれくらい売れていないかを示す指標
- 計算方法:販売数の順位を反転して5段階評価(売れてないほど高スコア)
- 狙い:売上貢献の小さいメニューを削減候補にしやすくする
2. 長滞在スコア
- 意味:そのメニューを含む会計で、客がどれくらい長く滞在しているか
- 計算方法:滞在時間(会計−注文の差分)の中央値を基に5段階評価(長いほど高スコア)
- 狙い:席の回転を遅らせる原因となるメニューを浮き彫りにする
3. ピーク影響スコア
- 意味:混雑ピーク(ランチ・ディナー)での販売比率がどれくらい高いか
- 計算方法:そのメニューを含む会計のうち、ピーク時間帯に行われた割合を基に5段階評価(高いほど高スコア)
- 狙い:混雑時のオペレーション効率に悪影響を与えやすいメニューを見つける
4. 寄与度スコア
- 意味:そのメニューが客単価を押し上げているか(または下げているか)
-
計算方法:
- メニューを含む会計の平均客単価
- 含まない会計の平均客単価
の差分を、+100円あたり1ポイントとして換算(最大±5ポイント)
- 特徴:客単価を上げているメニューは削減優先度を下げ、逆に下げているメニューは優先度を上げる
これら4つを合計し、削減優先度スコアとしてランキング化します。
簡単に言えば、売れてない・長居される・混雑時によく出る・客単価も上げないメニューほど削減候補になるということです。
分析開始
さて、では上記のロジックを基に分析をしてみようと思います。
サンプルデータの作成
分析結果のイメージを得るために、実際のメニューを基にサンプルデータを作成してもらうことにしました。サンプルデータは以下のプロンプトで作成をお願いしました。
このロジックを実際のメニューを基にしたサンプルデータで試してみたいですね。
餃子の王将のメニューは以下にあります。
https://www.ohsho.co.jp/menu/east/
こちらを基に以下のカラムのサンプルデータを作成してもらえますか?
- 会計時刻(例:2025-07-12 10:15:00)
- オーダー時刻(同形式)
- レシートID
- グループ人数
- 利用形態(店内/持ち帰り)
- メニュー
- 注文点数
- メニュー単価(持ち帰りは容器代+10円を上乗せ)
- メニュー合計金額(= メニュー単価 × 点数)
データについての補足は以下です。
- 金額は税抜き価格にしてください。
- ピーク時 (11:30 - 13:30 / 18:00-20:00) の会計時刻とオーダー時刻の差分は以下のようにしてください。
- 店内:15 分から 90 分の間で、中央値は 40 分。
- 持ち帰り:10 分から 40 分の間で、中央値は 20 分。
- 昼ピーク時 (11:30 - 13:30)は全体の売り上げの 40% に、夜ピーク時 (18:00-20:00) は全体の売り上げの 30% になるようにしてください。
以下は作成されたサンプルデータの一部です。
| レシートID | グループ人数 | 利用形態 | メニュー | 注文点数 | メニュー単価 | メニュー合計金額 | 会計時刻 | オーダー時刻 |
|---|---|---|---|---|---|---|---|---|
| R3001 | 3 | 店内 | 麻婆豆腐 | 3 | 600 | 1800 | 2025-07-10 12:43:28.798253 | 2025-07-10 12:08:24.489119 |
| R3001 | 3 | 店内 | 玉子スープ | 3 | 100 | 300 | 2025-07-10 12:43:28.798253 | 2025-07-10 12:08:24.489119 |
| R3001 | 3 | 店内 | 海鮮あんかけ焼そば | 1 | 780 | 780 | 2025-07-10 12:43:28.798253 | 2025-07-10 12:08:24.489119 |
| R3002 | 1 | 店内 | 餃子 | 2 | 330 | 660 | 2025-07-10 17:19:11.420101 | 2025-07-10 16:57:26.769687 |
| R3002 | 1 | 店内 | 炒飯 | 2 | 630 | 1260 | 2025-07-10 17:19:11.420101 | 2025-07-10 16:57:26.769687 |
分析結果
上記のサンプルデータを基に分析したところ、削除候補のメニューは以下の結果になりました。
| 順位 | メニュー | 販売数 | 売上額 | 滞在時間中央値(分) | ピーク時販売率 | 削減優先度スコア | ABCランク |
|---|---|---|---|---|---|---|---|
| 1 | ごま団子 | 19 | 6,320 | 37.87 | 83.3% | 14.72 | C |
| 2 | 餃子 | 329 | 109,120 | 36.16 | 70.7% | 10.49 | A |
| 3 | 杏仁豆腐 | 53 | 10,680 | 36.16 | 68.0% | 8.74 | C |
| 4 | 回鍋肉 | 93 | 54,140 | 34.30 | 68.3% | 8.45 | B |
| 5 | 餃子の王将ラーメン | 210 | 143,260 | 36.22 | 69.8% | 8.23 | A |
まさかの餃子が削減候補に上がるという驚きの結果に。笑
もちろん、これは架空のデータを利用して分析したためで、実際は違う結果になると信じています。
因みに、餃子が削減候補に上がった理由は以下でした。
「販売数多いが、低売上スコアとピーク影響スコアが高く、客単価寄与もほぼ中立。ピーク時の回転効率に影響。」
まぁ、説明自体は理に適っていそうです。
なお、実務的には削除優先度スコアが高かったとしても、メニューを即削除することはできないと思います。例えばピーク時のメニューから外したり、価格を少し上げてみてオーダー数を減らすなど、段階的な施策を進めていくことになるのだろうと想定しています。
分析プログラムの検証
この分析プログラムが合っていることの確認も必要です。こちらも AI にお願いしました。
上記の計算結果が合っていることを検証データを用いて確認してみてください。
検証データは検算がやりやすいように、餃子、杏仁豆腐、海鮮あんかけ焼そばの 3 つだけにして、5 レコードのデータにしてください。
確認結果は私にも教えてください。
検証データによる計算確認
1. 販売数・売上額
-
餃子
- 販売数: 3(2 + 1)
- 売上額: 990円(660 + 330)
-
杏仁豆腐
- 販売数: 5(1 + 4)
- 売上額: 1,000円(200 + 800)
-
海鮮あんかけ焼そば
- 販売数: 3
- 売上額: 2,340円
2. 滞在時間中央値(店内のみ)
- 餃子: 40分, 20分 → 中央値 30分
- 杏仁豆腐: 20分, 50分 → 中央値 35分
- 海鮮あんかけ焼そば: 30分 → 中央値 30分
3. ピーク時販売率(ランチ・ディナー)
- 餃子: 2件中ピーク1件 → 0.5
- 杏仁豆腐: 2件中ピーク2件 → 1.0
- 海鮮あんかけ焼そば: 1件中ピーク1件 → 1.0
4. 客単価寄与(差分)
-
餃子
- 含む: (330 + 165) / 2 = 247.5
- 含まない: (200 + 780 + 200) / 3 ≈ 393.33
- 寄与: -145.83
-
杏仁豆腐
- 含む: (200 + 200) / 2 = 200
- 含まない: (330 + 780 + 165) / 3 ≈ 425
- 寄与: -225
-
海鮮あんかけ焼そば
- 含む: 780
- 含まない: (330 + 200 + 165 + 200) / 4 = 223.75
- 寄与: +556.25
5. スコア傾向
-
低売上スコア
販売数が少ない(餃子・海鮮) → 高スコア
販売数が多い(杏仁豆腐) → 低スコア -
長滞在スコア
滞在が長い(杏仁豆腐) → 高スコア
滞在が短い(餃子・海鮮) → 低スコア -
ピーク影響スコア
ピーク販売率高(杏仁豆腐・海鮮) → 高スコア
ピーク販売率低(餃子) → 低スコア -
寄与度ポイント
客単価を下げる(餃子・杏仁豆腐) → マイナス寄与
客単価を上げる(海鮮) → プラス寄与(上限5)
全部確認していませんが、ざっとみた感じ良さそうです。
終わりに
というわけで、プログラムが書けなくても、データ分析の知識がなくても、上記のようなそれらしい改善アイデアを検討することができました。公開されているデータだけでは分析の範囲に限界がありましたが、もしこの記事を餃子の王将のスタッフの方が読んで、何かの参考にしていただけたなら、これほどうれしいことはありません。
飲食業界でどの程度データドリブンな意思決定が行われているのかは全く分かりません(この程度の検討はすでにされているかもしれません)が、いずれにしても生成AIの活用によってデータ分析業務がどんどん民主化されていくと感じました。
面白かったので、またテーマを変えて別の分析にも挑戦してみようと思います。