営業、DM等の顧客ターゲティングする際に、過去成約した/しない等をターゲットにしてモデリングを行うと思いますが、その際に過去特定のセグメントの顧客に対して営業やDM等の施策を行っていた場合、「アプローチしたから成約した」みたいなバイアスが入り、過去の施策対象先のセグメントにオーバーフィットする可能性を懸念しております。このバイアスを考慮してモデリングする手法についてご教授いただきたいです。よろしくお願いいたします。
方法1
シンプルな方法として、モデルを作った後に、「全員が施策を受けないとした場合の購入確率」 or 「全員が施策を受けた場合の購入確率」のリストアップが考えられます。
シンプルですが、過去の施策が非常に偏った方に提供されている場合、得られる予測の信頼性に問題が出てきますので、その際には注意が必要です。
例えば、年齢が40歳以上の方全員にDMを送り、年齢40歳未満の方にはDMを送らない施策が過去にあったとします。これでは、顧客属性(年齢)に関係なく、40歳以上の購入確率が高く推定されてしまう可能性があります。そこで購入を予測するモデルを作成し、リストアップする際に全員がDMを受け取ったとする確率を求め、それをもとにターゲティングを行うとします。
一見良さそうな調整に見えますが、40歳未満にDMを送った結果がないため、40歳未満に対してDMを送付したと想定した場合の予測は外挿となってしまうので、予測値が現実と大きく異なる可能性が出てきてしまいます。
方法2
過去の施策は何かしら偏った方に提供されていることが多いと思いますので、上記の問題がどうしてもついて回るケースが多いです。
そこで上記の性質を抑えた上で、「今まで施策をあまり行ってこなかった顧客の中での優先順位付け」「今まで施策を行ってきた顧客の中での優先順位付け」とモデル活用の領域を限定して使っていくのが健全で、おすすめの方法になります。
おまけ
そもそもターゲティングは「購買確率」を求めるという問題でいいのでしょうか?という疑問を考えてみると、本当に知りたいことは「施策を行った際の購買確率の上げ幅」となるはずです。
つまり、「施策をしない場合に比べて、施策をすることで誰がより買いやすくなるか?」が真の問いになります。
施策をしてもしなくても、どうせ購入してくれる人に施策を行うと単にお金のばらまきになってしまうので、単なる購買確率を求めるのでなく、購買確率の変化量が関心になります。
施策をした場合の購買確率と施策をしなかった場合の購買確率をそれぞれ求めて引いてしまえばいいのでは?という単純な発想で考えたいのですが、そもそも過去の施策が偏った人に施されている場合、どちらかの予測が正しく行えないという、上記と同じような問題になってしまいます。
この分析を行う場合には、過去の施策が大きく偏っていないかどうかを確認する必要があるのでご注意ください。
このあたりは専門的にuplift modelingという名前で最近注目を集めている領域になるのですが、もしご関心があれば調べてみてください!
ありがとうございます!大変参考になります!
方法2ですが、「今まで施策をあまり行ってこなかった顧客」の正例が極端に少ない場合はどうすればいいか悩みどころです。あきらめるしかないのでしょうか、、
おまけについてもありがとうございます!おっしゃる通りの問題だと思います。
施策ありの確率と施策による確率上昇値の二軸で見る感じなのでしょうか。
uplift modelingぜひ調べてみます。
どこまでの精度とビジネスインパクトを求めていらっしゃるかによって、諦めるかどうかが決まります。
パッと分析して現状より少しでも改善し、数百万-1,000万円のビジネスインパクトがでるだけで十分ということでしたら分析を実施する価値はあるかと思います。
ビジネスインパクトの概算をしながら、ご検討されてみてはいかがでしょうか?