{"product_id":"spinning-classes-owner-makes","title":"How Much Can An Indoor Cycling Studio Owner Make? $90k-$27M EBITDA","description":"\u003cbr\u003e\u003cdiv class=\"container_new_design\"\u003e\n\u003cdiv class=\"text-section text-1_new_design\"\u003e\n\u003cdiv class=\"line_top\"\u003e\u003c\/div\u003e\n\u003cp\u003eYou’re trying to separate sales from real owner pay before signing a lease This guide covers \u003cstrong\u003e$769k to $3952M in annual revenue\u003c\/strong\u003e, expenses, EBITDA, margins, startup cash, reserves, and owner draw planning for a US indoor cycling studio, but it excludes tax advice, personal living costs, and franchise-specific results\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\u003cdiv class=\"image-section image-1_new_design\" id=\"main_article_image\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003csection class=\"fml-owner-metric-cards\" aria-label=\"Indoor cycling studio\"\u003e\u003cdiv class=\"metric-grid\"\u003e\n\u003carticle class=\"metric-card is-green\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"Year 1 to Year 5 EBITDA converts to about $7.5k to $224k per month; owner draw comes after reserves, taxes, debt, and reinvestment, so it is not guaranteed salary.\"\u003e\u003cimg class=\"metric-icon\" src=\"\/cdn\/shop\/files\/fml-owner-income-kpi-owner-income.svg\" alt=\"Owner income icon\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan\u003eOwner income\u003c\/span\u003e\u003cstrong class=\"metric-value\" tabindex=\"0\" data-tooltip=\"Year 1 to Year 5 EBITDA converts to about $7.5k to $224k per month; owner draw comes after reserves, taxes, debt, and reinvestment, so it is not guaranteed salary.\"\u003e$7.5k → $224k\/mo\u003c\/strong\u003e\u003c\/article\u003e\u003carticle class=\"metric-card\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"EBITDA margin is EBITDA divided by revenue, from Year 1 to Year 5; occupancy rises from 45% to 85%, and this stays before taxes and debt.\"\u003e\u003cimg class=\"metric-icon\" src=\"\/cdn\/shop\/files\/fml-owner-income-kpi-net-margin.svg\" alt=\"Net margin icon\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan\u003eNet margin\u003c\/span\u003e\u003cstrong class=\"metric-value\" tabindex=\"0\" data-tooltip=\"EBITDA margin is EBITDA divided by revenue, from Year 1 to Year 5; occupancy rises from 45% to 85%, and this stays before taxes and debt.\"\u003e11.7% → 67.9%\u003c\/strong\u003e\u003c\/article\u003e\u003carticle class=\"metric-card\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"Year 1 revenue is about $64k per month; no separate owner-pay target was given, so this is the closest modeled revenue threshold.\"\u003e\u003cimg class=\"metric-icon\" src=\"\/cdn\/shop\/files\/fml-owner-income-kpi-revenue-target.svg\" alt=\"Revenue for target pay icon\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan\u003eRevenue for target pay\u003c\/span\u003e\u003cstrong class=\"metric-value\" tabindex=\"0\" data-tooltip=\"Year 1 revenue is about $64k per month; no separate owner-pay target was given, so this is the closest modeled revenue threshold.\"\u003e$64k\/mo\u003c\/strong\u003e\u003c\/article\u003e\u003carticle class=\"metric-card\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"High capex, $779k minimum cash in Month 2, and 10.82% IRR make this capital-heavy and slower to pay back.\"\u003e\u003cimg class=\"metric-icon\" src=\"\/cdn\/shop\/files\/fml-owner-income-kpi-business-difficulty.svg\" alt=\"Business difficulty icon\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan\u003eBusiness difficulty\u003c\/span\u003e\u003cstrong class=\"metric-value\" tabindex=\"0\" data-tooltip=\"High capex, $779k minimum cash in Month 2, and 10.82% IRR make this capital-heavy and slower to pay back.\"\u003eHard\u003c\/strong\u003e\u003c\/article\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eWant to test your studio’s owner income?\n\u003c\/span\u003e\u003c\/h2\u003e\n\u003csection class=\"fml-owner-calculator\" aria-label=\"Owner Income Calculator\" data-locale=\"en-US\" data-currency=\"USD\" data-default-scenario=\"base\" data-export-filename=\"Owner Income Calculator.xlsx\" data-source-site-name=\"Financial Models Lab\" data-source-site-url=\"https:\/\/financialmodelslab.com\" data-source-page-title=\"Owner Income Calculator\" data-note-title=\"Planning note:\" data-note-text=\"Research-based planning estimate only. It is not guaranteed salary, tax advice, or owner distribution advice.\"\u003e\u003cdiv class=\"fml-owner-card\"\u003e\n\u003cheader class=\"fml-owner-header\"\u003e\u003cdiv class=\"fml-owner-heading\"\u003e\n\u003cp class=\"fml-owner-eyebrow\"\u003eOwner income calculator\u003c\/p\u003e\n\u003cp class=\"fml-owner-intro\"\u003eEstimate owner take-home and target-pay gap from revenue, margin, costs, reserves, and target pay.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-scenarios\" aria-label=\"Income scenario presets\"\u003e\n\u003cbutton class=\"fml-owner-scenario\" type=\"button\" data-scenario=\"low\"\u003eLow\u003c\/button\u003e\u003cbutton class=\"fml-owner-scenario is-active\" type=\"button\" data-scenario=\"base\"\u003eBase\u003c\/button\u003e\u003cbutton class=\"fml-owner-scenario\" type=\"button\" data-scenario=\"high\"\u003eHigh\u003c\/button\u003e\n\u003c\/div\u003e\u003c\/header\u003e\u003cdiv class=\"fml-owner-layout\"\u003e\n\u003cform class=\"fml-owner-inputs\"\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eMonthly revenue\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Average monthly sales collected before expenses. Use the operating month that best matches the scenario.\"\u003ei\u003cspan role=\"tooltip\"\u003eAverage monthly sales collected before expenses. Use the operating month that best matches the scenario.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-money\"\u003e\n\u003cspan\u003e$\u003c\/span\u003e\u003cinput data-owner-field=\"monthlyRevenue\" data-owner-kind=\"money\" data-owner-label=\"Monthly revenue\" data-owner-note=\"Average monthly sales collected before expenses. Use the operating month that best matches the scenario.\" data-low=\"64083\" data-base=\"210500\" data-high=\"329333\" name=\"monthlyRevenue\" type=\"text\" inputmode=\"numeric\" value=\"210,500\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eGross margin\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Percent of revenue left after direct costs like merchant fees, studio supplies, and similar service costs.\"\u003ei\u003cspan role=\"tooltip\"\u003ePercent of revenue left after direct costs like merchant fees, studio supplies, and similar service costs.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-percent\"\u003e\n\u003cinput data-owner-field=\"grossMargin\" data-owner-kind=\"percent\" data-owner-label=\"Gross margin\" data-owner-note=\"Percent of revenue left after direct costs like merchant fees, studio supplies, and similar service costs.\" name=\"grossMargin\" type=\"range\" min=\"0\" max=\"100\" step=\"1\" data-low=\"85\" data-base=\"88\" data-high=\"89\" value=\"88\"\u003e\u003coutput\u003e88%\u003c\/output\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eLabor cost\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Monthly payroll, instructors, benefits, and staffing coverage before owner pay.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly payroll, instructors, benefits, and staffing coverage before owner pay.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-money\"\u003e\n\u003cspan\u003e$\u003c\/span\u003e\u003cinput data-owner-field=\"laborCost\" data-owner-kind=\"money\" data-owner-label=\"Labor cost\" data-owner-note=\"Monthly payroll, instructors, benefits, and staffing coverage before owner pay.\" data-low=\"24583\" data-base=\"35000\" data-high=\"38750\" name=\"laborCost\" type=\"text\" inputmode=\"numeric\" value=\"35,000\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eFixed overhead\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Rent, utilities, software, insurance, cleaning, and maintenance.\"\u003ei\u003cspan role=\"tooltip\"\u003eRent, utilities, software, insurance, cleaning, and maintenance.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-money\"\u003e\n\u003cspan\u003e$\u003c\/span\u003e\u003cinput data-owner-field=\"fixedOverhead\" data-owner-kind=\"money\" data-owner-label=\"Fixed overhead\" data-owner-note=\"Rent, utilities, software, insurance, cleaning, and maintenance.\" data-low=\"17350\" data-base=\"17350\" data-high=\"17350\" name=\"fixedOverhead\" type=\"text\" inputmode=\"numeric\" value=\"17,350\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eMarketing\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Monthly digital marketing and social ads needed to keep demand moving.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly digital marketing and social ads needed to keep demand moving.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-money\"\u003e\n\u003cspan\u003e$\u003c\/span\u003e\u003cinput data-owner-field=\"marketing\" data-owner-kind=\"money\" data-owner-label=\"Marketing\" data-owner-note=\"Monthly digital marketing and social ads needed to keep demand moving.\" data-low=\"5127\" data-base=\"12630\" data-high=\"13173\" name=\"marketing\" type=\"text\" inputmode=\"numeric\" value=\"12,630\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eDebt service\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Monthly loan or financing payment, if any.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly loan or financing payment, if any.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-money\"\u003e\n\u003cspan\u003e$\u003c\/span\u003e\u003cinput data-owner-field=\"debtService\" data-owner-kind=\"money\" data-owner-label=\"Debt service\" data-owner-note=\"Monthly loan or financing payment, if any.\" data-low=\"0\" data-base=\"0\" data-high=\"0\" name=\"debtService\" type=\"text\" inputmode=\"numeric\" value=\"\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eTax reserve\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Percent of profit set aside for taxes before owner take-home.\"\u003ei\u003cspan role=\"tooltip\"\u003ePercent of profit set aside for taxes before owner take-home.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-percent\"\u003e\n\u003cinput data-owner-field=\"taxReserve\" data-owner-kind=\"percent\" data-owner-label=\"Tax reserve\" data-owner-note=\"Percent of profit set aside for taxes before owner take-home.\" name=\"taxReserve\" type=\"range\" min=\"0\" max=\"45\" step=\"1\" data-low=\"18\" data-base=\"24\" data-high=\"28\" value=\"24\"\u003e\u003coutput\u003e24%\u003c\/output\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eReinvestment reserve\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Percent of profit held back for repairs, growth, and cash buffer.\"\u003ei\u003cspan role=\"tooltip\"\u003ePercent of profit held back for repairs, growth, and cash buffer.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-percent\"\u003e\n\u003cinput data-owner-field=\"reinvestmentReserve\" data-owner-kind=\"percent\" data-owner-label=\"Reinvestment reserve\" data-owner-note=\"Percent of profit held back for repairs, growth, and cash buffer.\" name=\"reinvestmentReserve\" type=\"range\" min=\"0\" max=\"35\" step=\"1\" data-low=\"5\" data-base=\"10\" data-high=\"12\" value=\"10\"\u003e\u003coutput\u003e10%\u003c\/output\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eTarget owner pay\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Target monthly owner income used to calculate the target-pay gap.\"\u003ei\u003cspan role=\"tooltip\"\u003eTarget monthly owner income used to calculate the target-pay gap.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-money\"\u003e\n\u003cspan\u003e$\u003c\/span\u003e\u003cinput data-owner-field=\"targetOwnerPay\" data-owner-kind=\"money\" data-owner-label=\"Target owner pay\" data-owner-note=\"Target monthly owner income used to calculate the target-pay gap.\" data-low=\"6000\" data-base=\"10000\" data-high=\"15000\" name=\"targetOwnerPay\" type=\"text\" inputmode=\"numeric\" value=\"10,000\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/form\u003e\n\u003caside class=\"fml-owner-results\" aria-live=\"polite\"\u003e\u003cspan class=\"fml-owner-tag\"\u003eOwner income output\u003c\/span\u003e\u003cdiv class=\"fml-owner-metrics\"\u003e\n\u003cdiv class=\"fml-owner-metric is-primary\"\u003e\n\u003cspan class=\"fml-owner-metric-label\"\u003eOwner Income\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Monthly take-home after tax and reinvestment reserves.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly take-home after tax and reinvestment reserves.\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cstrong data-owner-output=\"monthlyOwnerIncome\"\u003e$79,372\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-metric\"\u003e\n\u003cspan class=\"fml-owner-metric-label\"\u003eNet Margin\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Owner income divided by monthly revenue.\"\u003ei\u003cspan role=\"tooltip\"\u003eOwner income divided by monthly revenue.\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cstrong data-owner-output=\"netProfitMargin\"\u003e38%\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-metric\"\u003e\n\u003cspan class=\"fml-owner-metric-label\"\u003eRevenue for Target Pay\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Monthly revenue needed to support the target owner pay.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly revenue needed to support the target owner pay.\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cstrong data-owner-output=\"revenueNeeded\"\u003e$91,059\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-metric is-target-gap is-positive\"\u003e\n\u003cspan class=\"fml-owner-metric-label\"\u003eTarget Pay Gap\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Owner income minus target owner pay. Negative means the target pay is not covered.\"\u003ei\u003cspan role=\"tooltip\"\u003eOwner income minus target owner pay. Negative means the target pay is not covered.\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cstrong data-owner-output=\"targetPayGap\"\u003e$69,372\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdl class=\"fml-owner-result-list\"\u003e\n\u003cdiv\u003e\n\u003cdt\u003eAnnual owner income\u003c\/dt\u003e\n\u003cdd data-owner-output=\"annualOwnerIncome\"\u003e$952,464\u003c\/dd\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdt\u003eProfit before reserves\u003c\/dt\u003e\n\u003cdd data-owner-output=\"profitBeforeReserves\"\u003e$120,260\u003c\/dd\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdt\u003eTax + reinvestment reserve\u003c\/dt\u003e\n\u003cdd data-owner-output=\"reserveAmount\"\u003e$40,888\u003c\/dd\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdt\u003eTarget pay gap\u003c\/dt\u003e\n\u003cdd data-owner-output=\"cashAfterTargetPay\"\u003e$69,372\u003c\/dd\u003e\n\u003c\/div\u003e\n\u003c\/dl\u003e\n\u003cdiv class=\"fml-owner-bridge\"\u003e\n\u003cdiv class=\"fml-owner-bar-row\" data-owner-bridge=\"revenue\"\u003e\n\u003cspan\u003eRevenue\u003c\/span\u003e\u003cdiv\u003e\u003ci style=\"--fml-owner-share: 100%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$210K\u003c\/b\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-bar-row\" data-owner-bridge=\"grossProfit\"\u003e\n\u003cspan\u003eGross profit\u003c\/span\u003e\u003cdiv\u003e\u003ci style=\"--fml-owner-share: 88%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$185K\u003c\/b\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-bar-row\" data-owner-bridge=\"operatingCosts\"\u003e\n\u003cspan\u003eOperating costs\u003c\/span\u003e\u003cdiv\u003e\u003ci style=\"--fml-owner-share: 31%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$64,980\u003c\/b\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-bar-row\" data-owner-bridge=\"reserveAmount\"\u003e\n\u003cspan\u003eReserves\u003c\/span\u003e\u003cdiv\u003e\u003ci style=\"--fml-owner-share: 19%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$40,888\u003c\/b\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-bar-row\" data-owner-bridge=\"ownerIncome\"\u003e\n\u003cspan\u003eOwner income\u003c\/span\u003e\u003cdiv\u003e\u003ci style=\"--fml-owner-share: 38%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$79,372\u003c\/b\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbutton class=\"fml-owner-export\" type=\"button\" data-owner-export\u003eEXPORT XLSX\u003c\/button\u003e\u003c\/aside\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-note\"\u003e\n\u003cspan class=\"fml-owner-note-icon\" aria-hidden=\"true\"\u003e!\u003c\/span\u003e\u003cp\u003e\u003cstrong\u003ePlanning note:\u003c\/strong\u003e Research-based planning estimate only. It is not guaranteed salary, tax advice, or owner distribution advice.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003cbr\u003e\u003cdiv class=\"container_new_design_blog\"\u003e\n\n\u003cdiv class=\"text-section_blog text-2_new_design_blog\"\u003e\n\n\u003cdiv class=\"line_top_blog\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\n\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eWant to see the full Indoor Cycling Studio forecast?\u003c\/span\u003e\u003c\/h3\u003e\n\n\u003cp\u003eOpen the \u003ca href=\"\/products\/spinning-classes-financial-model\"\u003eIndoor Cycling Studio Financial Model Template\u003c\/a\u003e for the dashboard, assumptions, revenue, cash need, and owner take-home.\u003c\/p\u003e\n\n\u003ch4\u003eOwner-income model highlights\u003c\/h4\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eOccupancy\u003c\/strong\u003e tests 45% to 85%\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRevenue\u003c\/strong\u003e spans $769k to $3.952M\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eEBITDA\u003c\/strong\u003e spans $90k to $2.685M\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFixed expenses\u003c\/strong\u003e at $17,350\/month\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePayroll\u003c\/strong\u003e by role\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBuildout\u003c\/strong\u003e and equipment: $215k\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCharts\u003c\/strong\u003e for cash and payback\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"image-section_blog image-2_new_design_blog\"\u003e\n\n\u003cdiv class=\"preview-card\" data-preview-src=\"\/cdn\/shop\/files\/spinning-classes-financial-model-dashboard-financialmodelslab_087ba367-eccb-498b-bc3c-28a24204a859.webp\"\u003e\n\u003cimg class=\"preview-img\" width=\"100%\" height=\"auto\" src=\"\/cdn\/shop\/files\/spinning-classes-financial-model-dashboard-financialmodelslab_087ba367-eccb-498b-bc3c-28a24204a859.webp?width=500\" alt=\"Indoor Cycling Studio Financial Model dashboard summarizes key KPIs, runway, cash position and performance with a dynamic dashboard, investor-ready charts and quick visibility into cash-flow blind spots.\"\u003e\n\u003cdiv class=\"preview-overlay\"\u003e\n\u003cbutton class=\"preview-btn\" type=\"button\" style=\"align-items: center; vertical-align: middle; display: inline-flex; justify-content: center; gap: 6px; line-height: 1;\"\u003e\nPREVIEW \u003csvg fill=\"#fff\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\" role=\"presentation\" viewbox=\"0 0 448 512\" width=\"14\"\u003e\u003cpath d=\"M416 176V86.63L246.6 256L416 425.4V336c0-8.844 7.156-16 16-16s16 7.156 16 16v128c0 8.844-7.156 16-16 16h-128c-8.844 0-16-7.156-16-16s7.156-16 16-16h89.38L224 278.6L54.63 448H144C152.8 448 160 455.2 160 464S152.8 480 144 480h-128C7.156 480 0 472.8 0 464v-128C0 327.2 7.156 320 16 320S32 327.2 32 336v89.38L201.4 256L32 86.63V176C32 184.8 24.84 192 16 192S0 184.8 0 176v-128C0 39.16 7.156 32 16 32h128C152.8 32 160 39.16 160 48S152.8 64 144 64H54.63L224 233.4L393.4 64H304C295.2 64 288 56.84 288 48S295.2 32 304 32h128C440.8 32 448 39.16 448 48v128C448 184.8 440.8 192 432 192S416 184.8 416 176z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eHow does the owner role change indoor cycling studio income?\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\n\u003cp\u003eFor an \u003cstrong\u003eIndoor Cycling Studio\u003c\/strong\u003e, the owner role can lift cash flow if the owner teaches or handles management, but that is labor replacement, not pure profit. A manager-run setup usually adds about \u003cstrong\u003e$75k\u003c\/strong\u003e in studio manager and instructor payroll, which supports scale but raises the break-even bar. Owner teaching also cuts instructor dependence, yet it caps time, so a second location only makes sense after occupancy, payroll, rent, cash reserves, payback, retention, and class utilization are already proven.\u003c\/p\u003e\n\u003cdiv class=\"container_2_clmn_row\"\u003e\n\u003cdiv class=\"card_smpl\"\u003e\n\u003cdiv class=\"card_smpl_header\"\u003e\n\u003cimg src=\"\/cdn\/shop\/files\/fml_20_fml-Orange-blog-intro-icon.svg\" alt=\"Icon\" class=\"icon_how_to_use\"\u003e\u003ch3\u003eOwner-run cash effect\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eOwner labor\u003c\/strong\u003e can replace payroll\u003c\/li\u003e\n\u003cli\u003eBoosts cash available near term\u003c\/li\u003e\n\u003cli\u003eNot the same as pure profit\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTime\u003c\/strong\u003e becomes the real limit\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card_smpl blue_card\"\u003e\n\u003cdiv class=\"card_smpl_header\"\u003e\n\u003cimg src=\"\/cdn\/shop\/files\/fml_20_fml-Orange-blog-colons-icon.svg\" alt=\"Icon\" class=\"icon_how_to_use\"\u003e\u003ch3\u003eScale only when ready\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eManager-run adds \u003cstrong\u003e$75k\u003c\/strong\u003e payroll\u003c\/li\u003e\n\u003cli\u003eCan support larger class volume\u003c\/li\u003e\n\u003cli\u003eSecond site needs stable occupancy\u003c\/li\u003e\n\u003cli\u003eWait for proven retention and utilization\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eWhat indoor cycling studio costs reduce owner take-home most?\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\n\u003cp\u003eFor an Indoor Cycling Studio, \u003cstrong\u003epayroll\u003c\/strong\u003e and \u003cstrong\u003erent\u003c\/strong\u003e hit owner take-home first. Year 1 payroll is \u003cstrong\u003e$295k\u003c\/strong\u003e and rises to \u003cstrong\u003e$465k\u003c\/strong\u003e by Year 5, while rent is \u003cstrong\u003e$12k\/month\u003c\/strong\u003e and total fixed facility costs reach \u003cstrong\u003e$17,350\/month\u003c\/strong\u003e; if you’re mapping the model, see \u003ca href=\"\/blogs\/write-business-plan\/spinning-classes\"\u003eHow Do I Write An Indoor Cycling Studio Business Plan?\u003c\/a\u003e. \u003cstrong\u003eMarketing\u003c\/strong\u003e and the \u003cstrong\u003e$215k\u003c\/strong\u003e buildout also drain cash fast, so the studio has to fill classes early just to protect take-home.\u003c\/p\u003e\n\u003cdiv class=\"container_2_clmn_row\"\u003e\n\u003cdiv class=\"card_smpl blue_card\"\u003e\n\u003cdiv class=\"card_smpl_header\"\u003e\n\u003cimg src=\"\/cdn\/shop\/files\/fml_20_fml-Orange-blog-colons-icon.svg\" alt=\"Icon\" class=\"icon_how_to_use\"\u003e\u003ch3\u003eYear 1 pressure\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003ePayroll:\u003c\/strong\u003e $295k in Year 1\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRent:\u003c\/strong\u003e $12k per month\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFixed facility:\u003c\/strong\u003e $17,350 per month\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCapex:\u003c\/strong\u003e $215k up front\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card_smpl\"\u003e\n\u003cdiv class=\"card_smpl_header\"\u003e\n\u003cimg src=\"\/cdn\/shop\/files\/fml_20_fml-Orange-blog-intro-icon.svg\" alt=\"Icon\" class=\"icon_how_to_use\"\u003e\u003ch3\u003eOther cash drains\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eMerchant fees:\u003c\/strong\u003e 30% in Year 1\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSupplies and towels:\u003c\/strong\u003e 40%\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMarketing:\u003c\/strong\u003e 80%\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMusic licensing:\u003c\/strong\u003e 20%\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eCan an indoor cycling studio support an owner?\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\n\u003cp\u003eYes, an Indoor Cycling Studio can support an owner, but only after payroll, rent, marketing, supplies, reserves, and debt service are covered; \u003ca href=\"\/blogs\/kpi-metrics\/spinning-classes\"\u003eWhat Are The 5 Core KPIs For Indoor Cycling Studio Business?\u003c\/a\u003e ties directly to that owner-pay question. The model shows \u003cstrong\u003eYear 1 EBITDA of $90k on $769k revenue\u003c\/strong\u003e, but real owner income gets tight after reserves; by \u003cstrong\u003eYear 2, EBITDA reaches $614k on $1.486M revenue\u003c\/strong\u003e if occupancy rises to \u003cstrong\u003e60%\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cdiv class=\"container_2_clmn_row\"\u003e\n\u003cdiv class=\"card_smpl blue_card\"\u003e\n\u003cdiv class=\"card_smpl_header\"\u003e\n\u003cimg src=\"\/cdn\/shop\/files\/fml_20_fml-Orange-blog-colons-icon.svg\" alt=\"Icon\" class=\"icon_how_to_use\"\u003e\u003ch3\u003eOwner-pay math\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eYear 1 EBITDA margin: \u003cstrong\u003e11.7%\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003eYear 2 EBITDA margin: \u003cstrong\u003e41.3%\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003eOwner pay starts after reserves\u003c\/li\u003e\n\u003cli\u003eDebt service cuts take-home cash\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card_smpl\"\u003e\n\u003cdiv class=\"card_smpl_header\"\u003e\n\u003cimg src=\"\/cdn\/shop\/files\/fml_20_fml-Orange-blog-intro-icon.svg\" alt=\"Icon\" class=\"icon_how_to_use\"\u003e\u003ch3\u003eMain levers\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003ePush occupancy toward \u003cstrong\u003e60%\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003eProtect pricing per class\u003c\/li\u003e\n\u003cli\u003eControl instructor payroll load\u003c\/li\u003e\n\u003cli\u003eKeep rent discipline tight\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\n\n\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eWhat really moves indoor cycling studio owner income?\n\u003c\/span\u003e\u003c\/h2\u003e\n\u003csection class=\"fml-main-income-drivers\" aria-label=\"Main income drivers for an indoor cycling studio\"\u003e\u003carticle class=\"driver-option is-cards\"\u003e\u003cdiv class=\"main-driver-grid\"\u003e\n\u003carticle class=\"main-driver-card is-primary\"\u003e\u003cdiv class=\"main-driver-heading\"\u003e\n\u003cspan class=\"driver-rank\"\u003e1\u003c\/span\u003e\u003ch4\u003eOccupancy\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e45%-85%\u003c\/strong\u003e\u003cp\u003eMore filled bikes lift revenue fast because every extra rider spreads the same rent, payroll, and utility base.\u003c\/p\u003e\u003c\/article\u003e\u003carticle class=\"main-driver-card\"\u003e\u003cdiv class=\"main-driver-heading\"\u003e\n\u003cspan class=\"driver-rank\"\u003e2\u003c\/span\u003e\u003ch4\u003ePrice Mix\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e$110-$260\u003c\/strong\u003e\u003cp\u003eRaising peak, off-peak, and weekend pricing improves cash per class and pushes owner take-home without adding seats.\u003c\/p\u003e\u003c\/article\u003e\u003carticle class=\"main-driver-card\"\u003e\u003cdiv class=\"main-driver-heading\"\u003e\n\u003cspan class=\"driver-rank\"\u003e3\u003c\/span\u003e\u003ch4\u003eClass Density\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e105\/mo\u003c\/strong\u003e\u003cp\u003eRunning more peak, off-peak, and weekend sessions improves revenue leverage from the same studio space.\u003c\/p\u003e\u003c\/article\u003e\u003carticle class=\"main-driver-card\"\u003e\u003cdiv class=\"main-driver-heading\"\u003e\n\u003cspan class=\"driver-rank\"\u003e4\u003c\/span\u003e\u003ch4\u003eInstructor Pay\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e$295K-$465K\u003c\/strong\u003e\u003cp\u003eInstructor payroll is a major swing cost, so wage growth can erase profit if headcount rises faster than demand.\u003c\/p\u003e\u003c\/article\u003e\u003carticle class=\"main-driver-card\"\u003e\u003cdiv class=\"main-driver-heading\"\u003e\n\u003cspan class=\"driver-rank\"\u003e5\u003c\/span\u003e\u003ch4\u003eFixed Costs\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e$17.35K\/mo\u003c\/strong\u003e\u003cp\u003eRent, software, insurance, cleaning, and maintenance set the monthly break-even floor and limit cash left for owners.\u003c\/p\u003e\u003c\/article\u003e\u003carticle class=\"main-driver-card\"\u003e\u003cdiv class=\"main-driver-heading\"\u003e\n\u003cspan class=\"driver-rank\"\u003e6\u003c\/span\u003e\u003ch4\u003eMarketing Efficiency\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e8%-4%\u003c\/strong\u003e\u003cp\u003eLower ad spend as a share of sales keeps more gross profit, especially once repeat riders reduce paid acquisition.\u003c\/p\u003e\u003c\/article\u003e\n\u003c\/div\u003e\u003c\/article\u003e\u003c\/section\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eIndoor Cycling Studio Core Six Income Drivers\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\u003cbr\u003e\n\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eBike occupancy and class utilization\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"left-row1\"\u003e\n    \u003ch3\u003eBike Occupancy Sets Owner Pay\u003c\/h3\u003e\n    \u003cp\u003e\u003cstrong\u003eOccupancy\u003c\/strong\u003e is the main income lever because the room, software, rent, and most payroll are fixed. In the model, occupancy rises from \u003cstrong\u003e45%\u003c\/strong\u003e in Year 1 to \u003cstrong\u003e85%\u003c\/strong\u003e in Year 5, lifting revenue from \u003cstrong\u003e$769k\u003c\/strong\u003e to \u003cstrong\u003e$3.952M\u003c\/strong\u003e and EBITDA, or cash operating profit, from \u003cstrong\u003e$90k\u003c\/strong\u003e to \u003cstrong\u003e$2.685M\u003c\/strong\u003e. More filled bikes spread fixed costs over more rides, so owner draw improves fast.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"right-row1\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eFill the Right Classes First\u003c\/h3\u003e\n      \u003cp\u003eMeasure occupancy as \u003cstrong\u003efilled bikes ÷ total bikes\u003c\/strong\u003e. Track peak, off-peak, and weekend rides separately, plus waitlists and local demand by zip code. Strong instructors and peak slots usually fill first; adding classes before demand exists just adds labor and weak cash flow. One clean rule: don’t add a class unless it can hold its own fill rate.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eWatch fill rate by time slot.\u003c\/li\u003e\n        \u003cli\u003eUse waitlists before adding rides.\u003c\/li\u003e\n        \u003cli\u003eCut weak classes fast.\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"timeline\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"step-circle step1\"\u003e1\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003ePricing, packages, and membership mix\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"right-row2\"\u003e\n    \u003ch3\u003ePricing, packages, and membership mix\u003c\/h3\u003e\n    \u003cp\u003ePrice mix matters more than the headline rate. In this model, peak pricing rises from \u003cstrong\u003e$220\u003c\/strong\u003e to \u003cstrong\u003e$260\u003c\/strong\u003e, off-peak from \u003cstrong\u003e$140\u003c\/strong\u003e to \u003cstrong\u003e$180\u003c\/strong\u003e, and weekend sessions from \u003cstrong\u003e$110\u003c\/strong\u003e to \u003cstrong\u003e$130\u003c\/strong\u003e. Higher prices lift owner income only if \u003cstrong\u003eoccupancy\u003c\/strong\u003e and \u003cstrong\u003eretention\u003c\/strong\u003e hold, because empty bikes and churn erase the gain fast.\u003c\/p\u003e\n    \u003cp\u003eMemberships and packs improve cash flow by bringing money in before every ride is used. Discounts can fill bikes, but they also pull down average revenue per rider. The key inputs are \u003cstrong\u003ecustomers\u003c\/strong\u003e, \u003cstrong\u003erepeat rides\u003c\/strong\u003e, \u003cstrong\u003eintro-offer conversion\u003c\/strong\u003e, \u003cstrong\u003echurn\u003c\/strong\u003e, and class fill by time slot. One clean rule: price should rise only when demand stays solid.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"left-row2\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eTrack price, not just sales\u003c\/h3\u003e\n      \u003cp\u003eMeasure revenue by class type, not just total monthly sales. A small price lift can help profit because rent, software, and most payroll are fixed, but only if the same bikes still sell. Track \u003cstrong\u003eoccupancy\u003c\/strong\u003e, \u003cstrong\u003eaverage revenue per visit\u003c\/strong\u003e, and \u003cstrong\u003erepeat ride rate\u003c\/strong\u003e by peak, off-peak, and weekend slots.\u003c\/p\u003e\n      \u003cp\u003eUse the mix to protect cash: sell packs for flexibility, memberships for steadier collections, and discounts only when they do not weaken full-price demand. Watch \u003cstrong\u003echurn\u003c\/strong\u003e after any price change. If intro offers convert but riders do not come back, the lower first-month price just buys short-term fill, not owner pay.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003e\n\u003cstrong\u003eTrack\u003c\/strong\u003e churn by package.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eTest\u003c\/strong\u003e price by class time.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eCompare\u003c\/strong\u003e full-price and discounted rides.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eMonitor\u003c\/strong\u003e repeat rides weekly.\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"timeline\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"step-circle step2\"\u003e2\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eClass schedule density\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n\u003cdiv class=\"left-row3\"\u003e\n\u003ch3\u003eClass Schedule Density\u003c\/h3\u003e\n\u003cp\u003eSchedule density is how many classes you put on the calendar and when. This model uses \u003cstrong\u003e35 peak\u003c\/strong\u003e, \u003cstrong\u003e35 off-peak\u003c\/strong\u003e, and \u003cstrong\u003e35 weekend\u003c\/strong\u003e sessions, or \u003cstrong\u003e105 total\u003c\/strong\u003e. Peak and weekend rides usually fill better, so they protect revenue and gross margin. Too many weak off-peak classes can add instructor pay and energy costs without enough sales, which cuts owner draw.\u003c\/p\u003e\n\u003cp\u003eThe key test is \u003cstrong\u003erevenue per class\u003c\/strong\u003e, not schedule size. Add sessions only when waitlists, instructor coverage, and local demand support them. If off-peak classes run light, each extra ride can lower cash flow because the room and labor are already committed. One empty class can matter more than one more time slot.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"right-row3\"\u003e\n\u003cdiv class=\"tips-box\"\u003e\n\u003ch3\u003eTrack Revenue per Class\u003c\/h3\u003e\n\u003cp\u003eMeasure each slot by fill rate, attendance, and dollars per class. Split the calendar into peak, off-peak, and weekend, then compare them weekly. Use a simple rule: if a new class does not lift total class revenue enough to cover instructor cost, keep the schedule tight. That protects margin and keeps fixed labor from eating owner profit.\u003c\/p\u003e\n\u003cp\u003eTrack these inputs:\u003c\/p\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eWaitlist size by slot\u003c\/li\u003e\n\u003cli\u003eInstructor coverage\u003c\/li\u003e\n\u003cli\u003eLocal demand by daypart\u003c\/li\u003e\n\u003cli\u003eRevenue per class\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eWhen peak and weekend sessions earn more than off-peak, shift capacity there first. That usually improves cash flow faster than adding more total classes.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"timeline\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"step-circle step3\"\u003e3\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eInstructor payroll and class labor\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n\u003cdiv class=\"right-row4\"\u003e\n\u003ch3\u003eInstructor Payroll\u003c\/h3\u003e\n\u003cp\u003e\u003cstrong\u003eInstructor payroll\u003c\/strong\u003e cuts straight into owner take-home because every class needs paid labor before profit shows up. The model uses a \u003cstrong\u003e$60k lead instructor\u003c\/strong\u003e, junior instructors at \u003cstrong\u003e$45k each\u003c\/strong\u003e, and staffing growth from \u003cstrong\u003e20 junior full-time equivalent (FTE)\u003c\/strong\u003e roles in Year 1 to \u003cstrong\u003e50\u003c\/strong\u003e in Year 5, with total wages rising from \u003cstrong\u003e$295k\u003c\/strong\u003e to \u003cstrong\u003e$465k\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cp\u003eOwner-taught classes can protect cash early, but that is still owner labor. The real test is whether each added class covers instructor pay and leaves room for draw; if substitute coverage is weak, a sick day can mean a canceled class, lost revenue, or overtime that eats margin.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"left-row4\"\u003e\n\u003cdiv class=\"tips-box\"\u003e\n\u003ch3\u003eTrack labor per class\u003c\/h3\u003e\n\u003cp\u003eMeasure \u003cstrong\u003ewage cost per class\u003c\/strong\u003e, \u003cstrong\u003eclasses covered by non-owner staff\u003c\/strong\u003e, and \u003cstrong\u003esubstitute fill rate\u003c\/strong\u003e. If junior instructors can run the same format with the same occupancy, labor becomes repeatable instead of founder-dependent.\u003c\/p\u003e\n\u003cp\u003eKeep hiring tied to demand. Add staff only when class volume and occupancy support it, and check whether the wage step from \u003cstrong\u003e$295k\u003c\/strong\u003e to \u003cstrong\u003e$465k\u003c\/strong\u003e is being matched by higher revenue and steadier owner pay.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"timeline\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"step-circle step4\"\u003e4\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eFacility cost burden\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"left-row5\"\u003e\n    \u003ch3\u003eFacility Cost Burden\u003c\/h3\u003e\n    \u003cp\u003eFacility costs set the monthly floor before owner pay. Here, fixed overhead totals \u003cstrong\u003e$17,350\/month\u003c\/strong\u003e: \u003cstrong\u003e$12k rent\u003c\/strong\u003e, \u003cstrong\u003e$15k utilities and internet\u003c\/strong\u003e, \u003cstrong\u003e$450 booking software\u003c\/strong\u003e, \u003cstrong\u003e$800 insurance\u003c\/strong\u003e, \u003cstrong\u003e$2k cleaning\u003c\/strong\u003e, and \u003cstrong\u003e$600 maintenance\u003c\/strong\u003e. That means the studio must cover a big base cost every month, even when bike fill is weak.\u003c\/p\u003e\n    \u003cp\u003eThe key inputs are lease size, utility load, booking tools, insurance, cleaning, and repair spend. When occupancy drops, these bills barely move, so profit and owner draw shrink fast. Low-utilization months are the danger point: fixed costs keep running, but revenue per class falls, so the owner can get squeezed even if sales look fine on paper.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"right-row5\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eControl the Fixed Cost Floor\u003c\/h3\u003e\n      \u003cp\u003eTrack fixed cost per month and fixed cost per class. A simple test is: can expected class revenue cover \u003cstrong\u003e$17,350\u003c\/strong\u003e before owner pay? If not, the lease or schedule is too heavy for demand. One clean rule: don’t sign for more space, bikes, or utilities than current utilization can carry.\u003c\/p\u003e\n      \u003cp\u003eMatch the lease, buildout, and bike count to actual demand, not hoped-for demand. If off-peak classes stay soft, cut cost load before you add more sessions. The goal is a smaller break-even floor, because every dollar of fixed overhead removed goes straight to owner income and cash flow.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"timeline\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"step-circle step5\"\u003e5\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eRetention and marketing efficiency\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"right-row6\"\u003e\n    \u003ch3\u003eRetention and marketing efficiency\u003c\/h3\u003e\n    \u003cp\u003e\u003cstrong\u003eRetention\u003c\/strong\u003e is how many riders come back, rebook, and refer others. In this m\nodel, marketing falls from \u003cstrong\u003e8%\u003c\/strong\u003e of revenue in Year 1 to \u003cstrong\u003e4%\u003c\/strong\u003e in Year 5, so repeat attendance directly lifts profit. More return riders means better occupancy, steadier cash, and less pressure to run discount-heavy campaigns.\u003c\/p\u003e\n    \u003cp\u003eThe key inputs are \u003cstrong\u003eintro conversion\u003c\/strong\u003e, \u003cstrong\u003erepeat rides\u003c\/strong\u003e, \u003cstrong\u003ereferrals\u003c\/strong\u003e, and \u003cstrong\u003erebooking\u003c\/strong\u003e. If the studio keeps buying new riders while existing riders churn, marketing stays expensive and margins stay thin. That can look busy on the surface, but it usually leaves less cash for owner pay.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"left-row6\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eTrack repeat rides first\u003c\/h3\u003e\n      \u003cp\u003eMeasure four things each week: intro-to-member conversion, 30-day repeat rides, referral share, and rebook rate after class. If repeat rides fall, fix the class experience before increasing ad spend. The goal is to move marketing toward the model’s \u003cstrong\u003e4%\u003c\/strong\u003e level, not stay near \u003cstrong\u003e8%\u003c\/strong\u003e.\u003c\/p\u003e\n      \u003cp\u003eUse a simple rule: book the next class before the rider leaves, then follow up fast if they miss a week. Watch churn by cohort so you can see which first-time riders stick. That protects gross profit, cuts paid acquisition waste, and makes owner draws more stable.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eTrack intro conversion weekly.\u003c\/li\u003e\n        \u003cli\u003eMeasure repeat rides by cohort.\u003c\/li\u003e\n        \u003cli\u003eWatch rebooking after each class.\u003c\/li\u003e\n        \u003cli\u003eCompare referrals to paid leads.\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"timeline\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"step-circle step6\"\u003e6\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eCompare low, base, and high indoor cycling studio owner income scenarios\n\u003c\/span\u003e\u003c\/h2\u003e\n\u003csection class=\"fml-scenario-table\" aria-label=\"Indoor Cycling Studio Owner Income Scenarios\" data-site-name=\"Financial Models Lab\" data-site-url=\"https:\/\/financialmodelslab.com\" data-source-title=\"Indoor Cycling Studio Owner Income Scenarios\" data-note-label=\"Planning note\" data-note-text=\"These scenario ranges are researched planning assumptions, not guaranteed earnings, salary promises, tax advice, or distributions.\"\u003e\u003cdiv class=\"fml-scenario-table-card\"\u003e\n\u003cheader class=\"fml-scenario-table-header\"\u003e\u003cdiv\u003e\n\u003cp class=\"fml-scenario-table-eyebrow\"\u003eOwner income scenarios\u003c\/p\u003e\n\u003cp class=\"fml-scenario-table-description\"\u003eOwner income moves with class fill, pricing, and payroll scale. The low case stays tight on reserves, while the base and high cases show what stronger demand can support.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-scenario-table-actions\"\u003e\u003cbutton class=\"fml-scenario-table-export\" type=\"button\" data-scenario-export\u003eEXPORT XLSX\u003c\/button\u003e\u003c\/div\u003e\u003c\/header\u003e\u003cdiv class=\"fml-scenario-table-wrap\"\u003e\u003ctable class=\"fml-scenario-table-grid\"\u003e\n\u003ccaption\u003eCompare downside, base, and upside owner income capacity.\u003c\/caption\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth class=\"fml-scenario-table-stub\" scope=\"col\" data-export-value=\"Scenario\"\u003eScenario\u003c\/th\u003e\n\u003cth class=\"fml-scenario-table-column\" scope=\"col\" data-export-value=\"Low Case\"\u003e\n\u003cspan class=\"fml-scenario-column-title\"\u003eLow Case\u003c\/span\u003e\u003cspan class=\"fml-scenario-badge is-soft\"\u003eDownside case\u003c\/span\u003e\n\u003c\/th\u003e\n\u003cth class=\"fml-scenario-table-column\" scope=\"col\" data-export-value=\"Base Case\"\u003e\n\u003cspan class=\"fml-scenario-column-title\"\u003eBase Case\u003c\/span\u003e\u003cspan class=\"fml-scenario-badge is-soft\"\u003eBase case\u003c\/span\u003e\n\u003c\/th\u003e\n\u003cth class=\"fml-scenario-table-column\" scope=\"col\" data-export-value=\"High Case\"\u003e\n\u003cspan class=\"fml-scenario-column-title\"\u003eHigh Case\u003c\/span\u003e\u003cspan class=\"fml-scenario-badge is-warning\"\u003eUpside case\u003c\/span\u003e\n\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr data-scenario-row\u003e\n\u003cth class=\"fml-scenario-row-heading\" scope=\"row\" data-export-value=\"Launch model\"\u003e\u003cspan class=\"fml-scenario-row-heading-inner\"\u003e\u003cspan class=\"fml-scenario-row-icon is-launch\" aria-hidden=\"true\"\u003e\u003cimg class=\"fml-scenario-row-icon-img\" src=\"\/cdn\/shop\/files\/scenario-launch-model.svg\" alt=\"Launch model icon\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan\u003e\u003cspan class=\"fml-scenario-row-title\"\u003eLaunch model\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/th\u003e\n\u003ctd data-export-value=\"The low case keeps the owner draw tight because Year 1 only reaches 45% occupancy and $769k revenue.\"\u003eThe low case keeps the owner draw tight because Year 1 only reaches 45% occupancy and $769k revenue.\u003c\/td\u003e\n\u003ctd data-export-value=\"The base case models a steadier owner draw as Year 3 reaches 75% occupancy and $2.526M revenue.\"\u003eThe base case models a steadier owner draw as Year 3 reaches 75% occupancy and $2.526M revenue.\u003c\/td\u003e\n\u003ctd data-export-value=\"The high case assumes the strongest owner-pay path as Year 5 reaches 85% occupancy and $3.952M revenue.\"\u003eThe high case assumes the strongest owner-pay path as Year 5 reaches 85% occupancy and $3.952M revenue.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-scenario-row\u003e\n\u003cth class=\"fml-scenario-row-heading\" scope=\"row\" data-export-value=\"Typical setup\"\u003e\u003cspan class=\"fml-scenario-row-heading-inner\"\u003e\u003cspan class=\"fml-scenario-row-icon is-setup\" aria-hidden=\"true\"\u003e\u003cimg class=\"fml-scenario-row-icon-img\" src=\"\/cdn\/shop\/files\/scenario-typical-setup.svg\" alt=\"Typical setup icon\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan\u003e\u003cspan class=\"fml-scenario-row-title\"\u003eTypical setup\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/th\u003e\n\u003ctd data-export-value=\"This looks like a launch year with 8% digital ads, $90k EBITDA, $17.35k monthly fixed overhead, and payroll that leaves less room for owner pay after reserves.\"\u003eThis looks like a launch year with 8% digital ads, $90k EBITDA, $17.35k monthly fixed overhead, and payroll that leaves less room for owner pay after reserves.\u003c\/td\u003e\n\u003ctd data-export-value=\"This is a mature operating year with $1.442M EBITDA, 6% ad spend, and enough class demand to cover payroll, rent, and reserves more comfortably.\"\u003eThis is a mature operating year with $1.442M EBITDA, 6% ad spend, and enough class demand to cover payroll, rent, and reserves more comfortably.\u003c\/td\u003e\n\u003ctd data-export-value=\"This is the scaled case with $2.685M EBITDA, 4% ad spend, and better cash room after payroll, rent, and reserves are covered.\"\u003eThis is the scaled case with $2.685M EBITDA, 4% ad spend, and better cash room after payroll, rent, and reserves are covered.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-scenario-row\u003e\n\u003cth class=\"fml-scenario-row-heading\" scope=\"row\" data-export-value=\"Cost drivers\"\u003e\u003cspan class=\"fml-scenario-row-heading-inner\"\u003e\u003cspan class=\"fml-scenario-row-icon is-drivers\" aria-hidden=\"true\"\u003e\u003cimg class=\"fml-scenario-row-icon-img\" src=\"\/cdn\/shop\/files\/scenario-cost-drivers.svg\" alt=\"Cost drivers icon\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan\u003e\u003cspan class=\"fml-scenario-row-title\"\u003eCost drivers\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/th\u003e\n\u003ctd data-export-value=\"45% occupancy; 8% digital ads; $17.35k monthly fixed overhead; payroll load; reserve buildup\"\u003e\u003cul class=\"fml-scenario-list\"\u003e\n\u003cli\u003e45% occupancy\u003c\/li\u003e\n\u003cli\u003e8% digital ads\u003c\/li\u003e\n\u003cli\u003e$17.35k monthly fixed overhead\u003c\/li\u003e\n\u003cli\u003epayroll load\u003c\/li\u003e\n\u003cli\u003ereserve buildup\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/td\u003e\n\u003ctd data-export-value=\"75% occupancy; 6% digital ads; $1.442M EBITDA; payroll scale; fixed rent\"\u003e\u003cul class=\"fml-scenario-list\"\u003e\n\u003cli\u003e75% occupancy\u003c\/li\u003e\n\u003cli\u003e6% digital ads\u003c\/li\u003e\n\u003cli\u003e$1.442M EBITDA\u003c\/li\u003e\n\u003cli\u003epayroll scale\u003c\/li\u003e\n\u003cli\u003efixed rent\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/td\u003e\n\u003ctd data-export-value=\"85% occupancy; 4% digital ads; $2.685M EBITDA; payroll scale; reserve control\"\u003e\u003cul class=\"fml-scenario-list\"\u003e\n\u003cli\u003e85% occupancy\u003c\/li\u003e\n\u003cli\u003e4% digital ads\u003c\/li\u003e\n\u003cli\u003e$2.685M EBITDA\u003c\/li\u003e\n\u003cli\u003epayroll scale\u003c\/li\u003e\n\u003cli\u003ereserve control\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-scenario-row\u003e\n\u003cth class=\"fml-scenario-row-heading\" scope=\"row\" data-export-value=\"Owner income range\"\u003e\u003cspan class=\"fml-scenario-row-heading-inner\"\u003e\u003cspan class=\"fml-scenario-row-icon is-range\" aria-hidden=\"true\"\u003e\u003cimg class=\"fml-scenario-row-icon-img\" src=\"\/cdn\/shop\/files\/scenario-planning-range.svg\" alt=\"Owner income range icon\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan\u003e\u003cspan class=\"fml-scenario-row-title\"\u003eOwner income range\u003c\/span\u003e\u003cspan class=\"fml-scenario-row-subtitle\"\u003eBefore owner reserves\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/th\u003e\n\u003ctd data-export-value=\"$90k\"\u003e\n\u003cstrong class=\"fml-scenario-range\"\u003e$90k\u003c\/strong\u003e\u003cspan class=\"fml-scenario-badge is-soft\"\u003eTight draw\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd data-export-value=\"$1.44M\"\u003e\n\u003cstrong class=\"fml-scenario-range\"\u003e$1.44M\u003c\/strong\u003e\u003cspan class=\"fml-scenario-badge is-soft\"\u003eModeled draw\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd data-export-value=\"$2.69M\"\u003e\n\u003cstrong class=\"fml-scenario-range\"\u003e$2.69M\u003c\/strong\u003e\u003cspan class=\"fml-scenario-badge is-warning\"\u003ePeak draw\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-scenario-row\u003e\n\u003cth class=\"fml-scenario-row-heading\" scope=\"row\" data-export-value=\"Best fit\"\u003e\u003cspan class=\"fml-scenario-row-heading-inner\"\u003e\u003cspan class=\"fml-scenario-row-icon is-fit\" aria-hidden=\"true\"\u003e\u003cimg class=\"fml-scenario-row-icon-img\" src=\"\/cdn\/shop\/files\/scenario-best-fit.svg\" alt=\"Best fit icon\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan\u003e\u003cspan class=\"fml-scenario-row-title\"\u003eBest fit\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/th\u003e\n\u003ctd data-export-value=\"Use this to stress-test opening-year cash and your minimum safe owner pay.\"\u003eUse this to stress-test opening-year cash and your minimum safe owner pay.\u003c\/td\u003e\n\u003ctd data-export-value=\"Use this as the most likely planning case for cash flow and owner income.\"\u003eUse this as the most likely planning case for cash flow and owner income.\u003c\/td\u003e\n\u003ctd data-export-value=\"Use this to test upside capacity when class fill stays high and cash stays disciplined.\"\u003eUse this to test upside capacity when class fill stays high and cash stays disciplined.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\u003c\/div\u003e\n\u003cdiv class=\"fml-scenario-table-note\"\u003e\n\u003cspan class=\"fml-scenario-table-note-icon\" aria-hidden=\"true\"\u003e!\u003c\/span\u003e\u003cp\u003e\u003cstrong\u003ePlanning note:\u003c\/strong\u003e These scenario ranges are researched planning assumptions, not guaranteed earnings, salary promises, tax advice, or distributions.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e","brand":"FinancialModelsLab","offers":[{"title":"Default Title","offer_id":49304445780211,"sku":"spinning-classes-owner-makes","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6191\/2762\/files\/spinning-classes-owner-makes.webp?v=1782692886","url":"https:\/\/financialmodelslab.com\/products\/spinning-classes-owner-makes","provider":"Financial Models Lab","version":"1.0","type":"link"}