お問い合わせ

マーケティング

RFM分析のやり方|セグメントの作り方と施策、Claudeで集計して確かめる手順

佐藤 恒株式会社INVOX 代表取締役 CEO

「優良顧客には特別な案内を、離れかけた顧客には呼び戻しの案内を」。ECやD2Cの顧客向けの施策(CRM)では、顧客を分けて案内を変えるのが基本です。その分け方として広く使われているのが、RFM分析です。

RFM分析は、注文のデータさえあれば始められます。一方で、スコアの切り方やセグメントの名前を決める段階で迷いやすく、作ったセグメントが本当に「次に買う顧客」を見分けているかまで確かめられていないことも少なくありません。

本記事では、EC・D2Cのマーケティングの責任者やCRMの担当者に向けて、RFM分析のやり方を、指標の定義、スコアの切り方、セグメントの作り方、セグメントごとの施策の順に解説します。

あわせて、注文のデータをClaudeで集計する方法とプロンプトの例、セグメントと施策の効果を確かめる方法、注意点を紹介します。

RFM分析とは

RFM分析は、顧客を次の3つの指標で評価し、グループに分ける方法です。

指標 意味 ECでの計算の例
R(Recency) 最後に購入してからの日数 基準日 − 最後の注文日
F(Frequency) 購入の回数 期間中の注文の件数
M(Monetary) 購入の金額 期間中の注文の金額の合計

前提にあるのは、「最近買った顧客」「何度も買っている顧客」「多く使っている顧客」ほど、次も買う見込みが高いという考え方です。

顧客の属性やアンケートがなくても、注文の履歴だけで計算できるため、ECのCRMの最初の分析としてよく使われます。

RFM分析のやり方

RFM分析は、次の5つの手順で進めます。

  1. 基準日と、対象にする注文を決める
  2. 顧客ごとにR・F・Mを計算する
  3. スコアの切り方を決める
  4. セグメントを作り、名前を付ける
  5. セグメントごとの中身を見て、施策を決める

セグメントと施策の効果を確かめる方法は、手順の後に解説します。

ここでは、Shopifyで自社ECを運営するスキンケアのD2Cブランドを想定した、架空の企業のデモ用のデータで手順を説明します。データは2025年5月〜2026年4月の12か月分です。

手順1:基準日と、対象にする注文を決める

まず、Rを数える基準日を決めます。毎月の運用であれば、集計する日(または前月の末日)を基準日にします。この例では、データの最終日の2026年4月30日を基準日にしました。

次に、対象にする注文を決めます。返品やキャンセルで取り消された注文を数えると、実際には買っていない顧客が「最近買った」「何度も買った」と扱われます。

この例では、全額を返金した注文(6,789件のうち186件)を除きました。一部だけ返金した注文は、購入があったものとして残しています。

手順2:顧客ごとにR・F・Mを計算する

注文のデータを顧客ごとにまとめ、R(基準日から最後の注文日までの日数)、F(注文の回数)、M(注文の金額の合計)を計算します。

金額は、値引きの前か後か、税や送料を含むかで変わります。この例では、商品小計(クーポン値引き前・税と送料を除く)を使いました。

手順3:スコアの切り方を決める

R・F・Mの値を、1〜5点などのスコアに置き換えます。切り方は大きく2つです。

切り方 方法 向いている場合
分位で切る 顧客を値の順に並べ、20%ずつなど同じ人数に分けて点を付ける 購入回数が分散していて、まず全体の傾向を見たい
閾値で切る 「60日以内」「3回以上」など、業種や商品に合わせた区切りを決める 1回だけの顧客が多い、購入の周期がはっきりしている

Shopifyの、RFMで顧客を分析するレポート(RFM customer analysis)は分位の方式で、R・F・Mのそれぞれに、自店の顧客のうち上位20%なら5点、下位20%なら1点を付けています。そのうえで、Rの点と、FとMの点の平均から10のグループに分け、注文のない見込み客を加えた11のグループにしています(Shopifyのヘルプ(別タブで開く)。2026年10月時点)。

ただし、1回だけ購入した顧客が多いECでは、分位の方式はFでうまく働きません。この例では、顧客4,998人のうち79.7%(3,984人)が1回だけの購入でした。Fを20%ずつに分けようとしても、下から約8割の顧客が同じ「1回」に並び、差が付きません。

そこで、この例では閾値で切りました。閾値は、2回目以降の注文が、前の注文から何日後だったか(購入の間隔)の分布を目安にしています。

  • 購入の間隔の中央値は55日 → 1回だけの顧客は、60日までは「次を待っている」と見る
  • 75%点は94日 → リピートしている顧客は、90日以内に買っていれば「いつもの間隔」と見る
  • 90%点は141日 → 150日を超えたら「休眠」と見る

ただし、データの期間が短いと長い間隔は数えられないため、分布は実際より短めに出ます。この例のデータは12か月分です。可能であれば、2年以上のデータで出します。

Fは「1回」「2回」「3回以上」に分けました。Mはセグメントの軸には使わず、同じセグメントの中で優先する顧客を選ぶときに使います。Mは購入の回数とともに大きくなるため、3つ目の軸にしてもFとほぼ同じ分け方になりやすいためです。

手順4:セグメントを作り、名前を付ける

RとFの区切りを組み合わせ、施策を変えたい単位でセグメントにまとめます。名前は、そのセグメントに何をするかが伝わるように付けます。

セグメント 条件(F・R) 状態
優良 3回以上・90日以内 繰り返し買い、今も買っている
安定 2回・90日以内 リピートが始まり、今も買っている
新規 1回・60日以内 初めて買ったばかり
2回目待ち 1回・61〜150日 1回買ったが、2回目がまだ
離反しかけ 2回以上・91〜150日 リピートしていたが、間隔が空いている
休眠 151日以上 5か月以上買っていない

この条件でセグメントを作ると、次のようになりました。

2026年4月30日を基準日に、最後の購入からの日数(R)と購入回数(F)で顧客4,998人を6つのセグメントに分けた画面。1回だけの顧客は79.7%、購入の間隔の中央値は55日。優良は157人(3.1%)で売上の8.9%、安定は230人(4.6%)で6.8%、新規は935人で14.2%、2回目待ちは1,129人で17.6%、離反しかけは206人で7.2%、休眠は2,341人(46.8%)で45.2%

Claudeで作成したRFMのセグメントと売上の構成(デモ用のデータ)

優良と安定を合わせると、人数では7.7%ですが、過去12か月の売上の15.8%を占めています。1人あたりの売上は、優良が34,458円、新規が9,188円でした。

一方で、休眠は2,341人(46.8%)と最も多く、そのうち1,920人は1回だけ購入した顧客です。この例のECでは、2回目の購入につなげられないまま離れていく顧客が多いことが分かります。

手順5:セグメントごとの中身を見て、施策を決める

セグメントの人数と売上だけでなく、最後の購入からの日数、購入の回数、1注文あたりの金額、よく買われている商品を並べると、それぞれにどの案内が合うかを考えやすくなります。

2026年4月30日時点の6つのセグメントについて、人数・売上構成比・最後の購入からの日数の中央値・購入回数の平均・1注文あたりの金額・売上の多い商品カテゴリ・トライアルセットを買った人の割合と、施策の候補を並べた表。2回目待ちは1,129人で、休眠を除くと最も多い。1注文あたりの金額は全体で9,157円、セグメント別は8,154〜9,415円。優良の売上に占める5点セットの比率は15.6%で、全体は12.1%。1回だけ購入した顧客の26.5%がトライアルセットを買っている

Claudeで作成したセグメントごとの中身と施策の候補(デモ用のデータ)

この例では、1注文あたりの金額はセグメント別に8,154〜9,415円で、購入の回数ほどの違いはありませんでした。セグメントの違いは、主に購入の回数と、最後の購入からの日数に表れています。

商品では、どのセグメントも美容液の売上が最も多い一方で、優良は5点セットの比率が15.6%と、全体の12.1%より高くなっていました。

また、1回だけ購入した顧客の26.5%は、トライアルセットを買っていました。「2回目待ち」のうちトライアルセットを買った311人(27.5%)に、本品への案内を送るのが、施策の候補の1つになります。

初回にトライアルセットを買った顧客のうち、期間中に2回目を買ったのは22.7%で、買わなかった顧客(19.4%)を3ポイントほど上回っています。ただし、トライアルを選ぶ顧客は、もともと続けて買いやすい顧客である可能性もあり、この差は案内の効果を示すものではありません。案内の効果は、送る群と送らない群に分けて確かめる前提で進めます。

こうした中身をもとに、セグメントごとの施策を次のように決めます。

セグメント 目的 施策の例
優良 関係を保つ 新商品の先行案内、使い方の相談、値引きに頼らない特典
安定 3回目につなげる 使い切る時期に合わせた案内、定番商品とあわせて使う商品の提案
新規 2回目につなげる 使い方の案内、使い切る前のリマインド
2回目待ち 2回目を後押しする トライアルから本品への案内、初回の商品に合わせた提案
離反しかけ 離れる前に呼び戻す いつもの購入の時期を過ぎたタイミングでのリマインド
休眠 呼び戻すか、案内を絞る 反応した顧客だけに絞った案内、配信の頻度を下げる

施策を決めるときは、次の点も考えます。

  • 値引きは、反応する顧客を見極めてから使う:優良の顧客は値引きがなくても買っていた可能性がある。値引きの有無で群を分けて比べる
  • 人数と売上の構成から、優先順位を付ける:この例では「2回目待ち」が1,129人と、休眠を除くと最も多く、ここから2回目につなげることが、売上への影響が大きい候補になる
  • 休眠にかける費用は、反応を確かめてから決める:休眠の顧客の一部に案内を送って反応を測り、配信を続ける費用と、反応した場合の売上を比べる

セグメントと施策の効果を確かめる

RFM分析は、「最近・何度も買っている顧客ほど、次も買う」という前提に立っています。セグメントを施策に使う前と後に、その前提と施策の効果を自社のデータで確かめます。

セグメントが、その後の購入を分けているか確かめる

過去のある日を基準日にして、その日までの注文だけでセグメントを作り、基準日の後の一定期間(90日など)に、セグメントごとの再購入率や1人あたりの購入額を比べます。

期間は、購入の間隔に合わせて決めます。基準日を2〜3つ変えて同じ集計をし、セグメントの順位が保たれるかも見ておきます。

確かめるときは、基準日の時点で分かっていた注文だけでセグメントを作ります。基準日より後の注文を含めると、「その後に買った顧客」が優良に入り、差が大きく出すぎます。

なお、この例では、Rの区切りの日数は全期間の購入の間隔から決めています。厳密には、基準日までのデータで区切りを決め直して確かめます(2026年1月30日までのデータでは、中央値48日・75%点80日・90%点119日)。

この例で、2026年1月30日までの注文だけでセグメントを作り、翌日から90日(4月30日まで)の購入を比べると、次のようになりました。

2026年1月30日までの注文で作ったセグメント別に、翌日から90日の再購入率と1人あたりの購入額を比べた画面。全体の再購入率は9.2%で、優良30.7%(3,061円)、安定21.0%(1,998円)、離反しかけ12.2%(1,471円)、新規12.0%(1,212円)、2回目待ち6.5%(659円)、休眠3.7%(391円)。基準日を2025年12月31日・11月30日にずらしても、6つのセグメントの順位は同じ

Claudeで作成したセグメントとその後の購入の比較(デモ用のデータ)

90日以内に1回以上購入した顧客の割合(再購入率)は、全体の9.2%に対して、優良が30.7%、安定が21.0%、休眠が3.7%でした。1人あたりの購入額(買わなかった人は0円)も、優良の3,061円から休眠の391円まで、同じ順に並んでいます。基準日を2025年12月31日、11月30日にずらしても、6つのセグメントの順位は変わりませんでした。

一方で、差は「優良なら次も買う」と言えるほど大きくはありません。優良でも約7割は90日以内に買っておらず、新規(12.0%)と離反しかけ(12.2%)のように、ほとんど差のないセグメントもあります。

また、優良(150人)や離反しかけ(147人)は人数が少なく、基準日によって再購入率が優良は25.5〜32.8%、離反しかけは12.2〜18.4%と動きました。セグメントは「次に買う見込みが高い順」の目安として使い、施策の効果は次の方法で別に確かめます。

施策の効果は、施策をした群としなかった群で比べる

施策の効果は、同じセグメントの中で、案内を送る群と送らない群に無作為に分け、その後の再購入率と購入額を比べて確かめます。

  • 群を分けた場合:案内を送った群と送らなかった群の再購入率・購入額の差で、効果を判断する。施策を続けている間も、毎月この差を確認する
  • 群を分けられない場合:施策の前後で、同じセグメントの再購入率を比べる。前後の比較は季節やセールの影響も受けるため、前の年の同じ時期とも比べる。前年の同じ時期と比べるには、2年分のデータが必要になる

差が出ないときの見直し方

セグメントの間で、その後の購入に差がほとんど出ないこともあります。その場合は、次のように見直します。

  • 閾値を変えて、もう一度確かめる:Rの区切りを30日や90日にずらし、差が大きくなる区切りがあるかを見る。別の基準日でも、その差が保たれるかを確かめる
  • RFM以外の軸を足す:初回に買った商品、獲得したチャネル、クーポンの利用の有無などで分ける
  • セグメントで対象を選ぶのをやめ、施策ごとに効果を測る:案内を送る群と送らない群に分けて比べ、効果のあった顧客の条件から対象を決める

ClaudeでRFM分析をする方法

ここまでの集計を表計算のソフトで行うには、注文のデータを顧客ごとにまとめ、基準日を変えながら計算し直す必要があります。

注文のデータをClaudeから参照できるようにしておけば、セグメントの作成から、別の基準日での確認、毎月の更新までを日本語の指示で進められます。

必要なデータと、つなぎ方

使うのは、注文のデータ(注文ID、顧客ID、注文日時、金額、返金・キャンセルの状況)です。商品別に見る場合は、注文の明細も使います。

Shopifyのデータをつなぐ方法は2つあります。

  • Shopify公式のコネクタで直接つなぐ:顧客の注文回数や購入金額を確認できる。少ない顧客や短い期間の確認に向いている
  • BigQueryに集めてつなぐ:全顧客の注文の履歴を、基準日を変えながら集計できる。過去の基準日での確認や、広告・モールのデータとの組み合わせに向いている

RFM分析では、基準日を変えて集計し直すことが多いため、BigQueryに集めてつなぐ方法が扱いやすくなります。

それぞれの接続の手順は「ClaudeでShopifyの売上を分析する方法|公式コネクタとBigQuery連携(別タブで開く)」で、BigQueryをClaudeにつなぐ手順は「ClaudeとBigQueryを連携する方法|MCPの接続手順と分析例(別タブで開く)」で解説しています。

集計の決めごとを前提として渡す

基準日、対象の注文、金額、セグメントの条件は、Claudeに毎回伝えなくてもよいように、ファイルにまとめておきます。

Claudeの「プロジェクト(別タブで開く)」にこのファイルを入れておけば、プロジェクト内のどのチャットでも同じ決めごとで集計できます。

前提の例
・基準日は、特に指定がなければ前月の末日。日付は日本時間で数える
・全額を返金した注文と、キャンセルした注文は除く。一部だけ返金した注文は残す
・金額は商品小計(クーポン値引き前・税と送料を除く)
・R=基準日から最後の注文日までの日数、F=基準日までの注文の回数、M=基準日までの金額の合計
・セグメントは、優良(F 3回以上・R 90日以内)、安定(F 2回・R 90日以内)、新規(F 1回・R 60日以内)、2回目待ち(F 1回・R 61〜150日)、離反しかけ(F 2回以上・R 91〜150日)、休眠(R 151日以上)
・顧客は顧客IDで扱い、氏名やメールアドレスは出力しない

プロンプト例

閾値を決める段階、セグメントを作る段階、施策を決める段階、確かめる段階に分けて依頼します。

プロンプト例
2回目以降の注文について、前の注文から何日後だったかの分布を出してください。中央値・75%点・90%点と、購入回数ごとの顧客の人数も示してください。RとFの閾値の候補を、理由とあわせて提案してください。

プロンプト例
前提のセグメントの条件で、2026年4月30日時点の顧客を分けてください。RとFの組み合わせごとの人数の表と、セグメント別の人数・構成比・過去12か月の売上・売上構成比・1人あたりの売上を出してください。

プロンプト例
セグメント別に、人数・売上構成比・最後の購入からの日数の中央値・購入回数の平均・1注文あたりの金額と、売上の多い商品カテゴリの上位2つを表にしてください。それぞれのセグメントに合う施策の候補も、理由とあわせて挙げてください。

プロンプト例
3か月前の月末を基準日に、その日までの注文だけでセグメントを作ってください。翌日から90日に1回以上注文した顧客の割合と、1人あたりの購入額(買わなかった人は0円)をセグメント別に比べてください。基準日を1か月前にずらした場合も同じように集計し、順位が保たれているかを確かめてください。

プロンプト例
「2回目待ち」でトライアルセットを買った顧客のうち、先月、本品への案内を送った群と、無作為に分けて送らなかった群で、送った日から30日以内の購入率と購入額を比べてください。

セグメントが決まったら、毎月の確認も依頼できます。

プロンプト例
前月の末日を基準日に、セグメント別の人数と、前の月からの移り変わり(どのセグメントからどのセグメントに移ったか)の表を出してください。「新規」から「2回目待ち」に移った人数が前の月より増えていれば、初回に買った商品別に内訳を出してください。

RFM分析の注意点

購入の周期が違う商品は、Rの閾値を分ける

化粧水のように1〜2か月で使い切る商品と、年に1回買う季節の商品では、「最近買っていない」の意味が違います。

1つの閾値ですべての顧客を分けると、周期の長い商品の顧客が「離反しかけ」や「休眠」に入りやすくなります。商品のカテゴリごとに購入の間隔を出し、周期が大きく違う場合は、カテゴリごとに閾値を分けます。

返品・キャンセルの扱いを決めておく

取り消された注文を数えると、FとMが実際より大きくなります。全額の返金とキャンセルは除き、一部の返金は残すか金額から引くかを決めておきます。

Shopifyの返金は注文の単位で記録されるため、どの商品が返品されたかまで扱う場合は、返金の明細も確認します。

1回だけの顧客が多い場合は、Fより「2回目」を見る

この例のように、顧客の大半が1回だけの購入であれば、Fで細かく分けても差は付きません。

その場合は、1回だけの顧客をRで「新規」と「2回目待ち」に分け、2回目につなげる施策に集中するほうが、打ち手を決めやすくなります。初回に買った商品別に、2回目に進んだ割合(F2転換率)を比べる方法は「ClaudeでShopifyの売上を分析する方法(別タブで開く)」で紹介しています。

データの期間が短いと、FとMが小さく出る

FとMは、取り込んだデータの期間の中でしか数えられません。この例のデータは2025年5月からのため、それより前の購入は数えられていません。過去の基準日でセグメントを作って確かめる場合は、基準日が前になるほど数えられる期間が短くなります。

分析の前に、注文のデータがいつから入っているかを確かめておきます。

セグメントを細かくしすぎない

R・F・Mをそれぞれ5段階にすると、組み合わせは125通りになります。セグメントが細かいほど1つあたりの人数が少なくなり、差が偶然かどうかを判断しにくくなるうえ、案内も作り分けられません。

まずは、施策を変えたい単位で5〜6個にまとめます。この例でも、優良は157人と少なく、セグメントの間の数ポイントの差は偶然の範囲のこともあります。

RFMは過去の購入の要約で、将来の価値ではない

RFMは、過去の購入の履歴を要約したものです。粗利の違い、獲得にかけた費用、これから先にどれだけ買うかは含まれていません。

顧客にどれだけ投資するかを判断するには、将来の購入まで見込んだLTV(顧客生涯価値)を使います。RFMのセグメントごとにLTVを出せば、「優良の顧客を1人増やすと、どれだけの価値になるか」を広告やCRMの予算と比べられます。

LTVの計算と予測の方法は「LTVの計算方法|サブスクで使える3つの式とClaudeで予測する手順(別タブで開く)」で解説しています。

当社が支援したGOOPASS株式会社様では、顧客・購買データをBigQueryで統合し、LTVの予測モデルと、長期にわたって高い価値をもたらすロイヤルカスタマーの分析を実装しました(LTV予測と重点顧客の特定で、根拠ベースの施策判断ができる状態に(別タブで開く))。

まとめ

  • RFM分析は、最後の購入からの日数(R)、購入の回数(F)、購入の金額(M)で顧客を分ける方法。注文の履歴だけで始められる
  • やり方は、基準日と対象の注文を決め、R・F・Mを計算し、スコアの切り方を決め、セグメントを作って名前を付け、セグメントごとの中身を見て施策を決める
  • 1回だけの顧客が多いECでは、分位よりも、購入の間隔に合わせた閾値で切るほうが分けやすい
  • セグメントは、過去の基準日で作ってその後の購入を分けているかを確かめ、施策の効果は、施策をした群としなかった群で比べる
  • 注文のデータをClaudeから参照できるようにすれば、閾値の検討からセグメントの作成、効果の確認、毎月の更新までを日本語の指示で行える

ただし、Shopifyの注文のデータだけでは、どの広告やチャネルで獲得した顧客が優良に育っているかまでは評価できません。広告・GA4・モールのデータと顧客の単位でつなぐには、データ基盤の設計が必要です。

株式会社INVOXは、データ基盤の構築、データ分析の支援、AIエージェントの開発を行っています。ShopifyなどのECのデータと広告・GA4のデータを統合し、RFMのセグメントやLTVをClaudeやChatGPTで分析できる環境の構築も支援しています。

支援の内容は「マーケティング分析(別タブで開く)」で、産直ECのデータの定義を全社でそろえた事例は「エンジニアに頼まずに、誰もが自分でデータを引き出せる状態に(別タブで開く)」で紹介しています。

「RFM分析をしているが、施策につながっていない」「作ったセグメントが本当に次の購入を分けているか確かめたい」といった課題をお持ちでしたら、お問い合わせください。

CONTACT

「事業成長に繋がるデータ活用」ならINVOXへ

相談する

何から手を付ければいいか分からない段階でも構いません。現状を伺い、次にやるべきことをお伝えします。

お問い合わせ

資料ダウンロード

サービスごとに、提供内容・支援実績・進め方と費用の目安をまとめています。社内での検討や共有にお使いください。

資料ダウンロード