昨秋に大規模な Tags+Events のアップグレードを行って以来、私たちは小売業界向けの販促予測に積極的に取り組んでいます。現在、データベースには数千件の販促イベントが蓄積されており、これらのイベントの分析は非常に興味深い知見へと導いてくれました。

また、驚くことではありませんが、次のことが分かっています:

  • 実務者が_手作業_で行う販促予測は、通常、平均して60%以上の予測誤差を伴います。状況により異なるかもしれませんが、小売業の典型的な売上予測誤差は通常20%前後です。
  • タグやイベントを通じて販促データを組み込むことで、平均予測誤差が約50%減少します。もちろん、販促イベントのデータ量によって結果は異なる場合があります。

直感に反する結果として、いくつかの専門家やソフトウェアツールで広く宣伝されているにもかかわらず、ルールベースの手法および線形手法過学習に対して非常に弱いことが分かり、これが予測誤差の評価を歪め、販促予測のパフォーマンスに誤った印象を与える可能性があります。

また、この50%の改善は、通常、販促ごとに2~3個程度の二値記述子のみしか使用されていない、といった非常に限られた情報で実現されていることに注意してください。

大雑把な販促データでさえ、かなりの予測精度の改善につながり、それが大幅な運転資本の節約に寄与します。

販促予測を改善するための第一歩は、正確な販促データを収集することです。我々の経験では、このステップが最も困難でコストがかかるものです。もし販促の正確な記録がなければ、正確な予測を得る望みはほとんどありません。いわゆる「ゴミを入力すれば、ゴミが出力される」という格言があるように。

しかし、我々はたった一つの販促記述子、つまり、記事が現在販促中かどうかを示す単純なバイナリ変数でさえ、大幅な予測改善につながることに気付きました。したがって、記録は正確である必要がありますが、詳細である必要はなく、予測を改善できるのです。

そのため、販促のタイミング、すなわち開始時刻と終了時刻を正確に記録することをお勧めします。なお、eコマースでは、トップページの表示が製品の販促に匹敵する効果を持つことが多いため、トップページの変遷も把握する必要があります。

次に、記事の説明も重要です。実際、我々の経験では、最も頻繁に販促された記事であっても、市場における寿命で12回以上の販促が行われることはほとんどありません。平均すると、特定の記事に対して過去に知られている販促の数は極端に少なく、平均して0~1回程度です。その結果、個々の製品の過去の販促に焦点を当てても信頼できる結果を得ることは難しいのです。

したがって、その代わりに販促を計画している記事と似たような記事に注目する必要があります。Lokadを使えば、販売データにタグを関連付けることでそれが可能です。通常、小売業者はカタログを整理するために階層構造を使用しています。つまり、ファミリー、サブファミリー、記事、バリアントなどからなる記事の階層を考えてみてください。

階層化されたカタログをタグに変換する作業は、架空のキャンディ再販業者を例に以下のプロセスに従うことで、非常に簡単に行うことができます:

中サイズのレモン味ロリポップの販売履歴に関連付けられたタグは、LOLLIPOPS, LEMON, MEDIUM となります。

このプロセスは通常、カタログの複雑さに応じて、1記事あたり2~6個のタグを生成します。

先に述べたように、非常に限られた販促情報であっても、すぐに売上予測を改善することが可能です。しかし、より詳細な販促情報は予測精度を明確に向上させます

予測精度を向上させるために、2つの要素が非常に価値があることが分かりました:

  • 顧客に提供される割引の性質を記述するメカニズム。典型的なメカニズムとしては、定額割引(例:-20%)が挙げられますが、その他にも_送料無料_や大量購入割引(例:1つ買うと1つ無料)など多くの手法があります。
  • 販促イベントの通知方法を記述するコミュニケーション手法。通常、コミュニケーションにはラジオ、新聞、地域広告といったマーケティング施策のほか、(あれば)カスタムパッケージングや販売時点での販促商品の見え方も含まれます。

より大規模な流通ネットワークの場合、記事がすべての店舗で販促されていない場合は、販促の全体的な提供状況も記述すべきです。そのような状況は、販売店のマネージャーが販促活動から外れる選択ができる場合に典型的に発生します。

専門家との議論の中で、多くの小売業者がLokadによって一連のルールが作成されることを期待しており、これらのルールは次のような販促を_説明_するものと期待されていることが分かりました:

IF TV_ADS AND PERCENT25_DISCOUNT
THEN PROMO_SALES = 5 * REGULAR_SALES;

基本的に、これらの_想定されたルール_は、ほぼ同じパターンに従います:

  • ルールの範囲を定義する一連のバイナリ条件。
  • ルールの効果を推定するための一連の線形係数。

市場には、データ内でこれらのルールを_発見_するのに役立つ多くのツールが存在することが分かっており、それが一見、このアプローチが唯一の手法であると多くの人々に信じさせる要因となっています。

しかし、我々の実験によると、ルールベースの手法は最適から程遠い。さらに、それらのルールは過学習に対して非常に脆弱です。この脆弱性は、しばしば_推定された_予測精度と_実際の_予測精度の間に大きな乖離が生じるという痛ましい状況を引き起こします。

Overfitting(過学習)は非常に微妙でありながら、統計的予測において非常に重要な現象です。基本的に、予測の中心的な課題は、未取得のデータに対して非常に正確なモデルを構築することにあります。

特に、統計理論は、過去のデータに適用すると非常に正確であるが、未来を予測するには著しく不正確なモデルを構築できる可能性を示しています。問題は、実際には、事前に過学習の問題を十分に考慮しなければ、そのようなモデルを構築することは単なる可能性ではなく、プロセスの最も可能性の高い結果となるという点です。

したがって、未取得のデータに対してもモデルを最適化する必要があります。しかしながら、この問題は定義上、対応するデータがなければ何も測定できないため、完全なパラドックスのように見えます。また、多くの専門家がこの問題を放棄していることが分かりました。なぜなら、この考え方は手に負えそうに見えないからです。

我々のアドバイスは:諦めるな

これらのルールの根本的な問題は、過去のデータにおいてあまりにも高いパフォーマンスを発揮する点にあります。追加するたびに、そのルールは過去データで計測される予測誤差を機械的に低減していき、十分な数のルールを追加すると、見た目にはほぼゼロの予測誤差となります。しかし、過去データで計測される実証的な誤差は、そもそもルール構築プロセスの産物に過ぎないのです。過去のゼロ予測誤差は、将来の販促におけるゼロの予測誤差に直結するわけではありません。実際、こうしたモデルは将来の販促に対して非常に低いパフォーマンスを示す傾向があります。

たとえ_未取得のデータに対する最適化_が困難であっても、統計学習理論はこの問題に対して理論的理解と実践的な解決策の両方を提供します。中心となる考えは、実証誤差とのバランスをとる構造的リスク最小化の概念を導入することにあります。

この点については後の投稿で詳しく議論しますので、お楽しみに。

(遠慮なき自慢) 過学習問題に十分配慮した数学的モデルなど、多くの現代的な解決策がLokadによって実装されており、その恩恵を受けるために専門家のチームを雇う必要はありません。


読者コメント (1)

需要シグナルデータの取り扱いは、あらゆる業界でリアルタイムデータが引き起こすのと同じ問題、すなわち大量のデータへのアクセスと統合、その後の歴史的情報との組み合わせと分析をどう行うかという問題を呈します。 Business Opportunities (9 years ago)