収益化方針(ユーザー体験重視)
現行運用メモ:
- 現在のアプリではランキング画面を全ユーザーに無料開放し、購入導線は停止している
- 本資料の有料化案は将来再開時の検討材料として保持する
目的
- ユーザーの快適さを損なわずに、運用コストを継続的に回収する。
- バナー広告依存を下げ、広告 + 有料プランの複合モデルへ段階的に移行する。
基本方針
- 基本機能は無料で使える状態を維持する。
- 入力中・編集中の導線に広告を差し込まない。
- 有料化は、ユーザーが価値を感じやすい「ランキング/成績閲覧価値」を中心に行う。
- 一気に変更せず、段階導入で指標を見ながら調整する。
無料/有料の機能分離案(確定方針)
無料プラン(継続提供)
- チーム作成、ログイン
- 予定作成(練習/試合)
- 出欠入力
- 試合結果入力(基本項目)
- ランキング画面のうち「チーム成績」は閲覧可能(従来どおり)
- チーム成績内に「今月のMVP(1〜3位)」を表示
- チーム内共有の基本機能
有料プラン(保護者向けランキング)
- 部門別ランキング(打撃/投手/守備/走塁)
- 個人成績の詳細閲覧
- 過去を含めた通算成績の閲覧
- 月額300円(税込想定)
アドオン(任意課金)
- 将来拡張:大会期間だけ使える短期分析パック(30日)
- 将来拡張:広告非表示オプション
ランキング有料化モデル(MVP)
想定ペルソナ
- 選手(子ども)の成長を継続的に見たい保護者
- 試合後に打撃/通算成績を定期確認する利用者
価格仮説
- 月額300円
- 1チームで3人が課金した場合、900円/月
MVPで提供する価値
- 部門別ランキング/個人成績の閲覧解放
- 過去を含めた通算成績
- 「我が子の推移が分かる」体験
無料で残す理由(プロダクト価値の維持)
- 試合データを入力すると、チーム成績と今月のMVPに反映される。
- 無料ユーザーでも「入力する意味」を感じられる。
- 有料ユーザーはさらに深い個人成績まで見られるため、課金動機が明確。
「今月のMVP」仕様(初版)
- 対象: 当月の試合データ
- 表示: 1〜3位の選手(名前 + スコア)
- 評価軸: 打撃成績、投手成績、守備成績、走塁成績を合算
- 採点: TeamBase独自の重み付け(管理画面 or 定数で運用)
- 備考: MVPは無料表示、詳細内訳(各指標の点数)は有料側の拡張候補
MVP採点ロジック(推奨方式)
推奨方式: 正規化 + 重み付け合算
- 各指標を 0〜100 点に正規化してから合算する。
- スケールの違う指標(安打数、打率、失点率など)を同一土俵で比較できる。
- 重みを変更するだけで、チーム方針に合わせて調整しやすい。
スコア式(v1)
- 総合スコア = 0.40 × 打撃スコア + 0.25 × 投手スコア + 0.20 × 守備スコア + 0.15 × 走塁スコア
各カテゴリ内の内訳(v1)
- 打撃スコア(40点配分)
- 打率(AVG): 40%
- 出塁寄与(H+BB+HBP): 30%
- 長打/打点寄与(HR+RBI): 20%
- 三振率の低さ(SO/PAの逆指標): 10%
- 投手スコア(25点配分)
- 防御率の低さ(ERAの逆指標): 45%
- 奪三振率(K/Outs): 30%
- 与四球率の低さ(BB/Outsの逆指標): 25%
- 守備スコア(20点配分)
- 刺殺(PO): 55%
- 補殺(A): 45%
- 走塁スコア(15点配分)
- 盗塁(SB): 70%
- 盗塁死の少なさ(CSの逆指標): 30%
正規化ルール(実装簡易版)
- 基本: min-max正規化
- score = 100 × (x - min) / (max - min)
- 逆指標(低いほど良い)
- score = 100 × (max - x) / (max - min)
- 同値(max == min)の場合は 50 点固定
不公平を減らすための下限条件
- 打者系の率指標は AB >= 5 のとき有効(未満は補正)
- 投手系の率指標は Outs >= 3 のとき有効(未満は補正)
- 試合出場が極端に少ない選手は「参考値」扱い(順位対象外 or 係数0.8)
表示仕様(MVP欄)
- 1位〜3位: 選手名 + 総合スコア(整数)
- タイ時は以下順で優先 1) 当月試合出場数が多い 2) 打撃スコアが高い 3) 守備スコアが高い
運用のすすめ
- まずは v1 重みで1か月運用
- 保護者アンケートと乖離がある場合のみ重みを微調整
- 変更履歴を残し、シーズン中の大幅変更は避ける
成功判定の目安
- ランキング画面到達ユーザーの有料転換率
- 継続率(1か月後/3か月後)
- 解約理由(価格・機能不足・利用頻度)
段階導入ロードマップ
Phase 1(低リスク)
- 既存バナーを「閲覧系画面」に限定最適化
- 入力/編集フローでは広告表示しない
- 指標計測を追加(離脱率、クラッシュ率、eCPM、ARPDAU)
Phase 2(収益の柱づくり)
- ランキング画面を月額300円で有料化(MVP)
- 課金導線をランキング画面入口に実装
- 転換率・継続率・解約理由を計測
Phase 3(最適化)
- ランキングの価値強化(推移グラフ、月次ハイライト、比較機能)
- 管理者向けの追加有料機能(CSV/一括編集)を段階検証
- 継続率と解約理由を見て機能/価格を再調整
将来強化案(毎月課金価値を高める)
- 推移グラフ
- 月次での打率、出塁、失点率などを可視化
- 「成長が見える」ことで継続課金理由を強化
- 月次ハイライト
- 先月比、自己ベスト更新、チーム内順位変動を自動表示
- 閲覧の習慣化(毎月見る理由)を作る
- 比較機能
- 直近3か月比較、同ポジション比較、昨年同月比較
- 保護者が知りたい“相対評価”を提供
損益試算(20人に1人が月額300円課金した場合)
前提
- 課金率: 5%(= 20人に1人)
- 価格: 300円/月
- プラットフォーム手数料や決済手数料を考慮し、受取を概算70%とする
1ユーザーあたり期待売上(概算)
- 粗売上: 300円 × 0.05 = 15円 / MAU
- 受取想定: 15円 × 0.70 = 10.5円 / MAU
ペイ条件(概算)
- 1MAUあたり月間インフラ原価が 10.5円 未満なら、課金だけでペイ可能
- 1MAUあたり原価が 10.5円 を超える場合は、広告収益または課金率改善が必要
実務で確認すべき値
- Firebase請求額(月額合計)
- 月間アクティブユーザー数(MAU)
- 1MAU原価 = Firebase請求額 ÷ MAU
この 1MAU原価 と 10.5円 を比較すれば、現状でペイ可能かすぐ判定できる。
KPI(毎月レビュー)
- 体験系
- 入力完了率
- 予定作成完了率
- 試合結果登録完了率
- 広告表示後の離脱率
- 収益系
- 広告収益(円/月)
- eCPM
- 有料転換率
- ARPDAU / ARPPU
- コスト系
- Firebase請求額(Functions/Firestore/Storage)
- 1チームあたり月間原価
損益管理の実務ルール
- 「体験悪化の兆候」があれば、収益施策より先にUI改善を優先する。
- 収益施策は1回に1つだけ導入し、因果が追える状態で評価する。
- 四半期ごとに無料/有料の境界を見直す。
直近アクション(提案)
- ランキング画面の有料化境界を実装(チーム成績は無料、個人成績/部門は有料)
- 今月のMVP(1〜3位)をチーム成績内に実装
- 月額300円の課金導線と計測(到達→タップ→課金→継続)を追加
- 1か月運用して、推移グラフ/月次ハイライト/比較機能の優先順位を決定
関連資料
- ランキング有料機能 拡張計画: ranking-premium-feature-plan
- PlayerAgg対応 MVP採点関数仕様: design/playeragg-mvp-scoring-spec
- ランキング有料化 実装タスク分解: design/ranking-premium-implementation-tasks