見出し画像

休眠ユーザーにメールを送って気を引きたいけど、どうしたらいいの?

しばらくinactiveのユーザーに、新商品のお知らせをしたい。どのようにキャンペーン情報を周知すれば良いでしょうか?

The One Size Fits All Method
ブレインストーミングの結果、あなたのチームは3つの戦略に辿り着きました。
・Tactic A : 何もしない。(他Tacticの効果の比較用)
・Tactic B : 1-on-1 スタイリングのオファーを明記したメールを送る。
・Tactic C : プロモーションのメールを送る。

どうやらBが良さそうということで、早速全ユーザーに展開しよう!...でも、それでいいの?

The One Size Fits All Methodの限界
この方法はこれらの点で問題があります。
・Tactic Bがいつまで有効かわからない。来年になったらユーザー層の属性が変わるかもしれない。
・パーソナライズされていない。ある人にとってはTactic Cの方がいいかもしれない。
・ユーザーの属性を生かしていない。ユーザーの年齢や過去の購買情報は持っているのに、それを使わないなんて!

では決定木を使ってユーザーの属性を分類しよう。Ageが50以上or未満、男性or女性、East Coat在住orWest Coast在住...あれ、どこまで細かく分ければいいんだ?

画像1

この問題には、多腕バンディットアルゴリズムが役に立つかもしれない。

多腕バンディット問題では、N個のスロットマシンがあり、スロットマシンの腕を引くと一定の確率で当たって報酬を得ることができます。この腕を引く行動をここでは「試行」と呼びます。T回の試行回数の中で、得られる報酬の和を最大にしたい、というのが多腕バンディット問題の設定になります。出典 https://developers.cyberagent.co.jp/blog/archives/25099/

各スロットマシンの当たる確率が事前にわかっていれば、確率が高いものを選んでひたすら選べば良いでしょう。しかしながらそれらは事前にわからないので、探索しつつ、良いものを選んで腕を引いていく、つまり探索と試行のバランスを取っていく必要があります。

例えばユーザーの10%にランダムにTactic A, B, Cを割り振り、残りの90%にもっとも良いTacticを割り振る。ユーザーにTacticを割り振るたびに報酬をupdateし、もっとも良いTacticを更新していけば良いことになります。

ユーザーの属性が時間と共に激しく移り変わるのであれば、古いデータを忘れるようなforgetting factorを導入し、より新しいデータを重視するように仕向けることができます。

残りの90%に同じTacticを適用するのでもいいですが、より一歩進んでPersonalizationするにはどうしたらいいでしょうか?

一つの方法としては、10%にTacticを割り振ったデータを元に、残りの90%の行動を予測する機械学習モデルを作る、というのが考えられます。

画像2

多腕バンディットのN=2がまさにA/Bテストにあたり、広告配信やWidgetの最適化などありとあらゆる箇所に使われています。

あなたもinactiveな顧客として、どこかのサービスの多腕バンディット問題のターゲットになっているかもしれないですね!

内容は以下のブログ記事を日本語に翻訳し、まとめ直したものとなっております。
Your Client Engagement Program Isn't Doing What You Think It Is.

この記事が気に入ったらサポートをしてみませんか?