# プロジェクト概要
400万MAUのC向けWEBサービスの利用者拡大と購買データの蓄積およびCRMを目的とした、事前決済機能の新規構築と、その後の保守運用およびエンハンス。
企画から開発の上流~下流までリーダーとして携わり、C向けB向けの両方の課題解決のために開発を行いました。
## 背景と課題
弊サービスではもともとクーポン機能を提供していましたが、利用数は現地スタッフによる手動カウント&報告ベースで計測しており、正しくコンバージョンを追跡できない状態でした。また、ちょうど同時期に、競合サービスが事前決済機能で事業拡大をしていました。
データ蓄積と活用、競合サービスへの対抗策として、事前決済機能の導入を企画面から提案していきました。
## 担当
- 企画
- PM
- 開発TL
## メンバー
10名
- 企画 兼 PM: 2名(私)
- デザインチーム: 2名(アウトソース)
- デザイナー 兼 ディレクター: 1名
- フロントマークアップ: 1名
- エンジニア: 3~5名(アウトソース)
- 営業 兼 カスタマーサクセス: 2名
---
# 使用技術・ツール
- 調査・企画
- Google Analytics, Google Search Console, DemandMetrics, Keywordmap, Confluence, Figma
- プロジェクト管理
- JIRA, GitHub Projects
- 開発
- バックエンド:Java, Spring Boot, Spring Security, Struts, Apache, Tomcat, Node.js
- フロントエンド:Thymeleaf, JSP, Velocity, EJS, HTML5, SCSS, jQuery
- インフラ:AWS(Route53, VPC, ALB, ECR, ECS, Aurora MySQL, S3, Lambda, API Gateway, Kinesis, CloudFront, CloudWatch, 他)
- データ: Treasure Data, Sentry(Self-host), Redash
---
# 取り組み
企画、要件定義、基本設計、詳細設計、開発マネジメント、実装、データ分析を担当しました。
## 企画、要件定義
- 別の企画メンバーとともに施策立案。
- SWOT分析
- STP分析
- 損益分岐点試算
- 経営層提案/交渉
- 要件定義
- 複数の決済代行サービスを比較検討し選定。
- 競合サービスを分析し、C向けのUXとワイヤーの提案。
- 営業・CSと相談し、B向け管理画面に必要な機能の洗い出し・優先順位付け。
- 経理処理と運用フローを整理。
- 法務確認や利用規約の改定。
## 基本設計、詳細設計
### 初期リリース
- 機能概要:店舗ごとに複数のeチケットを販売でき、購入したeチケットはマイページから利用・キャンセルできる機能
- バックエンド:トークン認証、クリーンアーキテクチャ、決済代行システムとの連携、レガシーシステムとの連携、伝票検索
- フロントエンド
- C向け:店舗一覧・詳細、eチケット一覧・詳細、購入画面、購入完了画面、マイページ(未利用・利用済み・キャンセル済み・期限切れ)
- B向け:eチケット登録画面・編集画面、eチケット一覧・詳細、売上ダッシュボード、伝票検索
- インフラ:決済管理DBスキーマ、トランザクション、デプロイパイプライン、エラー監視・通知
### エンハンス:ASP機能
- 機能概要:店舗公式サイトからのみ遷移できる店舗専用販売ページを提供
- バックエンド:販売手数料の振り分け
- フロントエンド:導線設計、eチケット一覧・詳細、購入画面、購入完了画面
### エンハンス:予約機能
- 機能概要:特定の日付に対して在庫数を決めてeチケットを販売し、購入したeチケットはマイページから利用・キャンセルできる
- バックエンド:在庫管理、前日売り止め、キャンセルポリシー設定
- フロントエンド
- C向け:日付指定予約画面(FullCalendar)
- B向け:在庫登録・編集・削除画面、営業時間・休業日設定画面
- バッチ:予約日リマインダーメール、臨時休業時の一括キャンセル
### エンハンス:外部サイト連携
- 機能概要:大手検索エンジンやニュースサイト向けに、データフィードを提供
- バッチ:ETL設計、導線設計、運用設計
### エンハンス:買取販売機能
- 機能概要:店舗からeチケットをバルクで買い取り、弊サービス側で販売する機能
- バックエンド:有効在庫・実在庫管理、決済の向き先の振り分け
- フロントエンド:買取商品管理画面、買取ロット登録画面、買取商品eチケット紐づけモーダル
- インフラ:買取商品DBスキーマ
### エンハンス:ギフト機能
- 機能概要:ユーザーが購入したeチケットを別のユーザーにプレゼントできる機能
- バックエンド:受取りURL生成、受取り中のロック
- フロントエンド:受取り画面、受取り完了画面
- インフラ:持ち主管理DBスキーマ、受取り管理DBスキーマ
### エンハンス:QR入場機能
- 機能概要:スタッフによる手動もぎりではなく、店舗端末で自動もぎりできる機能
- バックエンド:店舗端末用API(トークン認証、ロック、商品引き当て)
- フロントエンド:QRコード生成
## 開発マネジメント
詳細設計までは社内で行い、コーディングやテストといった開発業務は外注。
進捗管理、技術的な質問の対応、コードレビュー、ドキュメントレビューを行いました。
## 実装、テスト
初期リリース、ASP機能、外部サイト連携など、外注側の遅延があった部分は自ら実装を行いました。
### データ分析
購買データをプロダクトDBからS3→Treasure Dateへインポートし、Redashでダッシュボードを作成してマーケチームに提供しました。
私自身もデータ分析を行い、売上と利益の推移やユーザー属性ごとの購買行動の傾向を整理し、次の施策の提案を行いました。
---
# 成果
- 月あたり3~5万件の購入・利用、これによる売上貢献。
- 購買データの蓄積と活用し、次の大型施策の検討具体化に貢献。
# 工夫した点
- 企画・開発・営業・経営層・決済代行サービス担当者(外部)、店舗端末担当者(外部)と関係者が多いため、SlackチャンネルとConfluenceドキュメントを整備して、情報非対称性が無いように進めました。
- 各方面からやりたいことが無数に発生するため、目的と効果予測に立ち返りながら、優先順位とスコープを調整しながら進めました。
- 決済に関わる機能のため、既存のセキュリティリスクを解消しながら、進めました。
- 設計の段階で上長と認識を密に合わせながら進めることで、手戻りを極限まで減らしました。
- 実装についてバックエンドとフロントエンドを並行して進められるよう、モックデータを用意しながら進めました。
- 営業チームと協力して正式ローンチ前に検証店舗を3店舗用意し、懸念点や考慮漏れを解消できる期間を設けました。