Feedforce Developer Blog

フィードフォース開発者ブログ

操作ログを用いた行動パターン変化の検知

こんにちは  データサイエンティストの八百俊哉です。 最近は花粉が飛んでいることを感じています。目がかゆい。

今回はdfplus.ioの操作ログを用いてクライアントの行動パターン変化を検知する仕組みを作成し、社内で有効活用された事例がありますので、その手法と成果を紹介します。

弊社のサービスdfplus.ioはマーケティング・広告運用チームのためのデータフィード管理ツールになります。様々な商品・商材データをマーケティングでフル活用できるようになるサービスです。

分析背景

dfplus.ioでの解約理由の一つに「クライアントの担当者が変更する際に引き継ぎがうまくできず、dfplus.ioの使い方がわからなくなってしまう」というケースがありました。

dfplus.ioカスタマーサクセスチーム(※以下CSチーム)では、クライアント側から事前に担当者の変更のご連絡を頂いた場合は新しいご担当者様にdfplus.ioの操作や活用に関するご案内をしております。しかし、クライアント側からご連絡がない場合は担当者の変更に気付くことができずそのご案内ができないという課題がありました。

その為なんらかの方法でクライアントの担当者の変更を検知することができると、新しい担当者にCSチームからdfplus.ioの操作や活用に関するご案内をすることができます。

そこで今回は操作ログを用いて行動パターンの変化を検知するという分析を実施し、クライアントの担当者の変更に気がつけるようにしました。

操作ログを用いて行動パターンを可視化

dfplus.ioには全部で90個のAPIが存在します。どのアカウントがいつどのAPIを使用したのかのデータがすべて蓄積されている状態です。以下が実際に今回の分析で使用したデータになります。

f:id:newton800:20220208141429p:plain
実際に使用した元データ

今回はこちらのデータを用いて各クライアントの行動パターンを作成しました。以下が実際の操作ログを用いて作成できた行動パターンの可視化例です。

f:id:newton800:20220209092518p:plain

それぞれのAPIに0~89の通し番号を割り振り、x軸としました。また、y軸には日数を使用して上のように可視化しました。

1日のうち1度でもAPIを操作すれば、(x(API番号), y(操作日)) = 1となるようにしており、画素値は0か1しか取らないようになっています。(画像で表現するときは1を255としている。)

それらのデータを月ごとに切り分け、前月とその前の月の行動パターンを比較することで、行動パターンの変化を確認しました。

上の画像の例だと2021年12月と2022年01月を比較することで、変化の検知を行うということになります。

行動パターン変化の定義

ここから2つの月の行動パターンを比較していきます。

はじめは画像同士をそのまま引き算することで変化量を求めようと思いました。しかし、仮にdfplus.ioを使用する業務が1日遅れになってしまったクライアントがいた場合、同じ作業をしているにも関わらず、行動パターン変化量が大きくなってしまいます。

そこで行動パターン変化量( d)を以下のように定義しました。

 d =  \dfrac{\sum ^{89}_{x=0}\left( \sum ^{30}_{y=0}p_{x,y}^{betore}-\sum ^{30}_{y=0}p_{x,y}^{after}\right) ^{2}}{\left( \sum ^{89}_{x=0}\sum ^{30}_{y=0}p_{x,y}^{betore}+\sum ^{89}_{x=0}\sum ^{30}_{y=0}p_{x,y}^{after}\right) }\\

 
p_{x,y} = \left\{
\begin{array}{ll}
1 & 操作があった場合\\
0 & 操作がなかった場合
\end{array}
\right.

もともとは分子の部分だけを用いて行動パターン変化量と定義していましたが、そうすると必然的に操作頻度が多いユーザーの変化量が多くなってしまい、月に数度しか使用しないクライアントの行動パターン変化量がとても小さくなってしまうという課題がありました。

そこで上のように分母に全体の操作頻度を導入することで、操作頻度による評価のばらつきを削減しました。

行動パターン変化量( d)がいくつ以上になれば、行動パターンが変化したと言えるかについては、CSチームと dと行動パターンの可視化画像を確認の上、決定しております。今後もその閾値については調整を行っていく予定になります。

実際に検知できた例

これらの仕組みを使用することで毎月10件前後の変化検知があります。 その検知結果をCSチームで確認し、ご案内が必要だと判断した場合にCSチームからクライアントに連絡を実施するという流れになっています。

以下は実際に担当者の変更の検知に成功した事例です。

f:id:newton800:20220208160800p:plain

可視化された行動パターンからも確認できるように、2021年11月までは頻繁に使用されていましたが、2021月12月の前半以降は使用回数が激減しています。

実際にこちらのクライアントは担当者が退職されており、担当者の変更検知の成功例となりました。

以下は、実際にCSチームから頂いた連絡です。 f:id:newton800:20220208161732p:plain

さいごに

今回は操作ログを用いた行動パターン変化の検知について紹介しました。 こちらの分析案件は、ヒアリングから現在まで1年ほどかけて現状の形になりました。入社2年目の私にとってはかなり長い間実施した業務になります。

今回は触れられていませんが、現在に至るまで紆余曲折ありました。最後まで諦めずに現在の形にできて非常に嬉しく感じます。

現在運用から4ヶ月ほど経過しており、実際に担当者の変更が検知できた事例が2件となっています。引き続き運用を続けていくことで、より多くの成果が残せると考えています。

最後までお付き合いいただき、ありがとうございました。