高精度かつ大規模な需要予測

We recently hosted a live webinar — How Starbucks Forecasts Demand at Scale with Facebook Prophet and Databricks — During this webinar we learnt why Demand Forecasting is critical to Retail/ CPG firms and how it enables 22 other use cases. Brendan O’Shaughnessy, Data Science Manager at Starbucks walked us through how Starbucks does demand forecasting at scale. We also did a step by step demo on how to perform fine-grained demand forecasts on a day/store/SKU level with Databricks and Facebook’s Prophet

 Databricks による金融時系列分析の民主化

この Web セミナーで使用したスライドは、こちらからご覧いただけます。

スターバックスが実践する高粒度の需要予測

日、店舗、SKU レベルでの高精度の需要予測は、従来のデータウェアハウスをベースとした予測ツールでは実行が困難です。実際の製品の需要は、各店舗、SKU、日ごとに異なりますが、従来の需要予測ソリューションでは、週ごと、プロモーショングループごとの累積が用いられているのが実情です。

Databricks の統合データ分析プラットフォームを導入することで、小売企業では 2 桁の予測精度の改善を見込めます。Databricks は、日・店舗・SKU レベルでの高粒度の予測を可能にし、モデルの精度を高めるための数百におよぶ機能を提供します。データセットの組み込みも容易なため、ローカリゼーションと追加のデータセットにより、予測をさらに強化できます。毎日実行する予測によって、業務部門はタイムリーなデータに基づいた、より効果的な意思決定を行うことができます。

今回の Web セミナーでは、次の事柄を取り上げました。

  • Databricks を利用して日・店舗・SKU レベルで高粒度の需要予測を行う方法
  • Facebook の Prophetを利用して時系列データを正確に予測方法
  • スターバックス が実践する容易なカスタム予測とは
  • デファクトスタンダードの分散データ処理エンジン Apache Spark™ によって多数のモデルをトレーニングする方法
  • ビジネスの目標に沿った意思決定を支援すべく、アナリスト、マネージャーに対して BI ツールを利用してデータを提示

Web セミナーの最後の Q&A セッションで挙げられた主な質問と、それに対する回答は次のとおりです。

Q:時間の経過とともにモデルがどのように改善するかを見るために、どのようなバージョン管理システムを使用しますか?

Many of our customers use MLflow to track their experiments. They can use MLflow to track various parameters associated with these models and compare performance metrics across models. This is helpful in tracking improvements as well as libraries they are using to draw insights. MLflow helps take these models from experimentation to production faster.

Q:MLlib ではなく UDF を使用するのはどのような理由からでしょうか?SciKit 学習モデルを利用するためでしょうか?

UDF を選ぶ理由は、使用するライブラリの数に制限のない柔軟性です。Facebook の Prophet は現在人気の高いライブラリですが、他にも時系列で使用できるライブラリの選択肢は多数あります。シナリオにより最適なライブラリが異なるため、UDF を使用することで、並列化を活用しながら高度な柔軟性を実現できます。

Q:Delta Lake は、需要予測にどのような効果をもたらしますか?

大規模な需要予測を行おうとする場合には、コストをはじめとする、さまざまな疑問や課題が生じます。ここでの目的は、クラウドとそのリソースを利用して、可能な限り迅速に、かつ積極的に大規模な予測を実行することです。これらのリソースは、不要になればクラウドプロバイダに戻せるため、余計なコストが発生しません。ただし、そこで得た予測結果、すなわち、モデルを実行して得た洞察は失いたくありません。予測結果はデータフレーム内にあり、最終的にはメモリ上に置かれることになります。そのデータを永続化し、保存しておく必要があります。格納フォーマットとしてお薦めしたいのが Delta Lake です。Delta Lake を使用することで、データの素速い操作と、データをテーブルとして開くことが可能になります。データを永続化することで、スケールダウンしたクラスタでグループ化したデータをに対してインタラクティブなクエリを実行できます。さらに、BI ツール を使用することで、店舗や物流マネージャーによるモデルの利用が可能になります。

Q:Facebook の Prophet は季節時系列に適したソリューションですが、非季節時系列での予測精度はどのようなものでしょうか?

Facebook の Prophet は確かに季節性データとうまく動作します。UDF を使用することで、ARIMA などの他の一般的なライブラリともうまく動作させることが可能になります。RMSE その他の手法を試して適性を確認することもできます。Prophet には、精度を測定するツールが付属しています。

このブログ記事は、ビラル・オベイダット(Bilal Obeidat)によるデモを基に執筆したものです。ここでは、2つ目の UDF を作成し、評価指標を計算しています。あらゆる方法でこの指標を評価し、予想結果を確認する際の考慮に役立ていただくことができます。

小売・消費財業界、需要予測に関するリソース

Databricks 無料トライアル 使ってみる

ご登録