「月200ドルは高い気もするけれど、ネイティブ機能が使えるなら元は取れるのでは」——この迷いを、私は長いこと感覚のまま放置していました。Rork(Expo 版)の月25ドルと Rork Max の月200ドルでは、差額が月175ドル、年間で2,100ドルにもなります。個人開発でこの判断を勘で決めると、たいてい後悔する側に転びます。
迷いの正体は、200ドルという数字を「自分のアプリが生む追加収益」と並べて見ていないことです。そこで、感覚を一度すべて数字に落とし、損益分岐点だけで判断できるようにしました。
比べるべきは「料金の差」ではなく「差額が生む追加収益」
よくある間違いは、200ドルという月額そのものを高い・安いで評価することです。本当に比べるべきなのは、Rork から Rork Max に上げることで増える差額175ドルと、その差額でしか作れない機能が生む追加収益です。
Rork Max でしか実現できない代表例は、Live Activities や Dynamic Island、HealthKit / HomeKit 連携、App Clips、Core ML を使った端末内推論といった、Expo の標準範囲では届きにくいネイティブ機能です。これらが「あれば嬉しい」程度なら差額は回収できません。「これがないと成立しないアプリ」のときだけ、差額に意味が出ます。
損益分岐の計算式
判断はとてもシンプルな一本の式に落ちます。
追加で必要な月間純収益 > 175ドル(= 200 − 25)
ただし、アプリの収益はストア手数料や広告ネットワークの取り分を引いた「手取り」で考える必要があります。サブスクなら Apple の取り分(小規模事業者プログラムなら15%)、広告なら AdMob などの表示単価の変動を見込みます。手取りベースで差額175ドルを超える見込みが立つかどうか、これだけが判断軸です。
コピペで使える試算スクリプト
数字を入れ替えながら試せるように、小さな Node スクリプトにしました。サブスク・広告・買い切りの3経路を合算し、手取りで損益分岐を判定します。
// rork-max-breakeven.mjs 実行: node rork-max-breakeven.mjs
// 自分のアプリの想定値に書き換えてください
const input = {
rorkMonthly: 25, // Rork(Expo版)の月額(ドル)
rorkMaxMonthly: 200, // Rork Max の月額(ドル)
// サブスク(Rork Max のネイティブ機能で増える分だけを入れる)
newSubscribers: 30, // この機能で増える月間サブスク数
subPrice: 4.99, // 月額単価(ドル)
appleCut: 0.15, // ストア手数料(小規模事業者は15%=0.15)
// 広告(ネイティブ機能で増えるセッション由来の純増分)
extraAdRevenue: 40, // 機能追加で増える月間広告純収益(ドル・手取り)
// 買い切り
extraOneTime: 0, // 機能由来の買い切り純増(ドル/月・手取り)
};
const gap = input.rorkMaxMonthly - input.rorkMonthly; // 回収すべき差額
const subNet = input.newSubscribers * input.subPrice * (1 - input.appleCut);
const addedNet = subNet + input.extraAdRevenue + input.extraOneTime;
const margin = addedNet - gap;
const breakevenSubs = Math.ceil(
(gap - input.extraAdRevenue - input.extraOneTime) /
(input.subPrice * (1 - input.appleCut))
);
console.log(`回収すべき差額: $${gap}/月`);
console.log(`機能が生む手取り追加: $${addedNet.toFixed(2)}/月`);
console.log(`差引(プラスなら黒字): $${margin.toFixed(2)}/月`);
console.log(`必要サブスク数の目安: ${breakevenSubs}件/月(広告・買い切りを差し引いた後)`);
console.log(margin >= 0
? "→ 差額を回収できる見込み。Rork Max に上げる判断材料あり。"
: "→ 現状の想定では差額未回収。機能の収益貢献を見直すか据え置きが無難。");このスクリプトの値は、まず保守的に入れてみてください。newSubscribers を楽観的に積むと、どんなアプリでも黒字に見えてしまいます。私が試したときは、サブスク単価4.99ドル・手数料15%だと、広告の純増がゼロなら月42件のサブスクが必要、という数字が出ました。この「42件」が自分のアプリで現実的かどうかが、最終的な判断になります。
数字に出ない判断材料も一度だけ並べる
損益分岐はあくまで主軸ですが、金額に表れない要素もあります。Rork Max のブラウザ内 iOS シミュレータと2クリック公開で短縮される作業時間、Xcode を持たずに Apple 全機種へ出せる身軽さ、これらは時給換算で差額の一部を相殺します。
ただし、これらを過大評価すると損益分岐がなし崩しになります。私は「時短メリットは差額の最大3割まで」と上限を決めて、残り7割は必ず実収益で回収できるかで判断するようにしました。便利さは判断を曇らせやすいので、あえて重みを抑えています。
据え置きという選択も等しく正しい
計算の結果、差額を回収できないなら、Rork のまま据え置くのは負けではありません。むしろ、回収できない機能のために年間2,100ドルを払い続けるほうが、個人開発の体力を確実に削ります。段階的に移行するという発想と同じで、必要になった機能が黒字化の目処を立てたタイミングで上げれば十分です。
まずは上のスクリプトに、自分のアプリの直近1ヶ月の実数を保守的に入れてみてください。breakevenSubs の値が現実的に届く数字に見えたら、そのときが Rork Max に上げる正しいタイミングです。同じ料金の壁で迷っている方の判断材料になれば幸いです。