抽選型のサービスを「運営者自身が回せる」状態にするには、何をどう作ればいいのか。
パチンコ・スロットの機種を抽選で表示するサービスの開発を担当した際、いちばん神経を使ったのが、この管理画面の設計でした。抽選の出方やスケジュールを、本部や各ホールの担当者がエンジニアに依頼せず自分で設定できること。ここが成立するかどうかで、サービスが運営側で回り続けるか、開発会社頼みで止まってしまうかが決まると考えていたからです。
この記事では、システム導入前にあった課題と、それをどんな設計・技術で解決したかを、実際の案件をもとに書いていきます。
どんなサービスか
ユーザーが「パチンコ」か「スロット」を選ぶと、抽選画面が表示され、機種がランダムで表示される——という仕組みのサービスです。
機種が当選表示された瞬間にユーザーの位置情報(経度・緯度)を取得し、その機種が実際に打てる近隣の店舗を表示します。座標から都道府県・市区町村まで絞り込み、「その場で行ける店舗」へユーザーを誘導する導線まで作り込みました。
つまり、ただの抽選アプリではなく「抽選 → 来店」までを設計したサービスです。そして、この抽選の”出し方”を全部、運営側がコントロールできるようにしたのが今回のポイントになります。
導入前の課題:抽選の設定を「運営側に任せられない」
抽選型のサービスは、運用が始まると「設定を変えたい場面」が次々に出てきます。
- 平日と週末で当たりの出方を変えたい
- イベント日だけ出現率を上げたい
- 時間帯(昼・夜)で出し方を分けたい
- 店舗・拠点ごとに違うパターンを使いたい
こうした変更を、そのつど開発会社に依頼して直してもらう運用だと、次の問題が起きます。
- 変更のたびにコストと時間がかかる(依頼 → 作業 → 確認のリードタイム)
- 運営のスピードが開発側のリソースに縛られる(やりたいタイミングで動かせない)
- 店舗・拠点が増えるほど破綻する(依頼件数が増え続ける)
要するに、「運営を運営者に任せられない」こと自体が最大のボトルネックでした。ここを解消しないと、サービスとして長く続きません。
解決方法:設定をすべてマスタ化し、管理画面に寄せる
そこで、抽選ロジックそのものは固定したうえで、「どう出すか」のパラメータをすべてマスタ化し、管理画面から運営者が触れる形にしました。
管理画面で設定できるようにしたのは、主に次の項目です。
- 抽選回数:1日1回 / 1日複数回
- 出現率:10%・30%・60% など、パーセンテージで自由に指定
- 適用時間:終日 / 開始時間を指定するタイムスケジュール
- 適用日程:作ったスケジュールを「いつ使うか」を別途登録
- 店舗(ホール)ごとの出し分け:拠点ごとに別パターンを適用
これにより、「平日昼は出現率を低め、週末のイベント時は高めに」といった運用を、運営側だけで完結できるようになりました。開発会社への依頼が要らなくなった、という状態です。
マスタとスケジュールを「分ける」設計にした
ここでの肝が、抽選パターン(マスタ)と、それをいつ使うか(スケジュール)を分離したことです。
- 「出現率30%・1日3回」のような設定をパターン(マスタ)として登録しておく
- そのパターンを、カレンダー上の日程に当てはめるだけで運用できる
こうすることで、同じ設定を何度でも使い回せて、毎回ゼロから設定し直す必要がなくなります。設定ミスも減り、「先週のイベントと同じ出し方」がワンタッチで再現できます。運営担当者が迷わず使えることを最優先に組みました。
データも運営側で見られるように
PV数・UU(ユニークユーザー)数の確認や、計測タグ(測定ID)の付与・登録も管理画面に内包しました。各ホールが自分の数字を自分で確認できる状態にしています。
このサービスの肝:アンケート × ログ → LINEセグメント配信
抽選そのものに加えて、もう一段踏み込んだのが配信の仕組みです。
抽選の前に、ユーザーにアンケート(性別・誕生日・年代・郵便番号など)に答えてもらい、属性情報として保存します。さらに「パチンコとスロット、どちらを抽選したか」といった行動ログも蓄積していきます。
このデータをLINEと連携させ、セグメント配信を実現しました。
狙いはシンプルです。欲しい人に、欲しい情報だけを届ける。 いらない情報まで配信され続けると、ユーザーは離れていきます。だからこそ、貯めた属性とログで配信対象を絞り込み、本当に届けたい層にだけ届く形にしました。「データを集める」で終わらせず、「集めたデータで配信を最適化する」ところまで作り込んだ、という案件です。
使用した技術
- バックエンド:Laravel(PHP)
- インフラ:AWS
- 位置情報:緯度・経度の座標から都道府県・市区町村を判定する処理
- 配信:LINE Messaging API(マルチキャスト等による大量配信+セグメント配信)
大変だったこと:LINEへの「大量送信」の作り込み
いちばん骨が折れたのは、LINE Messaging API での大量送信でした。
少人数に送るのと、数千・数万規模のユーザーへ破綻なく送るのは、まったくの別物です。マルチキャストなど配信系の仕様や制限を調べながら、セグメントごとに大量のユーザーへ確実に届く実装へ作り込んでいきました。
ここは前例をなぞれば終わる作業ではなく、APIの仕様・制約を一つずつ確認しながら設計していく必要があり、時間をかけたところです。結果として、欲しい層に・欲しい情報を・大量配信できる形を実現できました。
工夫したこと
- 運営者が迷わないUI:抽選回数・出現率・時間・日程を「パターン」として組み、それを日程に当てはめるだけで運用できる流れにした
- マスタとスケジュールの分離:設定を使い回せて、運用ミスを減らせる構造にした
- 運営側で数字を見られる設計:PV/UU・計測タグを管理画面に統合し、各ホールが自走できる状態にした
- データを配信に直結:アンケートとログを”貯めるだけ”にせず、LINEセグメント配信まで一気通貫でつないだ
こんな課題をお持ちではないですか
最後に、もしひとつでも当てはまるものがあれば、今回の事例がそのまま参考になるはずです。
- 抽選やキャンペーンの設定を、毎回開発会社に依頼していて、時間もコストもかかっている
- 店舗・拠点ごとに違う出し方をしたいのに、仕組みが追いついていない
- 集めたユーザーデータを**「貯めるだけ」**で、配信や来店促進に活かせていない
- LINE等で配信はしているが、全員に同じ内容を送ってしまっている
これらは、管理画面の設計と、マスタ・スケジュール構造の作り込みで解決できる課題です。「運営を自分たちで回したい」「集めたデータを配信に活かしたい」——そう感じている事業者の方は、お気軽にご相談ください。