スーパーのモデルを開く(登録なしで開けます。シミュレーションを動かすにはProが要ります)。レジを何台開ければ、お客さんはどれくらい待つか。1時間の来店数と1人あたりにかかる時間を決めれば、AIがシミュレーションで、台数ごとの待ち時間を比べます。この記事では、模擬のスーパーで、AIがMCPで呼ぶのと同じ道具を動かしました。以下の数字と図は、すべてその結果です。
1. 店とレジ
模擬のスーパーは、売場と駐車場のある郊外型の店です。表の通路に沿って有人レジが10台(2.8 mおき)、その東にセルフレジが6台(列は1本)、その先に出口があります。1人あたりの時間は、このモデルに入っている値を使いました。
- 有人レジ:スキャンが平均90秒(かごが大きいほど長い。指数分布)、支払いが20〜40秒。ベルトの前へ進む2秒を合わせて、1人がレジを使う時間は平均約2分(122秒)です。袋詰め(20〜45秒)は台の先で行い、その間にレジは次の人に空きます。
- セルフレジ:スキャンと支払いが60〜300秒(いちばん多いのは110秒)、袋詰めが15〜30秒。
2. AIが書いたシナリオ
AIは、保存されている「土曜のレジ待ち」のシナリオから、レジでの手順をそのまま使い、売場の買物を除いた「レジ前の1時間」のシナリオを書きました(put_process_scenario)。
- 買物を終えた人が、1時間に決めた人数だけ、ランダムな間隔で(ポアソン到着)レジ前の通路に来る。
- 空いているレジに行き、なければ並んでいる人がいちばん少ないレジに並ぶ。一度並んだら、列は移らない。
- 開けるレジは、通路の真ん中に近い順(5・6・4・7・3・8・2・9・1・10番)。
- 最初の10分は数えずに、その後の1時間を数える。乱数を変えて20回くり返す。
来店数・開けるレジの台数・1列に並ぶか・セルフレジに回る割合は、シナリオのパラメータにしました。AIは sweep_process_parameters で、パラメータの組み合わせごとに、同じ乱数の20回を走らせます。
3. 来店数ごとに、開けるレジの台数を比べる
| 1時間の来店数 | 4台 | 5台 | 6台 | 7台 | 8台 | 9台 | 10台 |
|---|---|---|---|---|---|---|---|
| 120人 | × | 61秒 | 23秒 | 11秒 | 5秒 | 2秒 | 1秒 |
| 180人 | × | × | × | 75秒 | 36秒 | 17秒 | 9秒 |
| 240人 | × | × | × | × | × | 90秒 | 48秒 |
×は、列が伸び続けた台数です。1時間に会計を済ませた人が、来た人より少なくなりました(120人に4台なら113人、180人に6台なら170人、240人に8台なら227人)。
- 1時間に120人なら、レジの仕事は 120人 × 122秒 = 4.07台分です。4台では足りず、列が伸び続けます。仕事量を切り上げた5台で列は伸びなくなりますが、平均は61秒です。平均1分以内にするには、もう1台要りました(6台で23秒)。
- 180人(6.1台分)と240人(8.1台分)も同じで、平均1分以内には8台と10台が要りました。
- 平均が短くても、長く待つ人はいます。180人に8台(平均36秒)でも、各回のいちばん長い待ちを20回で平均すると、いちばん長いレジで266秒(4分半ほど)でした。大きなかごの人が前にいると、その列だけが長く止まるためです。
4. 1列に並ぶ(フォーク並び)と
開いているレジ全部の前に1本の列を作り、先頭の人から空いたレジへ行くやり方です。AIはシナリオの「1列に並ぶ」を切り替えて、同じ1時間に180人で比べました。いちばん長い待ちと列は、各回の最長を20回で平均した値です(レジごとの列では、それがいちばん長いレジ)。
| 1時間に180人 | レジごとの列 | 1本の列 |
|---|---|---|
| 7台:平均待ち | 75.2秒 | 73.5秒 |
| 7台:いちばん長い待ち | 373秒 | 246秒 |
| 7台:いちばん長い列 | 2.3人(1台の列) | 13.8人(1本の列) |
| 6台:平均待ち | 181.4秒 | 204.6秒 |
- 7台では、平均待ちは変わりません(差は−1.7秒、95%区間は−7.9〜4.5秒で、差があるとは言えない)。いちばん長い待ちは373秒から246秒に短くなります。前の人のかごの大きさで運が分かれず、来た順に進むためです。
- そのかわり、1本の列に最長で14人ほど並びます(20回の平均で13.8人)。列を置く場所と、空いたレジを知らせる案内が要ります。
- 台数がぎりぎりの6台では、1本の列の方が平均で23.1秒長くなりました(95%区間は13.7〜32.5秒)。列の先頭から空いたレジまで歩く数秒の間、そのレジが空いたままになるためです。
5. セルフレジに回すと
同じ1時間に180人のうち、決めた割合がセルフレジ(6台、列は1本)へ行くとします。平均待ちは、有人レジとセルフレジの人を合わせた全員の平均です。
| セルフレジへ | 有人4台 | 5台 | 6台 | 7台 | セルフレジの平均待ち | セルフレジの列(最長) |
|---|---|---|---|---|---|---|
| 0% | × | × | × | 75秒 | – | – |
| 30% | × | 55秒 | 21秒 | 9秒 | 2.6秒 | 1.5人 |
| 50% | 47秒 | 30秒 | 25秒 | 24秒 | 44.7秒 | 6.6人 |
- 3割がセルフレジへ行けば、有人レジを7台から5台に減らしても平均55秒です。セルフレジではほとんど待ちません。
- 5割では、有人レジ4台でも平均47秒ですが、待ちはセルフレジへ移ります(平均44.7秒、列は最長6.6人、6台が使われている割合は79%)。有人レジを7台にしても、セルフレジの待ちが残り、全員の平均は24秒でした。
6. この数字の使い方
- 来店数は、時間帯ごとのレシートの枚数(POSの客数)から分かります。1人あたりの時間は、自分の店で測った値をAIに伝えてください。台数ごとの待ちは、その値で大きく変わります。
- 計算していないもの:列の乗り換え、長い列を見て諦める人、レジ係ごとの速さの違い、休憩と交代、売上。
- レジが2台の店なら、
run_standard_scenarioで1台と2台を比べられます。 - 保存されている「土曜のレジ待ち」は、駐車場から売場を回ってレジに来るまでを含むシナリオです。セルフレジの割合、スキャンの時間、レジ係の休憩の時刻を変えて試せます。



