顧客セグメンテーションのために使える3つの分析手法

# 顧客セグメンテーションのために使える3つの分析手法

マーケティングをはじめとするビジネスの世界では、顧客一人一人に合わせて最適なコミュニケーションを取れることが理想的ですが、コストや労力の観点で、そのようなことは現実的とは言えません。

![image-20240702083326733.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/0670e39a-7108-5a07-db31-8b508536bca2.png)

一方で、顧客を共通の「属性」や「行動」をもとに、いくつかのセグメントに分けられれば、それぞれのセグメントに合わせて効果的なコミュニケーションを取ったり、そのセグメントに最適な施策を実行できるようになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/62fd4983-bb0e-60aa-8b5d-8cb2c904f032.png)

そこで今回は、顧客に関する購買・行動・属性・アンケートなどのデータがあったときに、顧客セグメンテーションのために使える3つの分析手法を紹介いたします。

# K-means クラスタリング: 顧客の属性や購買履歴をもとにセグメントに分ける

例えば、以下のように1行が1人の回答者を表し、列に数値型の情報をもつアンケートの回答のデータがあったときに、人が1人1人の回答者の全ての回答のスコアを見ながら、回答者をセグメントに分けることは現実的ではありません。

![image-20240703092701944.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/6e434d75-1b0f-f3c5-fdaa-7d786024eb0d.png)

そういったときに、「**K-Meansクラスタリング**」を利用すると、データの中にあるパターンを読み取らせて、行（今回はアンケートの回答者）を簡単にセグメントに分けられます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/40a546c6-3667-0f84-dabd-60f1e2744b27.png)

なお、K-Meansクラスタリングは、今回のアンケートの回答のように数値を使って、行（今回はアンケートの回答者）をセグメントに分ける手法です。

K-Meansクラスタリングを行い、各顧客のデータにクラスター（セグメント）の情報を付与することで、その情報をもとに、クラスターごとに最適なコミュニケーションやアクションを実行できるようになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/152c32ad-2e83-d9a8-e5a8-dd50022408a6.png)

なお、K-Meansクラスタタリングは、各セグメント（クラスター）がどのような特徴を持っているかは教えてくれません。

そこで実際には、各クラスターの特徴をレーダーチャートなどのチャートを使って理解し、必要に応じてセグメント名前を付けることで、ビジネス上の運用がしやすくなります。

![image-20240707181928664.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/cceddd27-3211-6389-2bfd-be5d9849ca92.png)

上記はアンケートデータを使った例でしたが、例えば、以下のように、顧客の属性情報をもとに顧客をセグメントに分けることも可能です。

![image-20240707183548440.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/af2c3bb5-cb3e-c91b-d379-e64a352406e1.png)

また、観察対象が人である必要はなく、例えば、以下のように店舗をセグメントに分けることも可能です。

![image-20240707184643933.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/943d348b-1980-b672-14a7-d98c53dfea71.png)

# トピックモデル: 自由記述のテキストをもとにセグメントに分ける

前述したK-Meansクラスタリングは「数値」を使って顧客をセグメントに分けるアプローチでした。

一方で、顧客に関するようなデータが常に「数値」とは限りません。例えば、以下のような自由記述のアンケートデータがあったときには、そのデータを活かして顧客をセグメントに分けることはできません。

![image-20240703093157039.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/7cf1d75b-baa3-ce26-2341-8e15265778bb.png)

そのようなときに有効なのが「**トピックモデル（LDA）**」です。

トピックモデル(LDA)を利用すると、回答を「トピック（話題）」として分類ができるため、それを回答者の「属性」や「興味の対象」として捉えて、それをもとに顧客とのコミュニケーションやプロモーションなどに役立てられます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/2d79b19f-87c7-60fd-7cb0-d9463feccd4a.png)

トピックモデルは、テキストデータがあったときに、単語の出現頻度と、それぞれの単語が一緒に利用されるパターンをもとに、文書をトピックに分類する手法です。

そして、トピックモデルは自身で設定した任意のトピック数に応じて、それぞれのトピックである確率を計算します。

例えば、以下はトピックモデルを実行し、「トピック2」である確率が高い回答（回答者）にデータをソートしたものですが、この結果から、「トピック2」は、時間配分や発表時間などに関するトピックであることが伺えます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/12a7af76-d11e-c06a-ddeb-528f0b125dc4.png)

なお、トピックモデルも、先程のK-Meansクラスタリングと同様に、各トピックがどのようなものであるかの名前を付けてくれるわけではありません。そのため、各トピックがどのようなものであるかは、人間が解釈する必要があります。

上記の例はわかりやすいものでしたが、それぞれのトピックがどのようなものであるかが分かりづらいときもあります。そういったときには、トピックモデルが計算する各トピックにおける重要語から各トピックへの理解を深めることが可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/a2aea2e5-1086-bb49-8d24-b7241315615e.png)

例えば、トピック2における重要語には「時間」「発表」「配分」といった単語が並んでいることから、改めて、発表時間や時間配分に関するトピックであることが確認できます。

# RFM/RFV分析:  顧客の購買履歴やサービスの利用履歴をもとにセグメントに分ける

**RFM分析**は、前述の2つの手法と異なり、データサイエンスの学習モデルを用いないアプローチです。

顧客の購買データなどを利用して、集計や計算にもとに顧客を分類するアプローチで、eコマース・小売などのビジネスにおいて多く利用されています。（近年はWebサービスでも応用されている手法となり、詳細はこちらのセクションの最後に補足いたします）

RFM分析における、「RFM」は以下の3つの指標の頭文字を表しており、これらの3つの指標をもとに顧客の購買行動を評価します。

- **R**ecency - どれくらい**最近**に購入したのか
- **F**requency -どれくらいの**頻度**で購入しているのか
- **M**onetary - どれくらいの**金額**を購入に費やしているのか

ここからは、とある小売ビジネスを例に、RFM分析の考え方を簡単に紹介します。

仮に、優良顧客が誰か知りたかった場合、以下のように、より多くの購買金額（売上）がある顧客を優良顧客と考えられます。

![image-20240702090821141.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/be7d91b4-a8f0-bb5e-e6a2-d3f084bc1921.png)

一方で、頻繁に商品を購入している顧客も優良顧客と考えられます。

![image-20240702090834149.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/cd2d9ff0-a347-8027-7661-370af88b129a.png)

そこで、それぞれの顧客を購買金額と購買回数を元にチャート上に表示してみます。

![image-20240702090703455.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/1099c07e-e30b-9327-9a95-fefa4f4822ef.png)

上記のように、購買金額と購買回数を元に顧客をグループ分けできれば、それぞれの顧客に合わせた提案ができるようになります。

![image-20240702090859868.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/3a6656c2-fcba-77e7-a939-8096b0b2fd1a.png)

ただし、顧客が最後に購買したタイミングは異なります。最後の購買から時間が大幅に空いている顧客は「現在」の優良顧客とは限りません。

そこで、RFM分析では、顧客の購買状況をより正確に理解するために、「最後に購買したのがいつか（Recency）」も考慮します。

![image-20240702091354073.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/82b61f2a-2229-ad25-ed05-e885fb1b9709.png)

このように、R・F・Mの3つの情報をもとに顧客をセグメントにわけるのがRFM分析です。

![image-20240702091704732.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/2bca149b-697c-9f4d-3a81-32c72c0ce8f6.png)

なお、RFM分析を実施するときは、1行1顧客のデータを使って、Recency、Frequency、Monetaryの指標をあらかじめ計算しておきます。

![image-20240702093555392.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/386f1126-fb09-ad45-4fde-029bba20efc5.png)

そして、それらの指標を、指標ごとに等幅、あるいは、等頻度などの任意の方法でグループに分け、各グループを掛け合わせたセグメントが、1つ1つのセグメントになるわけです。

![image-20240702093800735.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/d5243fd1-c42c-fb77-0d93-27512e5d8be6.png)

このRFM分析の実践的な運用に興味がある方は以下の記事もご参考ください。

https://qiita.com/IkuyaM/items/a333df94f613bbf75b55?utm_campaign=3-segment&utm_medium=blog&utm_source=qiita

近年、このRFM分析を、WebサービスやSaaSサービスに取り入れたRFV分析という手法も使われ始めています。

このRFV分析は、Monetary（購買金額）をVolume（サービスの利用量）に置き換えた分析となり、興味がある方は以下のリンクをご参考ください。

https://exploratory.io/note/BWz1Bar4JF/SaaS-5-Part-3-RFV-CLJ4efS3jU?utm_campaign=3-segment&utm_medium=blog&utm_source=qiita

# 自分のデータで試してみたい！

今回は、顧客セグメンテーションのために使える3つの分析手法を紹介いたしました。

いずれの分析手法も直感的にわかりやすいものですが、例えば、自分のデータを使ってトピックモデルやクラスタリングを実行するためには、コードを書く必要が生じたり、RFM分析を実施するためには、データを加工するための手間がかかります。

そこで、記事内のスクリーンショットで利用している、データの加工、可視化、分析、レポーティングのためのUIツールの[Exploratory](https://exploratory.io/?utm_campaign=4-text-analysis&utm_medium=blog&utm_source=qiita)を利用することで、UIを通してそれらの処理を実行することが可能です。

なお、こちらの記事で紹介した分析手法に興味がある方は、それぞれの分析手法をサンプルデータ付きで試せる情報も公開しています。

https://exploratory.io/note/exploratory/K-Means-EVl1hGE7?utm_campaign=3-segment&utm_medium=blog&utm_source=qiita

https://exploratory.io/note/exploratory/LDA-MmP4fnU2?utm_campaign=3-segment&utm_medium=blog&utm_source=qiita

https://exploratory.io/note/BWz1Bar4JF/RFM-ypZ8tQl9QI?utm_campaign=3-segment&utm_medium=blog&utm_source=qiita

上記を参考に、ご自身のデータを使って、セグメント分けを試されたい方は、下記のリンクより無料トライアルも可能です！

https://exploratory.io/?utm_campaign=3-segment&utm_medium=blog&utm_source=qiita

# データサイエンスを体系的に学びたい！

実際のビジネスを改善していくためのヒントを得るためには、今回紹介したような分析手法を駆使するだけでなく、自分達が注目している指標の将来を予測したり、またはその裏にある因果関係に迫っていくための分析が欠かせません。

そこで、そういった分析手法を基礎から、そして体系的に学びたいという方向けに、データサイエンス・ブートキャンプ・トレーニングを9月に開催しますので、興味のある方はぜひご参加をご検討いただければと思います。

https://exploratory.io/training-jp?utm_campaign=3-segment&utm_medium=blog&utm_source=qiita