logo

SavvyBot Phase 7
収益化・リリース計画

AI / チャットボット開発プロダクトオーナー / ビジネス開発2025年11月〜12月(予定)2025-11-07

Stripeサブスクリプション統合、請求管理システム、クローズドベータテスト、正式リリースへの計画。年内に5-30チームの有料ユーザー獲得、MRR ¥15,000-¥90,000を目標に。

Technologies Used

StripeNext.jsSupabasePostgreSQLLINE Messaging API

SavvyBot Phase 7 ― 収益化・リリース計画

← Phase 6へ | プロジェクト概要に戻る

概要

Phase 7では、SavvyBotのSaaS化を完成させ、正式リリースを目指します。Stripe統合による請求管理システムを実装し、クローズドベータテストを経て、年内に収益化を開始します。

ビジネス目標: 年内に収益化の可能性を探る(副業ベース、リーンスタートアップアプローチ)


収益モデル

料金プラン

Freeプラン(無料):

  • 個人利用(Personal modeのみ)
  • 基本機能
  • 月間1,000トークンまで
  • コミュニティサポート

Teamプラン(¥2,980/月):

  • 3-10人チーム
  • 全機能利用可能
  • グループチャット対応
  • 月間50,000トークン
  • メールサポート
  • 議事録・決定事項・TODO・質問管理
  • Web検索統合

Businessプラン(¥9,800/月):

  • 11-50人チーム
  • 全機能 + 高度な機能
  • 月間200,000トークン
  • 優先サポート(24時間以内)
  • カスタムAPI連携
  • データエクスポート
  • 監査ログ

収益目標

年内目標(2025年12月末):

  • 有料ユーザー: 5-30チーム
  • MRR (Monthly Recurring Revenue): ¥15,000-¥90,000
  • 解約率 (Churn Rate): <10%
  • ユーザー満足度: >85%

2026年Q1目標:

  • 有料ユーザー: 30-100チーム
  • MRR: ¥90,000-¥300,000
  • エンタープライズプラン追加

Phase 7の実装計画

7.1: Stripe統合(2週間)

達成目標:

  • ✅ Stripe Checkout統合
  • ✅ サブスクリプション管理
  • ✅ Webhookハンドリング(支払い成功/失敗)
  • ✅ 顧客ポータル(プラン変更、請求書表示)

技術実装:

  1. Stripe Checkout:
// app/api/checkout/route.ts
export async function POST(request: Request) {
  const { priceId, userId } = await request.json()

  const session = await stripe.checkout.sessions.create({
    customer_email: user.email,
    line_items: [{ price: priceId, quantity: 1 }],
    mode: 'subscription',
    success_url: `${process.env.NEXT_PUBLIC_URL}/dashboard?success=true`,
    cancel_url: `${process.env.NEXT_PUBLIC_URL}/pricing?canceled=true`,
    metadata: { userId },
  })

  return Response.json({ sessionId: session.id })
}
  1. Webhookハンドリング:
// app/api/webhooks/stripe/route.ts
export async function POST(request: Request) {
  const signature = request.headers.get('stripe-signature')!
  const body = await request.text()

  const event = stripe.webhooks.constructEvent(body, signature, webhookSecret)

  switch (event.type) {
    case 'customer.subscription.created':
      await handleSubscriptionCreated(event.data.object)
      break
    case 'customer.subscription.deleted':
      await handleSubscriptionDeleted(event.data.object)
      break
    case 'invoice.payment_succeeded':
      await handlePaymentSucceeded(event.data.object)
      break
  }

  return Response.json({ received: true })
}
  1. データベーススキーマ:
CREATE TABLE subscriptions (
  id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
  user_id UUID NOT NULL REFERENCES profiles(id),
  stripe_customer_id TEXT UNIQUE NOT NULL,
  stripe_subscription_id TEXT UNIQUE,
  plan TEXT NOT NULL CHECK (plan IN ('free', 'team', 'business')),
  status TEXT NOT NULL CHECK (status IN ('active', 'canceled', 'past_due')),
  current_period_start TIMESTAMPTZ,
  current_period_end TIMESTAMPTZ,
  created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
  updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);

7.2: 請求管理システム(1週間)

達成目標:

  • ✅ 請求履歴表示
  • ✅ プラン変更UI
  • ✅ 使用量メーター
  • ✅ 上限アラート

実装内容:

  1. 請求履歴ページ (app/dashboard/billing/page.tsx):
export default async function BillingPage() {
  const supabase = await createClient()
  const { data: subscription } = await supabase
    .from('subscriptions')
    .select('*')
    .single()

  const invoices = await stripe.invoices.list({
    customer: subscription.stripe_customer_id,
    limit: 12,
  })

  return (
    <div>
      <CurrentPlan plan={subscription.plan} />
      <InvoiceHistory invoices={invoices.data} />
      <UsageMeter subscription={subscription} />
    </div>
  )
}
  1. 使用量メーター:
// 月間トークン使用量を取得
const { data: usage } = await supabase
  .from('usage_logs')
  .select('total_tokens')
  .gte('created_at', currentPeriodStart)
  .lte('created_at', currentPeriodEnd)

const totalTokens = usage.reduce((sum, log) => sum + log.total_tokens, 0)
const tokenLimit = PLAN_LIMITS[subscription.plan]
const percentage = (totalTokens / tokenLimit) * 100

// 80%超過でアラート
if (percentage > 80) {
  await sendUsageAlert(user.email, percentage)
}

7.3: クローズドベータテスト(3週間)

目標:

  • 5-10チームの招待
  • フィードバック収集
  • バグ修正と改善

テスト計画:

Week 1: 初期テスター(2-3チーム):

  • 友人・知人のチーム
  • 毎日のフィードバックセッション
  • 重大なバグの即座修正

Week 2: 拡大テスト(3-5チーム):

  • LINE公式アカウントの既存ユーザー
  • アンケート形式のフィードバック
  • 機能改善の優先順位付け

Week 3: 最終調整(5-10チーム):

  • 新規ユーザー獲得
  • オンボーディング改善
  • ドキュメント整備

フィードバック項目:

  • 使いやすさ(1-5点)
  • 機能の充実度(1-5点)
  • 価格妥当性(1-5点)
  • 推奨度(NPS: -100 〜 100)
  • 最も役立つ機能
  • 改善してほしい点

7.4: 正式リリース(1週間)

達成目標:

  • ✅ プロダクションデプロイ
  • ✅ マーケティング開始
  • ✅ サポート体制確立
  • ✅ モニタリング体制確立

リリースチェックリスト:

技術的準備:

  • プロダクションビルド成功
  • 全機能のE2Eテスト完了
  • セキュリティ監査完了
  • パフォーマンステスト完了
  • バックアップ・リカバリー計画確立
  • モニタリングダッシュボード構築

ビジネス準備:

  • 利用規約・プライバシーポリシー作成
  • サポートドキュメント整備
  • FAQ作成
  • サポートメールアドレス設定
  • マーケティングサイト完成
  • プレスリリース作成

マーケティングチャネル:

  • LINE公式アカウント(既存フォロワー)
  • Twitter/X(#LINEBot, #グループチャット)
  • Qiita/Zenn(技術記事)
  • Product Hunt(海外展開)
  • note(ブログ記事)

リスク管理

技術的リスク

リスク1: Stripe統合の複雑さ

  • 軽減策: 公式ドキュメント熟読、サンプルコード参照
  • 代替案: Paddle等の代替決済サービス検討

リスク2: スケーラビリティ問題

  • 軽減策: Supabase Edge Functionsの自動スケーリング活用
  • 代替案: GCP Cloud Runへの移行準備

リスク3: OpenAI APIコスト増加

  • 軽減策: 使用量上限設定、アラート機能
  • 代替案: gpt-4o-miniへの切り替え、キャッシング戦略

ビジネスリスク

リスク1: ユーザー獲得難

  • 軽減策: 無料プラン提供、紹介プログラム
  • 代替案: エンタープライズ向け直接営業

リスク2: 競合の出現

  • 軽減策: 継続的な機能改善、差別化強化
  • 代替案: ニッチ市場へのさらなる特化

リスク3: 解約率高騰

  • 軽減策: オンボーディング改善、サポート強化
  • 代替案: 年間契約割引プラン

長期展望(2026年以降)

Phase 8: 機能拡張(2026年Q1-Q2)

新機能:

  • ナレッジベース(過去の決定事項・議事録の検索)
  • 音声会議の自動文字起こし&議事録生成
  • Slack/Teams連携
  • カスタムAIアシスタント(ユーザー独自のプロンプト)

Phase 9: エンタープライズ対応(2026年Q3-Q4)

機能:

  • シングルサインオン(SSO)
  • 監査ログ
  • データ保持ポリシーカスタマイズ
  • 専任サポート
  • SLA保証

Phase 10: グローバル展開(2027年〜)

市場:

  • 英語圏(米国、英国、オーストラリア)
  • アジア圏(台湾、タイ、インドネシア)

ローカライゼーション:

  • 多言語対応(英語、中国語、タイ語)
  • 地域別プライバシー法対応(GDPR、CCPA)
  • 現地決済方法対応

成功指標(KPI)

ビジネスKPI

  • MRR成長率: 月次20%成長
  • 解約率: <10%
  • LTV/CAC比: >3.0
  • NPS: >50

プロダクトKPI

  • DAU/MAU比: >40%(アクティブユーザー率)
  • 機能利用率: 各コマンド>20%利用
  • エラー率: <1%
  • レスポンスタイム: 平均<3秒

カスタマーサクセスKPI

  • オンボーディング完了率: >80%
  • サポート満足度: >4.5/5.0
  • 推奨度(NPS): >50
  • 機能リクエスト実装率: >30%

まとめ

Phase 7では、技術的な実装だけでなく、ビジネスとしての成功を目指します。リーンスタートアップアプローチで、小さく始めて顧客のフィードバックを基に改善を重ね、持続可能なSaaSビジネスを構築していきます。

目標: 年内に収益化を達成し、2026年には本格的なビジネスとして成長させる。


← Phase 6に戻る | プロジェクト概要に戻る


計画作成日: 2025年11月7日 開始予定: 2025年11月中旬 リリース目標: 2025年12月末

#収益化#Stripe#サブスクリプション#SaaS#ベータテスト#リリース計画

©2025 Natsuki Hayashida. All Rights Reserved.