BBonafanBETA

購入履歴でファンと転売目的を見分ける|スコア設計

公開:

抽選販売にすると、当選者を選ぶ基準を自分で決められます。完全に運任せにするのか、買い続けてくれた人を少し優遇するのか。後者を選ぶなら「誰が本物のファンか」を数字にする必要があります。この記事では、ストアが手元に持っているデータだけでそれをやる方法を説明します。

応募の時点では、ほとんど何も分からない

応募フォームに並ぶのはメールアドレスと名前、せいぜい住所です。この3つから転売目的かどうかを当てようとすると、ほぼ外します。

一方で、過去に自店で買った履歴は偽装できません。応募の瞬間に作れるものではないからです。見分けの土台をここに置くのが、いちばん外しにくい方法です。

「見分ける」といっても、目的は応募を弾くことではありません。限られた在庫を配るときの優先順位を決めることです。この違いは後の「誤判定の代償」で効いてきます。

購入履歴から取る指標は3つでいい

指標を増やすほど良くなるわけではありません。説明できない基準は、応募者から見ると不透明なだけです。実用的には次の3つで足ります。

指標何を表すか単体で使うと
購入回数継続して買っているか小額の注文を刻めば上がる
累計購入金額どれだけ支えているか高額商品1点で追いつける
定価購入回数値引きを待たずに買うかセール中心のストアでは差がつかない

3つを並べるのは、どれか1つだと必ず抜け道ができるからです。購入回数だけなら注文を分割すれば上がります。金額だけなら1回の高額注文で追いつけます。定価購入回数を混ぜると、「セールのときだけ来る人」と「定価でも買う人」が分かれます。

期間をどこまで遡るか

直近1〜2か月で十分です。それより古い履歴は、いま応援しているかどうかの指標としては弱くなります。Bonafan はインストール時に直近60日の支払済み注文を集計して初期値にし、そのあとは注文が確定するたびに加算します。

スコアの式は公開できる形にする

重み付けの式を隠すと、応募者からは「何か操作されている」ように見えます。公開しても抜け道にならない式にしておくのが安全です。Bonafan の既定値は次の形です。

例えば、定価で3回・合計45,000円買っている人は 3×2 + 3×3 + 4 = 19 になります。セールで2回・合計8,000円の人は 2×2 + 0 + 0 = 4 です。

この式は公開しても問題ありません。スコアを上げる唯一の方法が「定価で買う」ことだからです。抜け道が売上になる行動と一致しているときだけ、式は公開できます。

キャンセルと返金は加算分を差し引きます。これがないと、注文して後から返金を受ける操作でスコアだけ積み上げられます。

スコアを当選確率に変える

スコアができても、それを当選の基準にそのまま使うと別の問題が起きます。上位から順に当選させると、新しいお客さまは永久に買えません。抽選ではなく選別になってしまいます。

当選枠を2つに分けるのが実務的です。

  1. 純抽選枠: 実績を問わず一様な確率で先に決める枠。新規の応募者にも必ず勝機が残る
  2. 実績重み付け枠: スコアに応じて当たりやすさを変える枠

重み付け枠の計算は「重み = 1 + 0.2 × スコア」のような単純な比例で足ります。この係数だと、スコア20の人はスコア0の人の約5倍当たりやすくなります。5倍は、常連が納得でき、かつ新規が諦めない水準です。

スコア重みスコア0との比
01.01.0倍
52.02.0倍
103.03.0倍
205.05.0倍

重要なのは、スコア0でも重みが 1.0 であって 0 ではないことです。ゼロにすると、その人は応募しても当たりません。初めて来たお客さまがそれを察すると、次の抽選には応募しません。

誤判定は「見逃し」より「誤って弾くこと」が痛い

見分けには必ず誤差が出ます。どちらの誤りを許すかを先に決めておきます。

後者のほうが取り返しがつきません。だから基準は「疑わしい人を落とす」ではなく「支えてくれた人を少し上げる」に寄せます。純抽選枠を残すのも同じ理由です。

初回は重み付けを弱めから始めて、結果を見て上げるのが安全です。強くしすぎたときの副作用(新規の応募が減る)は、数字に出るまで1〜2回かかります。

購入履歴の外側を足すときの注意

SNS のフォローやコミュニティでの活動をスコアに入れたくなりますが、購入履歴とは性質が違います。

足すなら、購入履歴のスコアを主とし、外部のシグナルは補助にとどめるのが無難です。応募のハードルを上げた分だけ、応募総数は必ず減ります。

確度が高いときだけ、除外する

明らかな事例(同一人物による大量応募、過去に転売が確認できた注文)には、除外リストを使います。運用で効くのは、除外を「入口」ではなく「抽選時」に置くことです。

応募の時点でエラーを返すと、相手はどの条件で弾かれたかを学習して次の応募を変えてきます。応募は受け付けて、抽選の母集団から静かに外せば、手がかりを渡さずに済みます。

導入の順番

  1. 1回目は重み付けなし(完全な運任せ)で走らせ、応募数と当選者の顔ぶれを記録する
  2. 購入履歴からスコアを作り、1回目の応募者に当てて分布を見る(極端に偏っていないか)
  3. 2回目から、純抽選枠を残したまま弱い重み付けを入れる
  4. 3回目以降、常連の当選率と新規の当選率を並べて係数を調整する

見るべき数字は「常連の当選率」単体ではなく、常連と新規の当選率の差です。差が開きすぎると新規が応募をやめ、母集団そのものが縮みます。

Bonafan は購入履歴からこのスコアを自動で作り、抽選のときに純抽選枠と重み付け枠へ振り分けます。

インストール手順を見る

よくある質問

スコアの計算式を応募者に公開しても大丈夫ですか?
公開を前提に式を作れば問題ありません。スコアを上げる方法が「定価で買う」だけなら、抜け道がそのまま売上になります。逆に、公開できない式は応募者から見て不透明で、公正さを説明できなくなります。
新規のお客さまはどうやって当選できますか?
実績を問わない純抽選枠を先に確定させます。加えて重み付け枠でも、スコア0の重みは 1.0 でありゼロにはしません。初回の応募でも当たる余地を必ず残します。
過去の購入履歴がないストアでも使えますか?
1回目は実績なしの抽選として走らせ、その回の購入がそのままスコアの元になります。2回目から重み付けを入れられます。
高額商品を1点だけ買った人が有利になりませんか?
金額だけで判断するとそうなります。購入回数と定価購入回数を併せて見ることで、単発の高額注文だけでは上位に届かないようにします。
キャンセルや返金はスコアにどう影響しますか?
加算した分を差し引きます。注文してから返金を受け、スコアだけ残す操作を防ぐためです。

← 記事一覧に戻る