抽選販売にすると、当選者を選ぶ基準を自分で決められます。完全に運任せにするのか、買い続けてくれた人を少し優遇するのか。後者を選ぶなら「誰が本物のファンか」を数字にする必要があります。この記事では、ストアが手元に持っているデータだけでそれをやる方法を説明します。
応募の時点では、ほとんど何も分からない
応募フォームに並ぶのはメールアドレスと名前、せいぜい住所です。この3つから転売目的かどうかを当てようとすると、ほぼ外します。
- メールアドレスは無料でいくらでも作れる
- 名前と住所は転売目的でも本人のものを使う(商品が届かないと困るため)
- IP アドレスは同じ家庭・同じ職場・同じ回線でも重なる
一方で、過去に自店で買った履歴は偽装できません。応募の瞬間に作れるものではないからです。見分けの土台をここに置くのが、いちばん外しにくい方法です。
「見分ける」といっても、目的は応募を弾くことではありません。限られた在庫を配るときの優先順位を決めることです。この違いは後の「誤判定の代償」で効いてきます。
購入履歴から取る指標は3つでいい
指標を増やすほど良くなるわけではありません。説明できない基準は、応募者から見ると不透明なだけです。実用的には次の3つで足ります。
| 指標 | 何を表すか | 単体で使うと |
|---|---|---|
| 購入回数 | 継続して買っているか | 小額の注文を刻めば上がる |
| 累計購入金額 | どれだけ支えているか | 高額商品1点で追いつける |
| 定価購入回数 | 値引きを待たずに買うか | セール中心のストアでは差がつかない |
3つを並べるのは、どれか1つだと必ず抜け道ができるからです。購入回数だけなら注文を分割すれば上がります。金額だけなら1回の高額注文で追いつけます。定価購入回数を混ぜると、「セールのときだけ来る人」と「定価でも買う人」が分かれます。
期間をどこまで遡るか
直近1〜2か月で十分です。それより古い履歴は、いま応援しているかどうかの指標としては弱くなります。Bonafan はインストール時に直近60日の支払済み注文を集計して初期値にし、そのあとは注文が確定するたびに加算します。
スコアの式は公開できる形にする
重み付けの式を隠すと、応募者からは「何か操作されている」ように見えます。公開しても抜け道にならない式にしておくのが安全です。Bonafan の既定値は次の形です。
- 購入回数 × 2
- 定価購入回数 × 3
- 累計購入金額 ÷ 10,000(端数切り捨て)
例えば、定価で3回・合計45,000円買っている人は 3×2 + 3×3 + 4 = 19 になります。セールで2回・合計8,000円の人は 2×2 + 0 + 0 = 4 です。
この式は公開しても問題ありません。スコアを上げる唯一の方法が「定価で買う」ことだからです。抜け道が売上になる行動と一致しているときだけ、式は公開できます。
キャンセルと返金は加算分を差し引きます。これがないと、注文して後から返金を受ける操作でスコアだけ積み上げられます。
スコアを当選確率に変える
スコアができても、それを当選の基準にそのまま使うと別の問題が起きます。上位から順に当選させると、新しいお客さまは永久に買えません。抽選ではなく選別になってしまいます。
当選枠を2つに分けるのが実務的です。
- 純抽選枠: 実績を問わず一様な確率で先に決める枠。新規の応募者にも必ず勝機が残る
- 実績重み付け枠: スコアに応じて当たりやすさを変える枠
重み付け枠の計算は「重み = 1 + 0.2 × スコア」のような単純な比例で足ります。この係数だと、スコア20の人はスコア0の人の約5倍当たりやすくなります。5倍は、常連が納得でき、かつ新規が諦めない水準です。
| スコア | 重み | スコア0との比 |
|---|---|---|
| 0 | 1.0 | 1.0倍 |
| 5 | 2.0 | 2.0倍 |
| 10 | 3.0 | 3.0倍 |
| 20 | 5.0 | 5.0倍 |
重要なのは、スコア0でも重みが 1.0 であって 0 ではないことです。ゼロにすると、その人は応募しても当たりません。初めて来たお客さまがそれを察すると、次の抽選には応募しません。
誤判定は「見逃し」より「誤って弾くこと」が痛い
見分けには必ず誤差が出ます。どちらの誤りを許すかを先に決めておきます。
- 転売目的の応募を1件通した場合: 在庫1点が二次流通に回る
- 本物のファンを1人外した場合: 理由が分からないまま離れ、戻ってこない可能性がある
後者のほうが取り返しがつきません。だから基準は「疑わしい人を落とす」ではなく「支えてくれた人を少し上げる」に寄せます。純抽選枠を残すのも同じ理由です。
初回は重み付けを弱めから始めて、結果を見て上げるのが安全です。強くしすぎたときの副作用(新規の応募が減る)は、数字に出るまで1〜2回かかります。
購入履歴の外側を足すときの注意
SNS のフォローやコミュニティでの活動をスコアに入れたくなりますが、購入履歴とは性質が違います。
- 本人と紐づけるために、応募者へ追加の連携をお願いすることになる(応募のハードルが上がる)
- 取得する情報と利用目的をプライバシーポリシーに書く必要がある
- フォロー数やコメント数は、購入履歴と違って短期間で作れる
足すなら、購入履歴のスコアを主とし、外部のシグナルは補助にとどめるのが無難です。応募のハードルを上げた分だけ、応募総数は必ず減ります。
確度が高いときだけ、除外する
明らかな事例(同一人物による大量応募、過去に転売が確認できた注文)には、除外リストを使います。運用で効くのは、除外を「入口」ではなく「抽選時」に置くことです。
応募の時点でエラーを返すと、相手はどの条件で弾かれたかを学習して次の応募を変えてきます。応募は受け付けて、抽選の母集団から静かに外せば、手がかりを渡さずに済みます。
導入の順番
- 1回目は重み付けなし(完全な運任せ)で走らせ、応募数と当選者の顔ぶれを記録する
- 購入履歴からスコアを作り、1回目の応募者に当てて分布を見る(極端に偏っていないか)
- 2回目から、純抽選枠を残したまま弱い重み付けを入れる
- 3回目以降、常連の当選率と新規の当選率を並べて係数を調整する
見るべき数字は「常連の当選率」単体ではなく、常連と新規の当選率の差です。差が開きすぎると新規が応募をやめ、母集団そのものが縮みます。
- 抽選販売の決め方 — 当選者数・応募期間・支払期限
- EC の転売対策4手段を比較 — スコア以外の選択肢
- Bonafan の使い方ガイド — 重み付けと純抽選枠の設定箇所
Bonafan は購入履歴からこのスコアを自動で作り、抽選のときに純抽選枠と重み付け枠へ振り分けます。