スマホアプリ
2025.02.20
簡易抽選機能付きアプリ改修事例|API・CMS活用でユーザーエンゲージメント向上
プロジェクト概要
本プロジェクトでは、簡易抽選機能を備えたアプリケーション改修を実施しました。利用者は毎日1回ルーレット形式の抽選にチャレンジでき、当選した場合には特定のポイントやクーポンバリューが付与されます。抽選に関する詳細設定はCMS(コンテンツ管理システム)から自由に管理可能で、当選確率、当選本数、特典の種類、画像や期間の設定が柔軟に行えます。
システムでは、クライアント側からAPIを呼び出して抽選処理を実行。抽選結果に応じて適切なレスポンスを即座に返却します。データベースには抽選の企画情報と履歴を管理し、当選確率や特典配布状況などをリアルタイムで確認できる仕組みを構築しました。また、期間の重複を防ぐトリガーを設けることで、抽選の企画が意図せず重複しないように配慮しています。
全体の流れ

機能について
抽選企画情報取得API
このAPIは、アプリケーションの抽選画面表示時に抽選情報を取得するために使用されます。クライアントがリクエストを送信すると、システムは抽選企画の有効期間や企画内容、当選確率、特典の画像などを取得し、画面に表示するための情報を返します。バリデーションに失敗した場合にはエラーをログに記録し、安全のためトークン情報はマスクされます。
抽選ルーレットポイント配布API
利用者がルーレットを回すタイミングでAPIが呼び出され、抽選が行われます。抽選結果に応じて、ポイント付与処理をSOAP通信経由で外部サービスと連携し実行します。当選本数が既に満了している場合や抽選が終了している場合には、ユーザーに適切なメッセージを返します。抽選処理はトランザクションで厳密に管理されており、万が一ポイントの付与処理に失敗した場合にはトランザクションがロールバックされ、データの整合性を担保しています。
管理画面
抽選機能の運営をサポートするために、専用の管理画面を提供しています。管理者は、抽選企画タイトル、表示期間、当選確率、特典画像、配布ポイント数などの設定を柔軟に変更できます。また、開催中および終了後の企画に対しては編集制限を設けることにより、運用中の設定変更による混乱を防いでいます。
また、管理画面からは当選本数のリアルタイム表示が可能で、現在の企画状況を即座に把握できます。これにより、迅速かつ適切な企画運営が実現されています。
技術的工夫
本プロジェクトでは、抽選データの正確性を保つためにデータベース側に特殊なトリガーを設けました。具体的には、抽選期間の重複チェックトリガーを作成し、新規の抽選企画を挿入・更新する際に他の企画期間との重複が検出されるとエラーを返すようにしています。これによりデータベースの一貫性が保たれています。
抽選の正確性を保つため、全体の抽選処理はトランザクション管理を徹底しています。ポイント付与処理などの外部通信が失敗した場合でもデータベースの整合性を保つため、即座にロールバックを行っています。
確率の工夫
当選確率の明確化
それぞれの当選区分ごとに明確に範囲を設定し、各当選確率が視覚的にも分かりやすく整理されています。
万分率の活用
少数点以下の確率を正確に扱うため、万分率(10,000を基準)を用いて、精密な確率管理を行っています。これにより、当選率の誤差やバラつきを抑え、理論値と実際の抽選結果のズレを最小限にしています。
当選本数が途中で変更になった場合の対応
No.2の当選枠がなくなった場合も、当選確率を適切に再分配し、全体の当選率を変えずに運営できるロジックになっています。
導入効果
本抽選機能の導入により、アプリ利用者のエンゲージメントが向上しました。毎日の抽選参加を促進し、ポイントやクーポンを通じて顧客満足度を向上させることに成功しました。また、管理画面の充実により企画運営の効率化も実現。リアルタイムでの企画状況の把握と設定変更が容易になり、運用負担が軽減されました。
まとめ
今回のアプリケーション改修における簡易抽選機能の導入は、顧客エンゲージメントの強化と運営効率化を両立させるものでした。APIを活用した迅速で正確な抽選処理、データベースのトランザクション管理、管理画面の柔軟な設計を通じて、安全性と使いやすさを兼ね備えたシステムを提供しました。
今後は、ユーザーのフィードバックを元に機能拡張やさらなるUX改善を進め、継続的なアプリの価値向上を目指します。