{"product_id":"bicycle-fitting-service-owner-makes","title":"Professional Bicycle Fitting Owner Income: $466k Year 1 Revenue","description":"\u003cbr\u003e\u003cdiv class=\"card_smpl\"\u003e\n\u003cp\u003eA professional bicycle fitting business owner can make money if appointment volume, pricing, and overhead stay in balance In the researched base model, Year 1 revenue is $466k and EBITDA is $181k, or about a 39% EBITDA margin after modeled payroll If the owner also fills the Lead Fitter and Manager role, the model includes a $75k salary, but extra take-home would still come after reserves, debt service, and reinvestment By Year 5, the model reaches $2045M revenue and $1346M EBITDA, but that assumes more staff, stronger demand, and lower acquisition cost\u003c\/p\u003e\n\n\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003csection class=\"fml-owner-metric-cards\" aria-label=\"Owner income KPI cards\"\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 modeled owner take-home starts at the $75k Lead Fitter salary, plus any after-reserve distribution; it excludes taxes and is a planning assumption.\"\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 modeled owner take-home starts at the $75k Lead Fitter salary, plus any after-reserve distribution; it excludes taxes and is a planning assumption.\"\u003e$75k+\u003c\/strong\u003e\u003c\/article\u003e\u003carticle class=\"metric-card\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"Year 1 EBITDA margin is 39% ($181k on $466k revenue); EBITDA excludes interest, taxes, depreciation, and amortization.\"\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=\"Year 1 EBITDA margin is 39% ($181k on $466k revenue); EBITDA excludes interest, taxes, depreciation, and amortization.\"\u003e39%\u003c\/strong\u003e\u003c\/article\u003e\u003carticle class=\"metric-card\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"About $193k of Year 1 revenue would support $75k owner pay at the modeled 39% EBITDA margin; it's a planning estimate.\"\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=\"About $193k of Year 1 revenue would support $75k owner pay at the modeled 39% EBITDA margin; it's a planning estimate.\"\u003e$193k\u003c\/strong\u003e\u003c\/article\u003e\u003carticle class=\"metric-card\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"Hard reflects the $820k cash trough in Month 2, 5-month breakeven, and heavy staffing and equipment needs in the model.\"\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=\"Hard reflects the $820k cash trough in Month 2, 5-month breakeven, and heavy staffing and equipment needs in the model.\"\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 owner pay?\n\u003c\/span\u003e\u003c\/h2\u003e\n\u003csection class=\"fml-owner-calculator\" aria-label=\"Professional Bicycle Fitting Owner Income Calculator\" data-locale=\"en-US\" data-currency=\"USD\" data-default-scenario=\"base\" data-export-filename=\"Professional Bicycle Fitting Owner Income Calculator.xlsx\" data-source-site-name=\"Financial Models Lab\" data-source-site-url=\"https:\/\/financialmodelslab.com\" data-source-page-title=\"Professional Bicycle Fitting Owner Income Calculator\" data-note-title=\"Planning note:\" data-note-text=\"Research-based planning estimate only. Actual owner income is not guaranteed, and this is not 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 the 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 collected sales in a normal operating month before expenses. Base case ties to 466000 in Year 1 revenue, or about 38833 a month.\"\u003ei\u003cspan role=\"tooltip\"\u003eAverage collected sales in a normal operating month before expenses. Base case ties to 466000 in Year 1 revenue, or about 38833 a month.\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 collected sales in a normal operating month before expenses. Base case ties to 466000 in Year 1 revenue, or about 38833 a month.\" data-low=\"30000\" data-base=\"38833\" data-high=\"60000\" name=\"monthlyRevenue\" type=\"text\" inputmode=\"numeric\" value=\"38,833\"\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 service, inventory, software, and payment costs. Year 1 variable cost load is 22%, so margin starts near 78% before owner pay.\"\u003ei\u003cspan role=\"tooltip\"\u003ePercent of revenue left after direct service, inventory, software, and payment costs. Year 1 variable cost load is 22%, so margin starts near 78% before owner pay.\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 service, inventory, software, and payment costs. Year 1 variable cost load is 22%, so margin starts near 78% before owner pay.\" name=\"grossMargin\" type=\"range\" min=\"0\" max=\"100\" step=\"1\" data-low=\"74\" data-base=\"78\" data-high=\"82\" value=\"78\"\u003e\u003coutput\u003e78%\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, contractors, and staffing coverage before owner pay. Base case is anchored to the model's Year 1 wages.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly payroll, contractors, and staffing coverage before owner pay. Base case is anchored to the model's Year 1 wages.\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, contractors, and staffing coverage before owner pay. Base case is anchored to the model's Year 1 wages.\" data-low=\"10000\" data-base=\"8125\" data-high=\"16917\" name=\"laborCost\" type=\"text\" inputmode=\"numeric\" value=\"8,125\"\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, insurance, software, and recurring studio costs. Year 1 fixed overhead is 4850 per month.\"\u003ei\u003cspan role=\"tooltip\"\u003eRent, utilities, insurance, software, and recurring studio costs. Year 1 fixed overhead is 4850 per month.\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, insurance, software, and recurring studio costs. Year 1 fixed overhead is 4850 per month.\" data-low=\"4500\" data-base=\"4850\" data-high=\"6000\" name=\"fixedOverhead\" type=\"text\" inputmode=\"numeric\" value=\"4,850\"\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 marketing and customer acquisition spend. The model starts at 12000 a year, or 1000 a month.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly marketing and customer acquisition spend. The model starts at 12000 a year, or 1000 a month.\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 marketing and customer acquisition spend. The model starts at 12000 a year, or 1000 a month.\" data-low=\"800\" data-base=\"1000\" data-high=\"1500\" name=\"marketing\" type=\"text\" inputmode=\"numeric\" value=\"1,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\u003eDebt service\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Monthly loan or financing payments, if any.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly loan or financing payments, 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 payments, if any.\" data-low=\"500\" data-base=\"0\" data-high=\"500\" 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 pay. Use a reserve that matches your filing and cash timing.\"\u003ei\u003cspan role=\"tooltip\"\u003ePercent of profit set aside for taxes before owner pay. Use a reserve that matches your filing and cash timing.\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 pay. Use a reserve that matches your filing and cash timing.\" name=\"taxReserve\" type=\"range\" min=\"0\" max=\"40\" step=\"1\" data-low=\"22\" data-base=\"20\" data-high=\"18\" value=\"20\"\u003e\u003coutput\u003e20%\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 kept for repairs, growth, working capital, and risk buffer.\"\u003ei\u003cspan role=\"tooltip\"\u003ePercent of profit kept for repairs, growth, working capital, and risk 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 kept for repairs, growth, working capital, and risk buffer.\" name=\"reinvestmentReserve\" type=\"range\" min=\"0\" max=\"35\" step=\"1\" data-low=\"10\" data-base=\"8\" data-high=\"6\" value=\"8\"\u003e\u003coutput\u003e8%\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=\"Monthly owner income goal used to calculate the target-pay gap.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly owner income goal 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=\"Monthly owner income goal used to calculate the target-pay gap.\" data-low=\"8000\" 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$11,747\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\"\u003e30%\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$35,723\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$1,747\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$140,961\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$16,315\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$4,568\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$1,747\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$38,833\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: 78%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$30,290\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: 36%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$13,975\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: 12%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$4,568\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: 30%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$11,747\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. Actual owner income is not guaranteed, and this is not 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 the full owner-income view for Professional Bicycle Fitting?\u003c\/span\u003e\u003c\/h3\u003e\n\n\u003cp\u003eThe dashboard shows \u003cstrong\u003eYear 1 revenue of $466k\u003c\/strong\u003e, \u003cstrong\u003eYear 5 revenue of $2.045M\u003c\/strong\u003e, \u003cstrong\u003eEBITDA from $181k to $1.346M\u003c\/strong\u003e, \u003cstrong\u003eMonth 5 break-even\u003c\/strong\u003e, and \u003cstrong\u003e11-month payback\u003c\/strong\u003e. Editable assumptions cover prices, hours, attachment rates, CAC, marketing, payroll, rent, software, insurance, capex, and reserves; open the \u003ca href=\"\/products\/bicycle-fitting-service-financial-model\"\u003eProfessional Bicycle Fitting Financial Model Template\u003c\/a\u003e.\u003c\/p\u003e\n\n\u003ch4\u003eOwner-income model highlights\u003c\/h4\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eOwner pay comes first\u003c\/li\u003e\n\u003cli\u003eMonthly revenue and costs\u003c\/li\u003e\n\u003cli\u003eScenarios, charts, tables\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\/bicycle-fitting-service-financial-model-dashboard-financialmodelslab_badf8e30-9579-4b73-9a66-9ae0b0d2e9d2.webp\"\u003e\n\u003cimg class=\"preview-img\" width=\"100%\" height=\"auto\" src=\"\/cdn\/shop\/files\/bicycle-fitting-service-financial-model-dashboard-financialmodelslab_badf8e30-9579-4b73-9a66-9ae0b0d2e9d2.webp?width=500\" alt=\"Professional Bicycle Fitting Financial Model summarizes key KPIs, runway, cash position and performance in a dynamic dashboard, helping founders spot cash-flow blind spots and present investor-ready charts.\"\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 many bike fits per week are needed for owner income?\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\n\u003cp\u003eFor \u003cstrong\u003eProfessional Bicycle Fitting\u003c\/strong\u003e, don’t use a universal weekly fit count; use target-pay math. Here’s the quick math: with a \u003cstrong\u003e$291.50\u003c\/strong\u003e blended ticket and \u003cstrong\u003e22%\u003c\/strong\u003e variable costs, contribution is about \u003cstrong\u003e$227\u003c\/strong\u003e per customer package, so \u003cstrong\u003e$75k\u003c\/strong\u003e of owner pay points to roughly \u003cstrong\u003e12 to 13 customer packages per week\u003c\/strong\u003e before cancellations. The fuller base model lands closer to \u003cstrong\u003e31 packages per week\u003c\/strong\u003e once you include staff, growth, and dedicated studio overhead.\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 pay math\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003e$291.50\u003c\/strong\u003e blended ticket\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e22%\u003c\/strong\u003e variable costs\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$227\u003c\/strong\u003e contribution per package\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e12 to 13\u003c\/strong\u003e packages weekly for owner pay\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\u003eBase model load\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003e$702k\u003c\/strong\u003e fixed overhead plus marketing\u003c\/li\u003e\n\u003cli\u003eIncludes staff and growth spend\u003c\/li\u003e\n\u003cli\u003eDedicated studio overhead is built in\u003c\/li\u003e\n\u003cli\u003eVolume rises to about \u003cstrong\u003e31\u003c\/strong\u003e weekly packages\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eWhat professional bicycle fitting business expenses reduce take-home most?\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\n\u003cp\u003eFor \u003cstrong\u003eProfessional Bicycle Fitting\u003c\/strong\u003e, the biggest take-home drain is the ongoing cost stack, not the one-time gear buy: \u003cstrong\u003e$4,850\u003c\/strong\u003e a month in fixed costs, led by a \u003cstrong\u003e$3,500\u003c\/strong\u003e studio lease, plus \u003cstrong\u003e$975k\u003c\/strong\u003e in Year 1 payroll. For the KPI side, see \u003ca href=\"\/blogs\/kpi-metrics\/bicycle-fitting-service\"\u003eWhat 5 KPIs Should Professional Bicycle Fitting Business Track?\u003c\/a\u003e because utilization and CAC will shape cash burn fast. Startup purchases also hit hard at \u003cstrong\u003e$74k\u003c\/strong\u003e, and variable costs run \u003cstrong\u003e22%\u003c\/strong\u003e of revenue, so reserves matter when software, equipment, and fit tools wear out.\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\u003eStartup cash needs\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003e$15k\u003c\/strong\u003e for 3D motion capture\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$12k\u003c\/strong\u003e for adjustable fit bike\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$55k\u003c\/strong\u003e for saddle pressure mapping\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$20k\u003c\/strong\u003e for studio fit-out\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\u003eOngoing profit pressure\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003e$3,500\u003c\/strong\u003e monthly studio lease\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$12k\u003c\/strong\u003e Year 1 marketing budget\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$45\u003c\/strong\u003e customer acquisition cost\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e22%\u003c\/strong\u003e variable costs on revenue\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eHow can a bicycle fitting business grow owner income?\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\n\u003cp\u003e\u003cstrong\u003eProfessional Bicycle Fitting\u003c\/strong\u003e grows owner income by booking more completed appointments, selling higher-value packages, and attaching add-ons like components and follow-up service. The model shows revenue rising from \u003cstrong\u003e$466k\u003c\/strong\u003e in Year 1 to \u003cstrong\u003e$2,045M\u003c\/strong\u003e in Year 5, while \u003cstrong\u003eEBITDA\u003c\/strong\u003e rises from \u003cstrong\u003e$181k\u003c\/strong\u003e to \u003cstrong\u003e$1,346M\u003c\/strong\u003e; premium fit pricing also moves from \u003cstrong\u003e$120\u003c\/strong\u003e to \u003cstrong\u003e$140\u003c\/strong\u003e per hour.\u003c\/p\u003e\n\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\u003eGrowth drivers\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eSell more completed fit appointments\u003c\/li\u003e\n\u003cli\u003ePush premium package pricing\u003c\/li\u003e\n\u003cli\u003eAdd parts and follow-up services\u003c\/li\u003e\n\u003cli\u003eUse staff and mobile clinics to scale\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 risks\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eQuality can slip with faster volume\u003c\/li\u003e\n\u003cli\u003eTraining and scheduling must stay tight\u003c\/li\u003e\n\u003cli\u003eCustomer follow-up protects outcomes\u003c\/li\u003e\n\u003cli\u003eMore revenue should not mean worse fits\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;\"\u003eWant to see the main income drivers?\n\u003c\/span\u003e\u003c\/h2\u003e\n\u003csection class=\"fml-main-income-drivers\" aria-label=\"Accessible label for the Main Income Drivers card grid.\"\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\u003ePaid Volume\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e31\/wk\u003c\/strong\u003e\u003cp\u003eAt about 31 customer packages a week in Year 1, booked fits are the fastest path to more owner cash.\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\u003eAverage Ticket\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e$292\u003c\/strong\u003e\u003cp\u003eA Year 1 blended ticket near $292 moves revenue hard because each upgrade or service mix shift hits every sale.\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\u003eUtilization\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e2.5h\u003c\/strong\u003e\u003cp\u003eAt 2.5 billable hours per active customer each month, tighter scheduling turns the same staff time into more revenue.\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\u003eFixed Overhead\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e$4.85K\/mo\u003c\/strong\u003e\u003cp\u003eMonthly fixed overhead of $4.85K sets the floor, so lean staffing and rent control protect take-home.\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\u003ePremium Add-ons\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e25%-40%\u003c\/strong\u003e\u003cp\u003eWith 25% cleat attachment and 40% component consult attachment in Year 1, add-ons lift ticket size without much extra demand.\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\u003eReferral Demand\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e$45 CAC\u003c\/strong\u003e\u003cp\u003eA $45 CAC means lower-cost referrals and partner leads can grow customers without eating margin.\u003c\/p\u003e\u003c\/article\u003e\n\u003c\/div\u003e\u003c\/article\u003e\u003c\/section\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eProfessional Bicycle Fitting Core Six Income Drivers\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\u003cbr\u003e\n\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003ePaid Fit Volume\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"left-row1\"\u003e\n    \u003ch3\u003ePaid Fit Volume\u003c\/h3\u003e\n    \u003cp\u003eThis driver is about completed paid bicycle fit packages, not leads. At \u003cstrong\u003e$466k\u003c\/strong\u003e Year 1 revenue, the model implies about \u003cstrong\u003e1,599 packages a year\u003c\/strong\u003e, or roughly \u003cstrong\u003e31 per week\u003c\/strong\u003e, using the \u003cstrong\u003e$291.50\u003c\/strong\u003e blended ticket. Every extra completed package adds about \u003cstrong\u003e$227\u003c\/strong\u003e contribution before fixed costs, so the owner’s take-home rises only when sessions are fully booked and completed.\u003c\/p\u003e\n    \u003cp\u003eThe catch is capacity. Premium fits use about \u003cstrong\u003e30 billable hours\u003c\/strong\u003e, and real volume gets cut by prep, documentation, follow-up, cancellations, and owner time. If sessions pile up too fast, fit quality can slip, and that hurts referrals and repeat work. One clean session is worth more than two rushed ones.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"right-row1\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eTrack Completed Fits\u003c\/h3\u003e\n      \u003cp\u003eMeasure the path from inquiry to paid completion. Track booked sessions, show rate, completed packages, and hours per fit, then compare them with the \u003cstrong\u003e31-per-week\u003c\/strong\u003e pace needed for Year 1 revenue. If completion falls, revenue falls even when interest looks strong.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eTrack completed packages weekly\u003c\/li\u003e\n        \u003cli\u003eLog cancellations and no-shows\u003c\/li\u003e\n        \u003cli\u003eProtect 30 billable hours\u003c\/li\u003e\n        \u003cli\u003eSeparate inquiries from paid work\u003c\/li\u003e\n        \u003cli\u003eKeep follow-up time in the schedule\u003c\/li\u003e\n      \u003c\/ul\u003e\n      \u003cp\u003eUse deposits, clear no-show rules, and fixed session blocks to keep the calendar tight. Watch whether each added package still contributes the expected \u003cstrong\u003e$227\u003c\/strong\u003e; if onboarding or follow-up drags, cash flow slows and owner pay gets squeezed.\u003c\/p\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;\"\u003eAverage Ticket\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n\u003cdiv class=\"right-row2\"\u003e\n\u003ch3\u003eAverage Ticket\u003c\/h3\u003e\n\u003cp\u003e\u003cstrong\u003eAverage ticket\u003c\/strong\u003e is the revenue from one completed customer package after service mix and add-ons. The key inputs are \u003cstrong\u003ebillable hours\u003c\/strong\u003e, \u003cstrong\u003ehourly rate\u003c\/strong\u003e, and \u003cstrong\u003eattachment rates\u003c\/strong\u003e; Year 1 blends to about \u003cstrong\u003e$291.50\u003c\/strong\u003e, with a premium fit at \u003cstrong\u003e$360\u003c\/strong\u003e, cleat and shoe optimization at \u003cstrong\u003e$150\u003c\/strong\u003e, and a component consult at \u003cstrong\u003e$50\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cp\u003eHigher ticket lifts cash per booking and helps cover fixed overhead faster, but only if the market accepts the price. By Year 5, premium pricing reaches \u003cstrong\u003e$140\/hour\u003c\/strong\u003e and the blended ticket rises to about \u003cstrong\u003e$301.50\u003c\/strong\u003e; if expertise, outcomes, positioning, or local demand are weak, higher quotes can cut bookings and flatten owner pay.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"left-row2\"\u003e\n\u003cdiv class=\"tips-box\"\u003e\n\u003ch3\u003eRaise the ticket mix\u003c\/h3\u003e\n\u003cp\u003eTrack realized ticket by service type each month, not just posted rates. Use the data to see whether revenue is coming from base fits or from add-ons, because the owner pays bills with collected cash, not quoted prices. One clean formula: \u003cstrong\u003eticket per customer = total service revenue ÷ completed customers\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eMeasure ticket by completed fit.\u003c\/li\u003e\n\u003cli\u003eTrack add-on attach rate.\u003c\/li\u003e\n\u003cli\u003eReview price changes by segment.\u003c\/li\u003e\n\u003cli\u003eKeep proof of fit outcomes.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eTest higher prices first on customers who care most about performance and pain relief. If conversion drops after a price move, hold the rate and improve positioning, fit quality, and local demand before pushing again.\u003c\/p\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;\"\u003eUtilization And Scheduling Efficiency\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n\u003cdiv class=\"left-row3\"\u003e\n\u003ch3\u003eUtilization and Scheduling Efficiency\u003c\/h3\u003e\n\u003cp\u003eUtilization is how much of the studio’s available fit time turns into \u003cstrong\u003epaid, completed sessions\u003c\/strong\u003e. In this model, Year 1 averages \u003cstrong\u003e25 billable hours\u003c\/strong\u003e per active customer, rising to \u003cstrong\u003e30\u003c\/strong\u003e by Year 5, so each rider can produce more income only if the calendar stays full and the work actually gets finished. A strong inquiry pipeline still misses the mark if gaps, no-shows, or rushed follow-up cut completed sessions.\u003c\/p\u003e\n\u003cp\u003eHere’s the quick math: if cancellation rate rises, completed sessions drop \u003cstrong\u003ebefore revenue is calculated\u003c\/strong\u003e. That hits cash flow first, then gross profit, then owner pay. Long onboarding also hurts repeat visits and referrals, which means fewer future billable hours from the same customer base. One empty slot is lost revenue; several in a week start to change the month.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"right-row3\"\u003e\n\u003cdiv class=\"tips-box\"\u003e\n\u003ch3\u003eProtect Billable Fit Hours\u003c\/h3\u003e\n\u003cp\u003eTrack \u003cstrong\u003ebooked hours, completed hours, cancellation rate, no-shows,\u003c\/strong\u003e and \u003cstrong\u003efollow-up completion\u003c\/strong\u003e each week. The useful measure is not just leads; it’s completed paid fit time per active customer. If Year 1 is \u003cstrong\u003e25 hours\u003c\/strong\u003e, then every process that saves one extra completed hour per customer lifts revenue without adding much overhead.\u003c\/p\u003e\n\u003cp\u003eUse \u003cstrong\u003edeposits\u003c\/strong\u003e, realistic session blocks, clear no-show rules, and structured follow-up to keep the schedule tight. Separate this from demand generation: more inquiries do not help if appointments leave holes. One clean rule helps here: protect the calendar like inventory, because unused fit time can’t be sold later.\u003c\/p\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eCount completed sessions, not inquiries.\u003c\/li\u003e\n\u003cli\u003eReduce gaps between fit blocks.\u003c\/li\u003e\n\u003cli\u003eRequire deposits on booking.\u003c\/li\u003e\n\u003cli\u003eTrack cancellations before revenue.\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 step3\"\u003e3\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eFixed Overhead\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"right-row4\"\u003e\n    \u003ch3\u003eFixed Overhead\u003c\/h3\u003e\n    \u003cp\u003e\u003cstrong\u003eFixed overhead\u003c\/strong\u003e is the monthly cost you pay before one more fit is booked: \u003cstrong\u003e$3,500\u003c\/strong\u003e lease, \u003cstrong\u003e$450\u003c\/strong\u003e utilities and internet, \u003cstrong\u003e$250\u003c\/strong\u003e liability insurance, \u003cstrong\u003e$150\u003c\/strong\u003e booking software, \u003cstrong\u003e$300\u003c\/strong\u003e professional development, and \u003cstrong\u003e$200\u003c\/strong\u003e cleaning. That totals \u003cstrong\u003e$4,850\u003c\/strong\u003e a month, and it hits owner pay first because it sits above gross profit.\u003c\/p\u003e\n    \u003cp\u003eHere’s the quick math: at about \u003cstrong\u003e$227\u003c\/strong\u003e contribution per completed package in Year 1, you need roughly \u003cstrong\u003e22\u003c\/strong\u003e paid packages a month just to cover studio overhead before paying yourself. What this estimate hides is cash timing. The model says startup capex is \u003cstrong\u003e$74k\u003c\/strong\u003e before working cash, and Year 1 minimum cash need peaks at \u003cstrong\u003e$820k\u003c\/strong\u003e in \u003cstrong\u003eMonth 2\u003c\/strong\u003e.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"left-row4\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eStress-test studio costs early\u003c\/h3\u003e\n      \u003cp\u003eTrack \u003cstrong\u003emonthly fixed costs\u003c\/strong\u003e, \u003cstrong\u003ecompleted packages\u003c\/strong\u003e, and \u003cstrong\u003ecash runway\u003c\/strong\u003e in one sheet. Use those inputs to test whether booked fits clear the \u003cstrong\u003e22-package\u003c\/strong\u003e break-even point. If not, the rent structure is too heavy for current demand, and owner pay will stay thin even if gross sales look busy.\u003c\/p\u003e\n      \u003cp\u003eKeep deposits, no-show rules, and session blocks tight so the calendar turns into paid work, not idle time. A lean home-based or shared-space model may cut overhead, but this studio model only works if volume stays steady. One clean rule: if fixed costs rise faster than booked fits, delay expansion.\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;\"\u003ePremium Add-Ons\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n\u003cdiv class=\"left-row5\"\u003e\n\u003ch3\u003ePremium Add-Ons\u003c\/h3\u003e\n\u003cp\u003ePremium add-ons lift reve\nnue per fit without chasing more bookings. In Year 1, cleat and shoe optimization is modeled at \u003cstrong\u003e25%\u003c\/strong\u003e of customers and component upgrade consultation at \u003cstrong\u003e40%\u003c\/strong\u003e; by Year 5 those rise to \u003cstrong\u003e45%\u003c\/strong\u003e and \u003cstrong\u003e60%\u003c\/strong\u003e. That improves the average ticket and owner draw, but only if the add-ons solve rider pain and fit cleanly into the session.\u003c\/p\u003e\n\u003cp\u003eHere’s the quick math: cleat and shoe optimization is a \u003cstrong\u003e$150\u003c\/strong\u003e service, and component consultation is \u003cstrong\u003e$50\u003c\/strong\u003e for \u003cstrong\u003e0.5 hour\u003c\/strong\u003e. More attach rate means more revenue per completed fit, with less reliance on new leads. The catch is time creep; if add-ons spill into unpaid prep or callbacks, margin and cash flow fall.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"right-row5\"\u003e\n\u003cdiv class=\"tips-box\"\u003e\n\u003ch3\u003eTrack Attach Rate and Time\u003c\/h3\u003e\n\u003cp\u003eTrack attach rate, meaning the share of fit clients who buy an add-on, by service, not just total ticket. Watch the percent of completed fits that buy each add-on, the extra minutes per appointment, and how often follow-up visits convert. The goal is a higher \u003cstrong\u003eaverage ticket\u003c\/strong\u003e without hurting fit quality or slowing the calendar.\u003c\/p\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eTrack cleat and shoe attach rate.\u003c\/li\u003e\n\u003cli\u003eTrack component consult attach rate.\u003c\/li\u003e\n\u003cli\u003eMeasure extra minutes per fit.\u003c\/li\u003e\n\u003cli\u003eLog follow-up visit conversion.\u003c\/li\u003e\n\u003cli\u003eCheck gross margin after labor.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003ePrice the add-on against the rider problem, not the calendar. Cleat setup, saddle pressure mapping, motion analysis, follow-up appointments, and maintenance coordination work when they reduce discomfort or improve power. Keep retail product sales separate unless you are modeling inventory and \u003cstrong\u003ecost of goods sold\u003c\/strong\u003e risk.\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;\"\u003eReferral And Partnership Demand\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"right-row6\"\u003e\n    \u003ch3\u003eReferral And Partnership Demand\u003c\/h3\u003e\n    \u003cp\u003e\u003cstrong\u003eReferral and partnership demand\u003c\/strong\u003e turns trusted introductions into booked paid fits, so it raises income only when it fills the calendar with completed sessions. At \u003cstrong\u003e$12k\u003c\/strong\u003e marketing spend and \u003cstrong\u003e$45 CAC\u003c\/strong\u003e, Year 1 buys about \u003cstrong\u003e267\u003c\/strong\u003e booked customers if acquisition converts cleanly. By Year 5, \u003cstrong\u003e$25k\u003c\/strong\u003e at \u003cstrong\u003e$35 CAC\u003c\/strong\u003e supports about \u003cstrong\u003e714\u003c\/strong\u003e booked customers, which lowers cash strain per fit.\u003c\/p\u003e\n    \u003cp\u003eThe key inputs are channel mix, referral conversion, booked-fit rate, and cancellation rate. \u003cstrong\u003eTraffic and likes do not pay rent\u003c\/strong\u003e; completed fits do. If one shop, coach, or club source slows, utilization can drop fast, so owner pay can fall even when ad spend stays flat. Lower CAC helps, but only if those leads become paid sessions.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"left-row6\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eTrack Booked Fits By Source\u003c\/h3\u003e\n      \u003cp\u003eMeasure each source by \u003cstrong\u003ebooked paid fits\u003c\/strong\u003e, \u003cstrong\u003eCAC\u003c\/strong\u003e, and show rate, then cut anything that sends interest but not appointments. Here’s the quick math: \u003cstrong\u003e$12k \/ $45 = 267\u003c\/strong\u003e booked customers in Year 1, while \u003cstrong\u003e$25k \/ $35 = 714\u003c\/strong\u003e by Year 5 if conversion holds. Spread leads across bike shops, coaches, clubs, physical therapists, event groups, and riders so one dry channel does not stall cash flow.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003e\n\u003cstrong\u003eBook\u003c\/strong\u003e every referral to a source.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eReview\u003c\/strong\u003e CAC and no-shows monthly.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eReward\u003c\/strong\u003e partners for fit appointments.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eReplace\u003c\/strong\u003e weak sources 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 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 owner-income scenarios\n\u003c\/span\u003e\u003c\/h2\u003e\n\u003csection class=\"fml-scenario-table\" aria-label=\"Professional Bicycle Fitting Owner Income Scenarios\" data-site-name=\"Financial Models Lab\" data-site-url=\"https:\/\/financialmodelslab.com\" data-source-title=\"Professional Bicycle Fitting 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 shifts with revenue, pricing mix, staffing, and overhead. The cases below show how a lean opening year compares with a scaled studio.\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\u003eLow, base, and high cases show how much cash the owner can reasonably model from this studio.\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\"\u003eLow 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\"\u003eHigh 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=\"Lower owner income tracks the opening year while the studio ramps.\"\u003eLower owner income tracks the opening year while the studio ramps.\u003c\/td\u003e\n\u003ctd data-export-value=\"Modeled owner income tracks the Year 3 operating case.\"\u003eModeled owner income tracks the Year 3 operating case.\u003c\/td\u003e\n\u003ctd data-export-value=\"Stronger owner income tracks the Year 5 upside case.\"\u003eStronger owner income tracks the Year 5 upside case.\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=\"Year 1 is $466k revenue, $181k EBITDA, 39% margin, $12k marketing, $45 CAC, 22% variable costs, and $4,850 monthly fixed overhead.\"\u003eYear 1 is $466k revenue, $181k EBITDA, 39% margin, $12k marketing, $45 CAC, 22% variable costs, and $4,850 monthly fixed overhead.\u003c\/td\u003e\n\u003ctd data-export-value=\"Year 3 reaches $1.190M revenue and $710k EBITDA, with 60% margin, $18k marketing, $40 CAC, 19.6% variable costs, and lead fitter plus assistant support.\"\u003eYear 3 reaches $1.190M revenue and $710k EBITDA, with 60% margin, $18k marketing, $40 CAC, 19.6% variable costs, and lead fitter plus assistant support.\u003c\/td\u003e\n\u003ctd data-export-value=\"Year 5 reaches $2.045M revenue and $1.346M EBITDA, with 66% margin, $25k marketing, $35 CAC, 17.2% variable costs, and broader staffing support.\"\u003eYear 5 reaches $2.045M revenue and $1.346M EBITDA, with 66% margin, $25k marketing, $35 CAC, 17.2% variable costs, and broader staffing support.\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=\"Year 1 revenue; 39% EBITDA margin; $12k marketing; $45 CAC; 22% variable cost load\"\u003e\u003cul class=\"fml-scenario-list\"\u003e\n\u003cli\u003eYear 1 revenue\u003c\/li\u003e\n\u003cli\u003e39% EBITDA margin\u003c\/li\u003e\n\u003cli\u003e$12k marketing\u003c\/li\u003e\n\u003cli\u003e$45 CAC\u003c\/li\u003e\n\u003cli\u003e22% variable cost load\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/td\u003e\n\u003ctd data-export-value=\"Year 3 revenue; 60% EBITDA margin; $18k marketing; $40 CAC; 19.6% variable cost load\"\u003e\u003cul class=\"fml-scenario-list\"\u003e\n\u003cli\u003eYear 3 revenue\u003c\/li\u003e\n\u003cli\u003e60% EBITDA margin\u003c\/li\u003e\n\u003cli\u003e$18k marketing\u003c\/li\u003e\n\u003cli\u003e$40 CAC\u003c\/li\u003e\n\u003cli\u003e19.6% variable cost load\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/td\u003e\n\u003ctd data-export-value=\"Year 5 revenue; 66% EBITDA margin; $25k marketing; $35 CAC; 17.2% variable cost load\"\u003e\u003cul class=\"fml-scenario-list\"\u003e\n\u003cli\u003eYear 5 revenue\u003c\/li\u003e\n\u003cli\u003e66% EBITDA margin\u003c\/li\u003e\n\u003cli\u003e$25k marketing\u003c\/li\u003e\n\u003cli\u003e$35 CAC\u003c\/li\u003e\n\u003cli\u003e17.2% variable cost load\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=\"$75k salary only\"\u003e\n\u003cstrong class=\"fml-scenario-range\"\u003e$75k salary only\u003c\/strong\u003e\u003cspan class=\"fml-scenario-badge is-soft\"\u003eLow Case\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd data-export-value=\"$75k plus EBITDA cushion\"\u003e\n\u003cstrong class=\"fml-scenario-range\"\u003e$75k plus EBITDA cushion\u003c\/strong\u003e\u003cspan class=\"fml-scenario-badge is-soft\"\u003eBase Case\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd data-export-value=\"$75k plus upside\"\u003e\n\u003cstrong class=\"fml-scenario-range\"\u003e$75k plus upside\u003c\/strong\u003e\u003cspan class=\"fml-scenario-badge is-warning\"\u003eHigh Case\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 a slow sales ramp.\"\u003eUse this to stress test opening-year cash and a slow sales ramp.\u003c\/td\u003e\n\u003ctd data-export-value=\"Use this as the normal case after repeat customers and fuller utilization.\"\u003eUse this as the normal case after repeat customers and fuller utilization.\u003c\/td\u003e\n\u003ctd data-export-value=\"Use this to test upside if volume, pricing, and staffing all improve.\"\u003eUse this to test upside if volume, pricing, and staffing all improve.\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":49303679467763,"sku":"bicycle-fitting-service-owner-makes","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6191\/2762\/files\/bicycle-fitting-service-owner-makes.webp?v=1782676529","url":"https:\/\/financialmodelslab.com\/products\/bicycle-fitting-service-owner-makes","provider":"Financial Models Lab","version":"1.0","type":"link"}