飲食の間借りや一日店長のプランは、「会場費」と「売上のうち自分に入る割合」の組み合わせで性格が決まります。料金表を眺めているだけだと比較しにくいので、式に落として、数十行のコードで比べられるようにしてみました。
題材にしたのは、東京・大山のスタンドが公開している貸し切りプラン(一日店長)の料金です(2026年9月時点。税区分は問い合わせ時に案内とのことなので、以下の数字は税の扱い未確認のまま使っています)。
→ 料金体系が公開されている間借り出店のスタンド コミュニティスタンド咲
モデル化する
貸し切りプランは3スタイルあり、ドリンクの売上の扱いが違います。
| スタイル | 平日昼 | 平日夜 | 土日祝・金夜 昼 / 夜 | ドリンク売上の取り分 |
|---|---|---|---|---|
| staffed(スタッフ付き) | 24,000 | 29,000 | 37,000 / 47,000 | 50% |
| unstaffed(スタッフなし) | 15,000 | 18,000 | 23,000 / 28,000 | 50% |
| self(ドリンク持ち込み) | 18,000 | 22,000 | 27,000 / 35,000 | 100% |
1日の手残りを次のように置きます。
profit = food * (1 - foodCostRate)
+ drink * share
- (style === 'self' ? drink * drinkCostRate : 0)
- fee
-
food:自分の料理・商品の売上 -
drink:ドリンクの売上 -
share:ドリンク売上の取り分(0.5 か 1.0) -
drinkCostRate:持ち込みドリンクの原価率(self のときだけ自分で負担) -
fee:会場費
お店のドリンクを使うスタイルでは、ドリンクの仕入れは店側なので原価を引かない、という前提にしています。ここは実際の契約内容で確認すべき仮定です。
コード
const FEES = {
staffed: { weekday: { day: 24000, night: 29000 }, weekend: { day: 37000, night: 47000 }, share: 0.5 },
unstaffed: { weekday: { day: 15000, night: 18000 }, weekend: { day: 23000, night: 28000 }, share: 0.5 },
self: { weekday: { day: 18000, night: 22000 }, weekend: { day: 27000, night: 35000 }, share: 1.0 },
};
// 金曜の夜は土日祝料金
const dayType = (weekday, slot) =>
weekday === 'sat' || weekday === 'sun' || weekday === 'holiday' || (weekday === 'fri' && slot === 'night')
? 'weekend' : 'weekday';
function profit({ style, weekday, slot, food, drink, foodCostRate = 0.35, drinkCostRate = 0.3 }) {
const p = FEES[style];
const fee = p[dayType(weekday, slot)][slot];
const drinkIn = drink * p.share - (style === 'self' ? drink * drinkCostRate : 0);
return Math.round(food * (1 - foodCostRate) + drinkIn - fee);
}
for (const style of Object.keys(FEES)) {
console.log(style, profit({ style, weekday: 'wed', slot: 'night', food: 30000, drink: 20000 }));
}
原価率の 0.35 と 0.3 は例として置いた値で、どこかの実績値ではありません。自分のメニューの数字に差し替えてください。
損益分岐のドリンク売上を解く
料理の売上を固定したとき、ドリンクをいくら売れば手残りが0になるかは、式を drink について解けば出ます。
function breakEvenDrink({ style, weekday, slot, food, foodCostRate = 0.35, drinkCostRate = 0.3 }) {
const p = FEES[style];
const fee = p[dayType(weekday, slot)][slot];
const perYen = p.share - (style === 'self' ? drinkCostRate : 0); // ドリンク1円あたりの手残り
return Math.max(0, Math.ceil((fee - food * (1 - foodCostRate)) / perYen));
}
perYen が小さいほど、同じ会場費を埋めるのに必要なドリンク売上は増えます。取り分50%のスタイルでは1円売って0.5円、持ち込みで原価率30%なら0.7円が手元に残る計算なので、ドリンク中心の営業なら持ち込みのほうが分岐点は下がりやすい、ということが式からも読めます。
表計算でやる場合
スプレッドシートなら、スタイルを行、曜日と時間帯を列にした会場費の表を作り、VLOOKUP などで引いてから同じ式を当てるだけです。金曜の夜を週末扱いにする判定だけは忘れやすいので、別の列で明示しておくと事故が減ります。
前提として押さえておくこと
- スタッフなしのスタイルは審査制で、スタッフ付きでの利用実績が必要(初回は選べない)
- 料理など自分の商品の売上がどう扱われるかは、ページからは読み切れないので契約時に確認
- 掲載の料金は予告なしに改定されることがある
条件を変えて何パターンか回してみると、「どのスタイルなら何を売ればいいか」がはっきりします。表を眺めて悩むより、数字を入れて比べるほうが早い、というのが今回の結論です。
本ページはプロモーションが含まれています


Top comments (0)