以前の記事「RFM×AIで離脱予測|ノーコードで始めるAIマーケティング」ではRFM指標をもとに離脱しそうな顧客を見つける基本の流れを、「AIで「未来のLTV」を予測する|予測型LTVのメリットとマーケティング活用法」では顧客がもたらす価値を見積もる方法を紹介しました。その続きとなる本記事のテーマは、チャーン予測を「当たる」から「使える」へと磨き上げること。予測期間の設計・変化の特徴量・予測理由の活用という3つの柱で現場が動ける精度に引き上げる方法を解説します。
チャーン予測を実際に動かし始めると、多くの現場でこのような声が出てきます。
- 離脱確率の高い顧客のリストはあるが、いつまでにフォローすればよいか分からない
- スコアは出ているのになぜその顧客が危ないのか説明できず、打ち手を決められない
- スコアの高い顧客から順にフォローしているのに思ったほど離脱が減らない
- 一度作ったモデルの精度が時間とともに落ちていく
これらはどれも「モデルが悪い」のではなく「モデルの使い方」に起因する問題です。本記事ではこの問いに一つひとつ答えます。
なお、離脱の時期そのものを予測する方法としては、Cox比例ハザードモデルや離散時間ハザードモデルといった生存時間分析の手法もあります。理論的にはより精緻ですが、データの準備や実装の難易度が上がります。本記事ではおなじみの二値分類を延長する形で「いつまでに」という問いに現実的に答える方法をとります。
1. 離脱予測の「次の一歩」:基本のチャーン予測との違い
基本のチャーン予測と本記事のアプローチを比べると次のようになります。いずれも二値分類モデルのまま取り入れられる点がポイントです。
| 項目 | 基本のチャーン予測 | 本記事のアプローチ |
|---|---|---|
| 予測期間 | 固定期間(例:90日)で離脱を定義 | 施策から逆算して長さを決める。基準日をずらして学習データを増やす |
| 特徴量 | RFMスコアと基本的な指標 | 顧客ごとの「いつも」と比べた変化を体系的に作る |
| 結果の使い方 | 離脱確率の高い順に対応 | 「止められる離脱」を見分け、予測理由に合わせた打ち手を取る |
| 運用 | スコアを外部ツールへ連携 | 毎週再計算。対照群を残してモデルの劣化を防ぐ |
2. まず「データ」の形をつかむ
チャーン予測の話をすると「うちにあるのはPOSデータだけ」という声をよく聞きます。それで十分です。ただし、POSデータはそのままではモデルに渡せません。まずデータがどう変わるかを押さえてから設計の話に進みます。
手元のPOS購買履歴は「取引の羅列」
多くの企業の購買データは次のような形で蓄積されています。1行が1回の取引で誰がいつ何を買ったかが並んでいます。
| 顧客ID | 取引日 | 商品カテゴリ | 金額(円) |
|---|---|---|---|
| C001 | 2024-01-05 | 日用品 | 1,200 |
| C001 | 2024-01-20 | 食品 | 850 |
| C001 | 2024-03-02 | 日用品 | 600 |
| C002 | 2024-01-18 | 化粧品 | 5,600 |
| C002 | 2024-02-25 | 化粧品 | 8,400 |
| C003 | 2024-01-10 | 食品 | 2,100 |
このままでは「C001は今月離脱しそうか?」という問いに答えられません。ここに「基準日」という考え方を持ち込みます。
基準日を置くと、データが「過去の行動」と「その後の結果」に分かれる
基準日を2024年4月1日に設定すると、データはこう整理されます。
- 観測期間(基準日より前90日:2024年1月1日~3月31日):顧客の行動を集計して特徴量を作る
- 予測期間(基準日より後30日:2024年4月1日~4月30日):この期間に購入があったかどうかで離脱フラグを作る
集計するとこのようなテーブルができあがります。
| 顧客ID | 購入回数(90日) | 直近30日の購入回数 | 前60日の購入回数 | 最終購入からの日数 | 購入間隔の伸び率 | 離脱フラグ |
|---|---|---|---|---|---|---|
| C001 | 3回 | 1回(3月) | 2回 | 30日 | 1.1倍 | 0(継続) |
| C002 | 2回 | 0回 | 2回 | 35日 | 0.9倍 | 1(離脱) |
| C003 | 1回 | 0回 | 1回 | 81日 | — | 1(離脱) |
C002は直近30日の購入がゼロで4月もそのまま購入がなかった(離脱フラグ=1)。C001は3月にも購入があり4月も継続した(離脱フラグ=0)。この「特徴量」と「フラグ」がモデルへの入力と答えになります。
基準日をずらすと同じデータから学習事例が何倍にも増える
基準日を1点だけにするとその時点のスナップショットしか学習に使えません。1か月ずつずらして積み上げるとデータ量が一気に増えます。
| 基準日 | 観測期間 | 予測期間 | サンプル数 |
|---|---|---|---|
| 2024-01-01 | 2023-10-01~12-31 | 2024-01-01~01-31 | 5,000件 |
| 2024-02-01 | 2023-11-01~2024-01-31 | 2024-02-01~02-29 | 5,200件 |
| 2024-03-01 | 2023-12-01~2024-02-29 | 2024-03-01~03-31 | 4,900件 |
| 合計 | 15,100件(3倍) |
基準日が1点なら5,000件だったデータが、3か月ずらすだけで3倍になります。季節ごとの離脱パターンも学習できるようになります。精度を確かめるときは学習に使った基準日より新しい時点のデータで検証するのが基本です。
3. 予測期間を施策から逆算して設計する
予測期間の長さは「データから決める」のではなく、「打ち手が間に合う長さで決める」のが正解です。
予測期間が長すぎるとリストに載った時点ですでに手遅れの顧客が混ざります。短すぎると離脱件数が少なく、モデルが学習しにくくなります。目安は商材の購買サイクルと施策を準備してから効果が出るまでの時間です。
- 30日:日用品・サブスクリプションなど利用頻度が高い商材
- 60日:アパレル・化粧品など1~2か月おきに購入される商材
- 90日:家電・法人向けサービスなど検討期間や更新周期が長い商材
たとえばメール配信の準備に1週間、効果が出るまでに2週間かかるなら、少なくとも3週間先の離脱を予測できていないと間に合いません。予測期間に期限を設ければ「今週フォローすべき顧客」をそのままリストにできます。
4. 離脱の前兆を「変化」の特徴量で捉える
データの形と予測期間の設計が決まったら、次は何を特徴量にするかです。
合計値だけでは前兆を見落とす
過去90日の購入回数がどちらも6回のAさんとBさんがいたとします。
| 前半45日の購入 | 後半45日の購入 | 合計 | |
|---|---|---|---|
| Aさん | 1回 | 5回 | 6回 |
| Bさん | 5回 | 1回 | 6回 |
合計だけを見ると同じですが、Bさんは明らかに離れつつあります。離脱は突然起きるのではなく「購入間隔が空き始める」「金額が落ちる」という前兆を伴うことがほとんどです。この前兆を捉えるには、値そのものではなく値の変化をモデルに教える必要があります。
全体の平均でなくその顧客自身の「いつも」と比べる
変化を見るときのコツは、全顧客の平均と比べるのではなく、その顧客自身の平常と比べることです。月1回購入する顧客が40日ぶりというのと、週1回購入する顧客が40日ぶりというのは意味がまったく違います。顧客ごとの普段の購入間隔を分母にすることで、小さな変化も前兆として拾えるようになります。
変化の特徴量は「分けて比べる」だけで作れる
観測期間を前半・後半に分けて比べる、または顧客ごとの過去平均と比べる。それだけで変化の特徴量になります。代表的な例を示します。
| 特徴量 | 計算方法 |
|---|---|
| 購入回数の比 | 直近30日の購入回数 ÷ その前の30日の購入回数 |
| 購入金額の増減 | 直近30日の購入金額 − その前の30日の購入金額 |
| 購入間隔の伸び率 | 最終購入からの日数 ÷ その顧客の平均購入間隔 |
| ログイン数の減少率 | (平均ログイン数 − 直近2週ログイン数)÷ 平均ログイン数 |
| 問い合わせの変化 | 直近の問い合わせ件数、不満系カテゴリの有無 |
これらをRFM指標と組み合わせると「今どれくらい使っているか」と「最近どう変わったか」の両方をモデルに渡せます。
落とし穴:基準日より後の情報を混ぜない
変化の特徴量を作るときほど、データリーク(未来の情報が混入すること)が起きやすくなります。すべての特徴量は「基準日の時点で分かっていた情報だけ」で作るのが鉄則です。考え方はRFM分析×AIによるチャーン予測の記事で詳しく解説しています。
5. Dataikuで実装する4ステップ
ここまでの考え方をAIプラットフォームDataikuで形にする流れを紹介します。使うのはすべて標準のレシピとVisual ML(AutoML)で追加のプラグインやコードは不要です。
Step 1:基準日ごとに観測期間と予測期間を切り出す
Prepareレシピで基準日からの経過日数を計算する列を追加し、Filterレシピで観測期間(基準日より前90日)と予測期間(基準日より後30日)に分けます。予測期間のデータから顧客ごとに購入の有無を集計し、離脱フラグを作ります。基準日を変えて同じ処理を繰り返し、Stackレシピで縦に積み上げれば複数時点の学習データの完成です。
Step 2:GroupレシピとWindowレシピで「変化」の特徴量を作る
GroupレシピでPOS履歴を顧客×期間単位で集計します。直近30日とその前の30日をそれぞれ集計し、購入回数の比を計算します。Windowレシピでは顧客IDごとに日付順で前回購入日を取り出せるので、購入間隔の計算と伸び率の算出が可能です。最後にJoinレシピでRFM指標・変化の特徴量・離脱フラグを1つのデータセットにまとめます。
Step 3:AutoMLで二値分類モデルを学習・比較する
Visual MLで離脱フラグを目的変数とする二値分類を作成します。学習と検証の分け方は基準日の列を使った時間順分割が基本です。「過去で学習し、未来で確かめる」という実運用に近い評価ができます。離脱する顧客が全体の5~10%などごく一部に偏っている場合は、正解率ではなくAUC・適合率・再現率で評価しましょう。
Step 4:予測理由を確かめ、毎週スコアを更新する
学習済みモデルの変数重要度を見ると、自社顧客にとって何が離脱の前兆なのかが分かります。Dataikuの個別予測説明機能を使えば、顧客一人ひとりについて「どの特徴量がスコアを押し上げたか」を出力できます。
たとえばある顧客の出力が「離脱スコア0.62。主な要因:購入間隔が普段の2.3倍に伸びていること・直近30日のログインがゼロ」だったとします。担当者はこの理由を見れば、値引きよりも「そろそろ買い替えの時期では?」という声かけのほうが合っている、と判断できます。
実運用ではシナリオ機能で「毎週基準日を更新し、全顧客のスコアと予測理由を計算し直す」処理を自動化します。
落とし穴:施策がうまくいくほど、モデルは劣化する
フォローによって離脱を防げた顧客は、データ上では「離脱しなかった顧客」として記録されます。施策が成功するほど「前兆があったのに離脱しなかった」データが増え、モデルは前兆と離脱の関係を弱く学習し直してしまいます。新しいデータで再学習するだけでは、この劣化は防げません。
対策は、フォロー対象のうちごく一部をあえてフォローせず、対照群として残しておくことです。対照群があれば、施策の影響を受けない前兆と離脱の関係を学習し続けられます。施策の本当の効果測定にも使えます。この考え方をさらに発展させると、「フォローすると結果が変わる顧客」を直接予測するアップリフトモデリングにつながります。
6. 前兆に合わせて打ち手を変える:マーケティング施策への落とし込み
期限つきの離脱スコアと予測理由が手元にあると、施策は「離脱しそうな人に一律でクーポンを配る」から「必要な人に、理由に合った打ち手を、間に合うタイミングで届ける」へと変わります。
「止められる離脱」と「止められない離脱」を分ける
打ち手を考える前に確かめたいのが「そもそもフォローすべき相手か」です。引っ越しやライフイベント、ニーズそのものがなくなったことによる離脱は、どれだけ丁寧にフォローしても止まりません。一方、「使い方が分からない」「購入のきっかけを失っている」といった行動の変化が理由ならまだ間に合います。
予測理由を見る本当の価値は「打ち手を選ぶこと」より先に、「手を打つべき相手かどうかを見分けること」にあります。予測理由の上位が購入間隔の伸びやログイン数の減少なら働きかける余地があります。一方、長期の利用停止のように意思がはっきりしている場合は、フォローに費用をかけるべき相手ではないかもしれません。
「一番危ない顧客」から手を打つとは限らない
離脱スコアの高い順にフォローするのは自然に見えますが、効率がよいとは限りません。スコアが最も高い顧客の多くはすでに気持ちが固まっていて、何をしても戻らない可能性が高い層です。反対にスコアが低い顧客は放っておいても残ります。施策によって結果が変わるのはその中間の「迷っている層」です。
スコアの高い順に予算を使い切ると、効果の出にくい層に資源を投じることになりかねません。離脱スコアは「誰が危ないか」を示すものであって「誰に打てば効くか」を直接示すものではない点は、押さえておきたいポイントです。
キーウォーカーの支援
離脱を防ぐためのフォローをしているのに成果が出ない。そう感じるとき、多くの企業がまず「フォローの内容が弱いのでは」と考えます。しかし実際には、内容よりも「誰に・いつ・何を届けているか」の精度が成否を分けています。すでに気持ちが離れた顧客に遅れて連絡しても、理由に合わない特典を一律に配っても、費用対効果は上がりません。担当者の経験と勘に頼ったフォローでは、顧客一人ひとりの小さな変化に気づくことが年々難しくなっているのが現実です。
AIを活用することで、離脱の前兆の発見からフォロー対象の絞り込み・理由に合った打ち手の判断まで、経験則に頼らずデータで実行できます。「誰が・いつまでに・なぜ離脱しそうか」が明確になるだけで、同じ予算でもリテンション施策の成果は確実に変わります。
私たちキーウォーカーは、外部データの収集からデータ基盤の構築、Dataikuを使ったチャーン予測モデルの構築と運用定着まで、離脱防止に必要な一連のプロセスを一気通貫で支援します。「まず何から手をつければいいか分からない」という段階からでも、お客様の課題に合わせた最適なアプローチをご提案します。離脱の兆しを早くつかみたい、データ活用を本格的に始めたいとお考えでしたら、ぜひお気軽にご相談ください。
まとめ
離脱しそうな顧客を見つけるだけでは、離脱は防げません。予測期間を「打ち手が間に合う長さ」で区切り、POSデータを基準日ごとに切り出して学習データを作る。顧客ごとの「いつも」と比べた変化の特徴量で前兆を捉え、予測理由から「止められる離脱」を見分けて、理由に合った打ち手を届ける。そして一部の顧客を対照群として残し、施策の効果とモデルの精度を見張り続ける。この一連の流れは、すべてDataikuの標準機能で実装できます。まずは自社の購買サイクルに合った予測期間を決め、手元のPOSデータから「変化」の特徴量を1つ作るところから始めてみてください。
