こんにちは。バナナデスクです。
同じ購入履歴から「リピート率33.3%」と「50%」が出てきたら、どちらかが計算を間違えたのでしょうか。実は、何を数えたかが違うだけの場合があります。
今期中に2回買った人を数えるのか。以前の購入も含め、今期買った人のうちリピーターだった人を数えるのか。分母が同じでも、分子の条件が違えば数字は変わります。
先に式だけを覚えるより、誰を、いつからいつまで、どんな再購入として数えるかを決めましょう。この記事では架空の12件の購入履歴を使って、三つの見方を計算します。業種の平均や目標値を示すものではありません。
リピート率を、条件の分かる名前にする
基本となる形は「再購入した顧客数 ÷ 対象顧客数 × 100」です。ただし、対象顧客と再購入の条件が定義されていなければ、比較には使えません。
Shopifyのリピート顧客の解説にも、複数回購入した顧客数を顧客総数で割る考え方が示されています。以下では、その基本式を使いながら、期間内の状態を見る集計と、初回購入者を追う集計を明確に分けます。
| 確認したいこと | この記事での定義 |
|---|---|
| 今期の顧客が今期中に何度も買ったか | 期間内に2回以上購入した人数 ÷ 期間内に購入した人数 |
| 今期の顧客に既存客がどれだけいたか | 期間内に2回目以降の購入をした人数 ÷ 期間内に購入した人数 |
| 初回購入後に戻ってきたか | 対象の初回購入者のうち、決めた観察期間内に再購入した人数 ÷ 対象の初回購入者数 |
二つ目を「リピーター比率」、三つ目を「初回購入者の90日以内再購入率」のように呼べば、曖昧な「リピート率」だけを並べずに済みます。社内や利用ツールに別の定義がある場合は、名前より定義を優先して照合してください。

架空の購入履歴を、顧客IDでまとめる
次の12件は、説明用に作った架空の履歴です。集計用データは2025年12月から2026年6月30日まで欠けずに揃っていると仮定し、表にない追加購入はないものとします。キャンセル・全額返金は除外した有効購入だけを載せています。
| 顧客ID | 購入日 | 顧客ID | 購入日 |
|---|---|---|---|
| A | 2025年12月20日 | D | 2026年2月1日 |
| A | 2026年1月10日 | E | 2025年12月25日 |
| A | 2026年3月15日 | E | 2026年3月10日 |
| B | 2026年1月5日 | F | 2026年3月20日 |
| B | 2026年2月5日 | F | 2026年4月20日 |
| C | 2026年1月20日 | C | 2026年4月1日 |
注文は12件ですが、顧客はA〜Fの6人です。同じ人が3回買っても、再購入した顧客の人数では1人と数えます。メールアドレスの表記揺れや、同じ人の複数アカウントがあると、この人数自体がずれるため、先に顧客IDの扱いを揃えます。
計算例1:1〜3月の購入者を集計する
対象期間を2026年1月1日〜3月31日とします。この期間の購入は8件、購入者は6人です。期間内の購入回数と、それより前の履歴を分けて集計します。
| 顧客 | 期間内の購入回数 | 期間内に2回以上 | 期間内に2回目以降の購入あり |
|---|---|---|---|
| A | 2 | 該当 | 該当 |
| B | 2 | 該当 | 該当 |
| C | 1 | 非該当 | 非該当 |
| D | 1 | 非該当 | 非該当 |
| E | 1 | 非該当 | 該当 |
| F | 1 | 非該当 | 非該当 |
期間内に2回以上買ったのはA・Bの2人です。したがって、2人 ÷ 6人 × 100 = 約33.3%。一方、期間内に2回目以降の購入をした人は、昨年12月の購入があるEも含めて3人なので、3人 ÷ 6人 × 100 = 50.0%です。
「既存客が戻ってきたか」を見たいのに、期間内の回数だけでEを除くと、見たい行動を落としてしまいます。過去の購入履歴が取得できない場合は、既存客かどうかの判定に限界があると記録してください。
計算例2:1月に初めて買った人を90日追う
次は2026年1月が初回購入だったB・Cの2人を対象にします。ここでの再購入条件は、初回購入日の翌日から数えて90日目までに、別の有効購入が一件以上あることです。同日に注文を分割しただけの購入は、今回の定義では再購入に含めません。
| 顧客 | 初回 | 次の購入 | 経過日数 | 90日以内 |
|---|---|---|---|---|
| B | 1月5日 | 2月5日 | 31日 | 該当 |
| C | 1月20日 | 4月1日 | 71日 | 該当 |
2人とも再購入したので、2人 ÷ 2人 × 100 = 100%です。先ほどの1〜3月集計では、Cの4月の購入は範囲外でした。初回から90日を追う集計では含まれます。この違いは、計算ミスではなく観察の設計の違いです。
集計日が2月末なら、Cは90日を経過していません。まだ買っていないからといって「90日以内に戻らなかった人」として確定させるのは早すぎます。90日分を観察できた顧客群を比べるか、未経過者を別に表示します。
自分のデータで再計算する手順
- 顧客ID・注文ID・購入日・有効購入かどうかを揃える。
- 期間と再購入の定義を表の上に書く。無料申込・定期更新・返金をどう扱うかも決める。
- 注文単位の履歴を、顧客単位へ集約する。最初の購入日と対象期間内の回数を確認する。
- 条件に該当する人数と対象人数を別々に数える。
- 分子÷分母×100で計算し、率の横に「2人/6人」のように人数を残す。
対象顧客が0人なら率は計算できません。0%と表示すると、顧客はいたが誰も再購入しなかった場合と混ざります。表には「対象者なし」と記します。
見本は下のZIPを展開し、中のHTMLファイルをブラウザで開いて使えます。人数の計算は端末内で行われ、外部へ送信されません。実顧客の情報を入力する必要はありません。
数字が高くても、すぐに施策の成果とは言わない
この例の100%は、わずか2人の数字です。全顧客の傾向や施策の効果を示したものではありません。新規客が少なくなって既存客の割合が上がった場合にも、率だけは良く見えます。
比較する時は、同じ商品、同じ観察期間、同じ有効購入の条件で、対象人数と率を一緒に見ます。単発相談と毎月更新のサービスでは、再購入する機会そのものが違います。数字を同じ欄に並べる前に、その違いを揃えるか分けてください。
自分の表で最初に確認するのは、「リピート率」という見出しの下に、期間と再購入条件が書かれているかです。計算結果より先に、この二行を揃えるだけでも、次の判断で数字を取り違えにくくなります。