CASE

小売チェーン会社における客数予測において精度95%を達成した事例

支援実績

小売チェーン会社における客数予測において精度95%を達成した事例

本記事では、20店舗を持つ小売チェーン・サービス業の会社様に、来客予測システムを提案から開発・導入まで至った事例を交えて、客数予測の内容をテーマについて記載します。

表題で客数予測精度95%と記載しており、これは類似の客数予測サービスでも類似の「一見高い数値」が実現しています。この記事で読者に最も強調したいのは、この数値はほぼ意味のないものであり、そして多くのAI関連のプロジェクトでも共通する注意点を説明します。

また、既成サービスの導入により客数予測の導入が10万円程度として提案しているページを散見しますが、これが多くの制約条件の元であったり、本質的に予測精度のプロジェクトとして現実的でない、といった部分まで、本記事を読んでいただけるとわかる形になっております。

さて、本件の来客予想システムでは、時間帯別に、2ヶ月先までの来客数予測を行います。この客数予測データを元に、店舗の担当者はその数字を見てシフトを組む形で、本取り組みは5ヶ月程度です。

予測精度95%という数値は、なぜ無意味か

まず、ビジネスの文脈において精度という数字がどれだけ恣意的に操作できるかを説明します。

これは来客予測とは別に、公開されている小売の実売データで測ったものです。同じデータを、同じやり方で予測して、統合する粒度だけ変えています

データのまとめ方を変えるだけで、精度は26%にも91%にもなる

今回は簡単のため、予測モデルは単純に設計しています。つまり、先週の同じ曜日の実績をそのままコピーする、直近の数日を平均する、といった非常に単純ではあるものの、予測の体裁は保つ予測モデルです。

ここで、特定の商品が特定の店で明日いくつ売れるかを推定すると精度は**26%になり、非常に低くなります。しかし、全社の合計が明日いくつになるかなら、精度は急に91%**に跳ね上がります。

細かく見るほど当たらなくなるのは当然です。1個か0個かを当てにいけば1個外しただけで誤差100%になります。逆に全社で丸めれば、何万個の中の数%の話になります。

これだけ見ても、精度95%という数値があっても、何を、どのくらいの細かさで、どのくらい先まで予測した数字なのかを聞かないと、何も判断できないということがお分かりいただけるでしょうか。当社でも過去に精度99%を超えても、精度の問題で実務上導入に困難があったケースもありました。

そしてこの「データの粒度」によって数値が変わり得るというのは、あくまで一例です。実際には、より様々な観点から精度は高いようにも低いようにも見せることができます。つまり、予測精度の数値のみを見て信頼するのは、非常に危険です。

客数予測プロジェクトの進め方

ここからは、客数予測プロジェクトの進め方を解説します。 客数予測は一直線には進まず、何周も回りながら形になる

1. 何を決めるための予測かを特定する

客数予測という一つの技術があるわけではありません。何を決めるために使うのかで、必要な予測期間も粒度も変わります。

本事例で決めるのはシフトでした。シフトは管理者が従業員の希望と合わせて前もって決める必要があります。今回の事例では2ヶ月ほど先の、時間帯別の客数予測が必要でした。

ここで重要な制約がひとつ生まれます。天気予報は10日ほど先までしかありません。 2ヶ月先の日曜日が晴れるかどうかは、誰にも分からないのです。

つまり気象データは、翌日の客数予測には効きますが、シフトを組むための予測には原理的に入れられません。既成の来客予測サービスの多くが気象データを前面に出していますが、それが効くのは翌日予測の話であって、シフト作成という用途には届いていないことになります。

2. 評価の設計を、データ分析やモデル開発より前に行う

モデルを作り始める前に、何をもって成功とするかを決めます。粒度、指標、評価する期間、そして比べる対象の4点です。

粒度については節2で述べた通りで、これを決めないまま出てきた精度の数字は、良いのか悪いのか判断できません。

そしてここで最も抜け落ちるのが、比較対象です。

客数予測を導入するということは、いま人がやっている予測を機械に置き換えるということです。よって本来測るべきは、実績とどれだけ一致したかではなく、いまの担当者よりどれだけ良いかになります。ところが導入前の人の精度、いわゆるビフォーの数値は、多くの現場で実測されないまま、ふんわりと置かれます。

その点、シフトを組んでいる現場は違います。何人配置するかは計画として事前に決まり、記録され、承認も通ります。人の読みが、業務のなかで数字として残っているわけです。

正直に書きますと、本事例ではこのビフォーを取得できませんでした。 技術的な問題ではなく、そこまでの協力と予算が得られなかったためです。したがって、この記事の冒頭に掲げた精度95%という数字も、担当者の勘より良いのかどうかは証明できていません。

3. データの棚卸し

着手して最初に分かるのは、たいていの場合データが揃っていないという事実です。

客数予測に必要なのは、過去の客数だけではありません。時間帯別に予測するなら時間帯別の履歴が要りますし、外れた日を説明するには休業日、販促日、店舗ごとの特異日が記録されている必要があります。ところがこれらが揃っている会社は多くありません。時間帯別の記録がそもそも残っていない、販促の履歴が担当者の記憶にしかない、店舗ごとに入力の運用が違う、といった状態から始まる可能性がありいます。

4. 特徴量を集めて、モデルに反映する

ここが客数予測の中身であり、最も回るステップです。

やることは単純で「この情報は効くのではないかという仮説を立て、取得元を探し、データを取得し、学習モデルや分析に追加して、精度に改善があったかを測る」という仮説検証の繰り返しです。

本事例でも天気情報や販促日、競合のキャンペーン情報など多数の観点で分析を行いました。

特徴量が効くかどうかは、入れて測ってみるまで分かりません。 1回で当たることはまずなく、この試行錯誤の回数が

5. 精度を検証する

モデルの精度を分析し、元々の比較指標や他のモデル、現行の予測などと比較検証をします。 このステップの中で最も重要な作業であり、最も見逃されやすい部分になります。 精度検証をしないAI・機械学習モデル開発は、目隠しをしたままの車の運転に等しいといえます。

6. 現場導入と実験

この段階で、モデルを実際に現場に使ってもらう「現場導入」「実験」を行います。

そしてこの段階で、上流が感じている課題と、現場の実感がずれていることがよく分かります。 これは客数予測に限らず、あらゆるAIプロジェクトで起きることです。

本事例で店舗の担当者から出てきた言葉は、こういうものでした。 普通の日の需要予測はそんなに難しくないし読みにくい。ただ、たまに大外れする日があり、人手が足りなくなる。

これは、精度の話をしていません。平均してどれだけ当たっているかではなく、外れる日がどのくらいの頻度で来て、そのときどれだけ外れるかを見ています。

そして厄介なことに、この2つは同じ方向を向いていません。平均の誤差を小さくしようとすると、モデルは無難な数字を出すようになります。無難な数字は普通の日によく当たりますが、たまに来る特別な日はその分置き去りにされる可能性があります。

そもそも平常日の予測が当たること自体に、それほど価値はありません。担当者が経験で読めているからです。何年もその店に立っていれば、火曜の夕方がどのくらいかは分かります。困っているのは読めない日のほうで、そういう日は年に数回しか来ないため、データも少ないのです。

冒頭で触れた、精度99%を超えていながら実務上の導入に困難があったケースも、根はここにあります。数字の上では申し分なくても、現場が困っている場面で外していれば、使われません。

重要なのは、この発見が②の評価設計に跳ね返るということです。見るべき指標が平均誤差ではなかったと分かれば、評価をやり直し、④に戻って特異日を説明する情報を集め直すことになります。現場に載せるまで、何を測るべきかが分からなかったわけです。

7. 運用と効果検証

AIモデルは導入して終わりではありません。運用と改善を繰り返します。

測っていなければ、精度が落ちていることにも、改善していることにも気づけません。そして検証をしていない場合、結論が出るのは現場で使われなくなったときです。そこで分かっても手遅れです。

測り続けることには、もうひとつ効用があります。本事例では競合のイベント情報を手で集めていますが、この手間をかけ続ける価値があるのかどうかも、測っているから判断できます。 どこまでデータを取りに行くかというコストの判断は、検証なしにはできません。

これらのステップを何周できるかが成果を決める。

ここまで見てきた通り、客数予測は一度作って終わる仕事ではありません。 1周目で実務に使えるものが出てくることは、多くありません。

客数予測の既成サービスについて

冒頭で触れた、既成サービスによる10万円程度での客数予測導入がいかに困難であるか、お分かりいただけたでしょうか。当社ではAIに関するプロジェクトを導入まで行った経験から、AIを用いた先進的な取り組みを実導入に結びつけるノウハウと経験がございます。今回のステップで上げたようなプロセスが、10万円程度で実現されることがいかに現実的でないか、お分かりいただけますでしょうか。

まとめ

最後に、客数予測を検討される際に先に決めておきたいことを整理します。

  • 何を決めるための予測かを先に決める。 それが必要な期間を決め、期間が使える情報を決めます
  • 精度の数字を単体で読まない。 何を、どの粒度で、どのくらい先まで予測した数字なのかを必ず確認します
  • 比べる相手を最初に測る。 いま担当者が何人と読んでいるのかを記録する運用を、プロジェクトの開始前に作ってください。後からは二度と取れません
  • 検証の費用を見積もりに入れる。 モデルを作る費用ではなく、それが人より良いと確かめる費用です
  • 客数予測そのものに価値があるわけではなく、その先の判断が良くなって初めて意味が出る。