Rork でひとつ小さなユーティリティアプリを作ってリリースしたのが 3 月中旬で、5 月の頭にようやく月単位で黒字化しました。月額 100 円のサブスクと AdMob を組み合わせたハイブリッド構成で、私の体感では「これは個人開発の収益化として本当に最低限のラインだな」と感じる構成です。実数値ベースでどう作って、どう運営して、何を捨てたかを書き残します。
廣川政樹と申します。アーティスト・個人開発者として 2014 年から壁紙アプリ群(累計 5,000 万ダウンロード超)の運営をしながら、新規実験として Rork でアプリを 1 本立ち上げました。これから書くのは、その新規 1 本の話で、壁紙アプリ群の話ではありません。
「月額 100 円」を選んだ理由
Rork で作ったのは、毎日の習慣記録に特化した小さなアプリです。価格はそもそも 100 円のサブスクから始めるか、それとも 480 円か、450 円か、と迷いました。最終的に 100 円にした理由は次の通りです。
- 個人開発の小さなユーティリティで、月額 480 円を払う動機を作るのは難しい
- 100 円なら「捨てても惜しくないが、続けたら習慣になる」価格帯
- App Store と Google Play の最安サブスク刻みに収まる
- 100 円 × 月の継続率 70% で見積もると、月 50 名の有料会員から月 3,500 円の経常収益になる
この最後の試算が大事でした。月 50 名の有料会員から始まる経常収益と AdMob の表示型広告を合わせて、Rork のサブスクリプション費用と App Store / Google Play の手数料を引いても黒字になるラインに乗ります。
5 月の実測値(このアプリ単体)
5 月 1 日〜 31 日の実測値です。
- ダウンロード: 約 1,800(オーガニックのみ、広告は出していない)
- 7 日継続率: 28%
- 30 日継続率: 11%
- 有料会員転換率: 1.8%
- 5 月末時点の有料会員数: 41 名
- AdMob 収益: ¥7,820(eCPM 約 ¥180、impressions ベース)
- サブスク収益(手数料控除前): ¥4,100
- Rork のサブスク費用: ¥3,800
- App Store / Play 手数料(15%): ¥615
- 純収益: ¥7,505
¥7,505 の黒字は誇る数字ではありません。ただ、これはオーガニックのみで、広告にお金を使っていない初月寄りの結果です。重要なのは「赤字ではない」状態に乗れていることで、ここを起点に伸ばせる余地が見えています。
AdMob 80% + サブスク 20% で動いている構造
私のこのアプリの収益構造は、約 80% が AdMob で 20% がサブスクです。一般的にユーティリティアプリで「サブスク中心、広告は補助」と言われがちですが、月額 100 円という設定だと逆になります。これは想定通りで、サブスク収益はあくまで「経常的な底支え」として置いています。
AdMob 側は、リワード広告を 1 日 3 回まで踏めるように制限していて、踏むと当日のプロ機能(広告非表示)がオンになります。これによって、AdMob のリワードを多めに見る軽課金ユーザーと、月 100 円を払って広告非表示にする軽い有料会員の 2 層構造が生まれました。実測ではリワード経由のプロ機能解放が 1 日約 80 回発生していて、これが AdMob の eCPM を押し上げています。
RevenueCat を入れたか入れないか
ここは個人開発で意見が分かれるところだと思います。私はこのアプリでは 入れない判断 をしました。理由は次の通りです。
- 月額 100 円という小さい価格で RevenueCat の月額固定費を払うと、
小規模なうちは原価率が無視できなくなる
- Apple/Google の Server Notifications v2 を自分で受ければ、
サブスクの状態管理は壁紙アプリ群で既に持っているコードで足りる
- レシート検証も自前サーバー (api.dolice.asia) に立てているので、
RevenueCat のメリットが重複する
ただし、サブスク価格を 480 円以上に上げる、あるいは複数アプリで横展開する段階に来たら、私は迷わず RevenueCat に乗せ替えるつもりです。今の規模だからこそ、自前で持っているコードを再利用する経済合理性がある、という整理です。
Rork の生成コードを「本番品質」に上げる工程
Rork で初稿を生成してから、本番として App Store に出すまでに私がやった工程をリストにします。
- Swift コードの依存ライブラリを
Package.swift に統一(生成直後は CocoaPods 風の記述が混ざっていた)
- AdMob と StoreKit 2 の判定を
Entitlement クラスに集約
- クラッシュレポート(Crashlytics)と Firebase Remote Config を後付け
- ATT ダイアログとプライバシーマニフェストを 4 月時点の Apple ガイドに合わせて再整備
- アプリ内課金のレシート検証ロジックを
api.dolice.asia の新エンドポイントに繋ぐ
- オフライン時の UI フォールバックを追加(Rork の生成コードはオンライン前提だった)
この 6 工程は手作業に近い部分が多く、Claude Code に渡せるのは項目 1 と 5 だけでした。残りは自分の壁紙アプリ群で作ってきたインフラを再利用しています。Rork の強みは初稿の速さで、本番品質に持っていく工程は今のところ人間側の経験が効きます。
5 月の月次黒字化を実現した 3 つの判断
5 月に黒字化を達成できたのは、次の 3 つの判断が大きかったと感じています。
- 広告課金を出さなかった: ASO とオーガニックのみで成長させ、CAC をゼロに保った
- AdMob のリワードを「プロ機能の代替経路」に置いた: 軽課金ユーザーをサブスクに無理に押し込まず、リワード経由で広告 eCPM を稼ぐ流れを作った
- RevenueCat を入れなかった: 月額固定費が小規模の原価率を圧迫する罠を避けた
逆に言うと、これらの判断は「壁紙アプリ群で 10 年以上やってきた経験」に依存しています。同じ判断軸を新規個人開発者が初手で持つのは難しいので、まずは月 100 円のサブスクをトライアルとして 1 本だけ運営してみることをお勧めします。
ASO の地味な工夫が効いた話
5 月の流入の半分以上は ASO(App Store Optimization)からでした。私が壁紙アプリ群で長年やってきた工夫のうち、今回も効いた具体的な手は次の通りです。
- スクリーンショットの 1 枚目に「数値を含む実利」を入れる: 「習慣を 28 日続けるユーザーが 73%」のような具体性
- App Store Connect のサブタイトルにロングテールキーワードを 1 つだけ仕込む
- 説明文の冒頭 3 行に「使う場面」を 3 つ書く
これらは検索順位より「閲覧から DL への転換率」に効きます。AdMob のリワード型収益と組み合わせる前提なら、ダウンロード数が伸びると指数的に効いてくる工夫です。
黒字化後に「やらないと決めたこと」
黒字化が見えた段階で、私は逆に「やらないこと」を決めるほうに時間を使いました。具体的には、月の運営時間を週 2 時間以内に圧縮する制約を自分に課しました。理由は、5,000 万ダウンロードの壁紙アプリ群と 4 つの Lab サイトを並行で運営している以上、新規アプリに無制限の時間は割けないからです。
週 2 時間の運営でも黒字を維持できる構造を作るには、AdMob のレポートと Crashlytics の通知を Slack に飛ばし、Firebase Remote Config で広告頻度を遠隔調整する仕組みが効きました。これで「コードを触らずに調整できる」範囲を広げ、毎週の運営時間を抑えています。
次に試したいこと
6 月に試そうとしているのは、Rork のアプリ内通知設定を AdMob のリワード活性化と連動させる仕組みです。今は通知を踏んでもらってもリワード視聴に直接つながらないので、ここを 1 ステップで繋ぐと eCPM が体感で 1.5 倍になる仮説を持っています。
月額 100 円のアプリで黒字化することは、収益の絶対額として大きな話ではありません。ただ、Rork のように生成型のアプリ開発ツールを使う個人開発者がこの程度の規模で先に黒字化のクセを掴んでおくと、次の中規模アプリで判断が早くなります。共に学んでいけたら嬉しいです。