ウェブ分析をしていると、ユーザーが最初にサービスの何に触れたかでKPIに違いがあるか知りたくなることがあります。その結果が分かると、さらに2つ目に接触するものが違うと、KPIが変化するか?ということを知りたくなります。
まともにやると、ユーザーをグループ分けして分析して、またグループ分けして分析して、、、ということが続いて、延々にループが発生してしまいます。
何か良い方法がないかなと思っていたら、良さそうな記事が紹介されてました。
Attribution model with R (part 1: Markov chains concept)
http://analyzecore.com/2016/08/03/attribution-model-r-part-1/
詳細はリンク先の記事を参考にして欲しいのですが、
記事中には使用例が3つあり、最後の結果を図示をするときに、私の環境では明記されてないパッケージが必要でしたので、記録しておきます。
利用パッケージ
R :3.31
dplyr : 0.5.0
reshape : 0.85
ggplot2 : 2.1.0
ChannelAttribution : 1.8
markovchain : 0.6
記事には書かれてなかったですが、
私の環境だと、以下のパッケージも結果の図示用に必要でした。
RColorBrewer : 1.12
ggthemes : 3.2.0
ggrepel : 0.5