jiku log

データサイエンスの核心を掴む : 学びと発見の記録

「ビジネス課題を解決する技術」を読む ~2章 マーケティングにデータサイエンスを導入する~

はじめに


森下光之助 著 「ビジネス課題を解決する技術~数理モデルの力を引き出す3ステップフレームワーク」は、数理モデルを活用して課題を体系的に解決する手法を提供する。本書を読む理由は,データサイエンスを製造業の現場に効果的に適用するための実践的なフレームワークを学び,チームの分析力を強化し,事業成果を最大化するためである。本書はマーケティングを題材としているが,製造業での応用を意識しながら読み進めていく。

本記事は,「2章 マーケティングにデータサイエンスを導入する」の読書メモである。

本記事を読むことで得られること

本記事を読むことで得られることは,主に以下の内容である。

  • 数理モデル(負の二項分布)を用いた予測の実施方法
  • 製造業への応用例

2章 マーケティングにデータサイエンスを導入する

本書のテーマは,「3ステップフレームワーク」を用いて,データサイエンスによるビジネス課題の解決を行なうことである。
本章では,具体的なビジネス課題として「テレビCMの出稿量の最適化」を取り上げている。

数理的なテクニックとしては,

  • ドメイン知識を用いた確率モデルの仮定
  • 実データによる確率モデルのパラメータ推定

などが挙げられる。

2.1 マーケティング活動としてのテレビCM

本章では問題設定を説明している。今回のテーマは「テレビCM」である。詳細な問題設定やドメイン知識は本書において丁寧に説明されている。

問題設定における重要用語

今回の問題設定において,重要な用語を以下に整理した。

用語 意味
グロスリーチ CM出稿量のこと。
数理最適化の問題における決定変数にあたる。
ユニークリーチ 一度でもCMに接触した人数のこと。
数理最適化の問題における目的変数にあたる。
リーチカーブ グロスリーチを横軸・ユニークリーチを縦軸にした曲線。

実務における課題

リーチカーブは,グロスリーチを入力・ユニークリーチを出力とするような関係式であるとみなせる。そのため,グロスリーチとユニークリーチの関係が既知であれば,CM出稿に関する予測や意思決定ができるようになる。

しかし実際は,キャンペーン終了時点など,最終的なグロスリーチとユニークリーチの関係,すなわち特定の1時点のデータしか得られないことが多い。そのため,この1点を用いてリーチカーブ全体を把握する必要がある。

本章の問題設定

著者が所属するREVISIO社は,グロスリーチとユニークリーチのデータを蓄積しており,グロスリーチとユニークリーチの関係が分かっている。
本章では,ある特定の1点のデータが与えられているときに,リーチカーブ全体を推定する,という問題を扱っている(すなわち,リーチカーブのデータは手元にあるが,これを推定する。)。

リーチカーブ

2.2 ステップ1:ビジネス課題を数理最適化問題として定式化する

本節では,今回の問題設定を,数理最適化問題として定式化する。

変数の定義

変数を以下のように定義する。

  •  R : CMに接触していたかどうかを表す確率変数。接触あり : 1,接触無し : 0とする。
  •  g : 出稿量の値。
  •  n : ターゲットの任数。
  •  \bar{s} : 一人当たりの平均売上(別の分析により,既知とする)。
  •  q : CMに接触した人が製品を購入する割合(別の分析により,既知とする)。
  •  c : グロスリーチ1%あたりのコスト(「パーコスト」という)。

決定変数と目的関数

決定変数は,出稿量の値 gである。また,目的関数は,出稿量で条件付けた利潤 Pの期待値 E[P \lvert g]とする。

利潤 Pは,売上 Sから費用 Cを除いたものになる。CMに接触していたかどうかを表す確率変数 R=\{0, 1\}を導入すると,


 \begin{align}
E[P \lvert g] = \bar{s} q n \mathrm{Pr}(R=1 \lvert g) - 100 cg \\ \\
\end{align}
と表せる。

制約条件

出稿量は負にならないため,1つ目の制約は g \geq 0となる。
また広告予算の上限を bとすると,予算の制約は 100cg \leq bとなる。

解くべき最適化問題

これらをまとめると,解くべき最適化問題は以下のようになる。


 \begin{align}
\max _g \quad & \bar{s} q n \mathrm{Pr}(R=1 \lvert g) - 100 cg \\ \\
\mathrm{s.t.}\quad & 100cg \leq b \\ \\
& g\geq 0 \\ \\
\end{align}

2.3 ステップ2:数理モデルを構築し、未知のパラメータをデータから推定する

本節では,未知のパラメータをデータから推定するために,数理モデルを構築する方法を説明している。

機械学習モデル・回帰モデルの当てはめ

今回の問題設定では,「得られているデータ点が1点しかない」という状況になっている。そのため,機械学習モデルや回帰モデルを当てはめようとすると,かえって当てはまりが悪くなるという現象が起きる。

本書の内容に沿って,例として挙げられた機械学習モデル・回帰モデルは,以下のような問題が生じた。

モデル 問題点
Random Forest リーチカーブは本来曲線的な挙動になるはずだが,X軸に沿った直線的な当てはめしかできない。
線形回帰 原点と観測できた値の2点を通る直線を当てはめる。
リーチカーブは,グロスリーチが増えると傾きがだんだん小さくなるので,グロスリーチが大きい範囲の当てはまりが良くない。
対数変換+線形回帰 直線回帰よりも当てはまりは良くなるが,バイアスがかかる。

CM接触数理モデルの構築

少ないデータからリーチカーブを推定するためには,ドメイン知識を反映した数理モデルが必要である。本節では,CM接触に関する数理モデルを,ドメイン知識に基づき構築している。

今回の問題設定では,目的関数の中に確率 \mathrm{Pr}(R=1 \lvert g)が含まれている。CM接触回数は離散値であり,「ある期間の中で事象が何回発生するか」を記述する際には,ポアソン分布が良く用いられるので,今回もポアソン分布を導入している。

ポアソン分布によるリーチカーブの推定

CM接触回数を Fとする。CMにちょうど f接触する確率 \mathrm{Pr}(F=f \lvert \theta )は以下の確率関数で与えられる。


 \begin{align}
\mathrm{Pr}(F=f \lvert \theta )
&= \mathrm{Poisson}(f \lvert \theta) \\ \\
&= \frac{1}{\Gamma(f+1)} \theta ^f e^{-\theta} \\ \\
\end{align}
ただし \Gammaはガンマ関数であり, fが正数ならば \Gamma(f+1) = f!である。

リーチカーブの推定

リーチカーブは,横軸をグロスリーチ g,縦軸をユニークリーチ r(g)とした曲線である。そのため,CMの接触回数がポアソン分布にしたがう場合のリーチカーブ( r r(g)の関係式)を求める。

まずユニークリーチは r(g) = E[R \lvert g] で表される。CMに1回以上接触したら R=1となるので, R Fの関係式は以下のようになる。


 \begin{align}
r(g) = E[R \lvert g]
&= \mathrm{Pr}(R=1 \lvert g ) = \mathrm{Pr}(F\geq 1 \lvert g ) \\ \\
&= 1 - \mathrm{Pr}(F =0 \lvert g ) \\ \\
\end{align}

ここで確率分布はポアソン分布を仮定しているので,ポアソン分布において f=0, \theta=gとして


 \begin{align}
r(g) = E[R \lvert g]
&= 1 - \mathrm{Pr}(F =0 \lvert g ) \\ \\
&= 1 - \frac{1}{\Gamma(0+1)} g ^0 e^{-g} \\ \\
\therefore r(g) &= 1 - e^{-g} \\ \\
\end{align}
となる。

この式を図示すると,以下のようになる。下図の通り,誤差が大きくなっていることが分かる。

負の二項分布によるリーチカーブの推定

ポアソン分布を用いたときには,当てはまりが良くなかった。これは,ポアソン分布を当てはめる際に,「集団に所属する全員が共通の平均接触回数 \thetaをもつ*1」と仮定しているためである。
しかし集団には,テレビをよく見るためCMに接触しやすい個人もいれば,ほとんどテレビを見ないのでCMになかなか接触しない個人もいるといったように,パラメータ \thetaには異質性があると考える方が自然である。


ポアソン分布のパラメータ \thetaに異質性を持たせるためには,

  • パラメータ \thetaに,ガンマ分布の事前分布 p(\theta \lvert \alpha, \beta)を設定する。
  • ポアソン分布とガンマ分布を混合することにより,フリークエンシー Fがしたがう確率分布を求める。

という手順を踏む。

ここでいう「ポアソン分布とガンマ分布を混合する」とは,


 \begin{align}
\mathrm{Pr}(F=f \lvert \mu, \alpha) = \int_{0}^{\infty} \mathrm{Poisson}(f \lvert \theta) \mathrm{Gamma} \left( \theta \lvert \alpha, \frac{\alpha}{\mu}  \right) d\theta \\ \\
\end{align}
のように,確率分布の積を計算し,事前分布を置いたパラメータ \theta積分消去することを指す。

また,ガンマ分布とポアソン分布を混合すると,負の二項分布(Negative Binomial Distribution) \mathrm{NBinom(f \lvert \mu, \alpha)}が得られる。
ポアソン分布のときと同様に,負の二項分布によるリーチカーブの推定を行なうと,


 \begin{align}
r(g; \alpha) = 1 - \left(  \frac{\alpha}{g + \alpha}  \right) ^{\alpha} \\ \\
\end{align}
が得られる。

SciPyのoptimizeモジュールを用いて,データからパラメータ \alphaを最適化すると,リーチカーブは以下のようになる。

2.4 ステップ3:数理最適化問題を解いて最適なアクションを導出する

負の二項分布を用いると,リーチカーブを推定することができた。本節ではこの情報を用いて,最初に設定した数理最適化問題を解き,最適解を求めている。

本節において最適化を行なう際には,解析的または数値計算を求めるのではなく,各グロスリーチについて利潤を計算し,最大となる利潤を求めている。

まとめと感想

今回は,「2章 マーケティングにデータサイエンスを導入する」についてまとめた。

本章では,「CMの出稿量を最適化する」という問題を扱っていた。出稿量を増やせば,CMとの接触回数が増えて売上が伸びるが,その分コストがかかって利潤は減る。そのため,このようなトレードオフを考慮して最適化する必要がある。
また数理モデルとして,負の二項分布を導入して確率分布を近似していた。

今回の問題設定はマーケティングにおける問題だったが,製造業における応用例を,ChatGPTを併用して考えてみた。

応用例 : 製造業における「センサ点検回数の最適化」

ビジネス課題

製造装置には多数のセンサが付いている。
定期的な点検(または再キャリブレーション)を行うことで,センサの故障や異常を検知できる可能性が高まる。
しかし,点検にはコストがかかるため、「点検回数」や「点検タイミング」を最適化したい。

今回の事例とのアナロジー
マーケティングの事例 製造業における対応例
CM出稿量 g センサの点検頻度
接触した人数 r(g) 異常を1回以上検出する確率

異常検出の確率分布は,装置間での故障頻度のばらつき(異質性)を考慮し,負の二項分布を採用する。

上記の応用例に対する考察

製造業においては,設備の故障診断は大きな課題である。そのため,リモートモニタリングを行なうための仕組みを導入している企業も少なくない。
今回の応用例は,センサ点検回数の最適化であった。リモートモニタリングにおいて,センサ自体の故障診断は重要な問題である。そのため,今回のような問題設定も,実際のデータで試してみたら面白いかもしれない。


本記事を最後まで読んでくださり,どうもありがとうございました。

*1:ポアソン分布のパラメータ \thetaは,ポアソン分布にしたがう確率変数の期待値に一致するため,平均接触回数とポアソン分布のパラメータ \thetaは一致する。