{"product_id":"carpet-cleaning-owner-makes","title":"How Much Carpet Cleaning Owners Make: $55K Salary Plus Profit","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 tell the difference between revenue, profit, and real carpet cleaning owner pay In this five-year US planning model, the owner salary is \u003cstrong\u003e$55,000 per year\u003c\/strong\u003e, EBITDA moves from \u003cstrong\u003e$13,000 in Year 1\u003c\/strong\u003e to \u003cstrong\u003e$549,000 in Year 5\u003c\/strong\u003e, and breakeven is modeled in Month 7 This is planning math before taxes, debt choices, and personal distributions\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=\"Carpet Cleaning Service\"\u003e\u003cdiv class=\"metric-grid\"\u003e\n\u003carticle class=\"metric-card is-green\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"Annual owner take-home adds the $55k salary to Year 1-5 EBITDA; before taxes, debt, and distributions.\"\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=\"Annual owner take-home adds the $55k salary to Year 1-5 EBITDA; before taxes, debt, and distributions.\"\u003e$68k-$604k\u003c\/strong\u003e\u003c\/article\u003e\u003carticle class=\"metric-card\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"EBITDA margin for Years 1-5, based on modeled revenue and EBITDA; excludes taxes, interest, and distributions.\"\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 for Years 1-5, based on modeled revenue and EBITDA; excludes taxes, interest, and distributions.\"\u003e6%-49%\u003c\/strong\u003e\u003c\/article\u003e\u003carticle class=\"metric-card\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"Year 1 revenue implied by the model to support the $55k owner salary and $13k EBITDA; before tax and financing.\"\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 implied by the model to support the $55k owner salary and $13k EBITDA; before tax and financing.\"\u003e~$235k\u003c\/strong\u003e\u003c\/article\u003e\u003carticle class=\"metric-card is-yellow\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"$840k minimum cash, Month 7 breakeven, and 23-month payback make this a hard planning case; based on model assumptions.\"\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=\"$840k minimum cash, Month 7 breakeven, and 23-month payback make this a hard planning case; based on model assumptions.\"\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 carpet cleaning owner pay?\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=\"This is a researched planning estimate, 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 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=\"Monthly sales collected before expenses. Use the average operating month, not a one-time peak month.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly sales collected before expenses. Use the average operating month, not a one-time peak 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=\"Monthly sales collected before expenses. Use the average operating month, not a one-time peak month.\" data-low=\"16000\" data-base=\"20000\" data-high=\"28000\" name=\"monthlyRevenue\" type=\"text\" inputmode=\"numeric\" value=\"20,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\u003eGross margin\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Percent of revenue left after direct supplies, fuel, and other service costs.\"\u003ei\u003cspan role=\"tooltip\"\u003ePercent of revenue left after direct supplies, fuel, and other 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 supplies, fuel, and other service costs.\" name=\"grossMargin\" type=\"range\" min=\"0\" max=\"100\" step=\"1\" data-low=\"76\" data-base=\"80\" data-high=\"83\" value=\"80\"\u003e\u003coutput\u003e80%\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 for technicians, coordinators, and managers before owner pay.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly payroll for technicians, coordinators, and managers 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 for technicians, coordinators, and managers before owner pay.\" data-low=\"6000\" data-base=\"6667\" data-high=\"9000\" name=\"laborCost\" type=\"text\" inputmode=\"numeric\" value=\"6,667\"\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, software, insurance, admin, and other recurring costs.\"\u003ei\u003cspan role=\"tooltip\"\u003eRent, software, insurance, admin, and other recurring costs.\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, software, insurance, admin, and other recurring costs.\" data-low=\"3200\" data-base=\"3350\" data-high=\"3800\" name=\"fixedOverhead\" type=\"text\" inputmode=\"numeric\" value=\"3,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 spend to generate leads and repeat jobs.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly spend to generate leads and repeat jobs.\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 spend to generate leads and repeat jobs.\" data-low=\"1200\" data-base=\"1500\" data-high=\"2000\" name=\"marketing\" type=\"text\" inputmode=\"numeric\" value=\"1,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\u003eDebt service\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Monthly loan or equipment payments. Use 0 if none.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly loan or equipment payments. Use 0 if none.\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 equipment payments. Use 0 if none.\" 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=\"12\" data-base=\"15\" data-high=\"18\" value=\"15\"\u003e\u003coutput\u003e15%\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, and working cash.\"\u003ei\u003cspan role=\"tooltip\"\u003ePercent of profit kept for repairs, growth, and working cash.\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, and working cash.\" name=\"reinvestmentReserve\" type=\"range\" min=\"0\" max=\"35\" step=\"1\" data-low=\"5\" data-base=\"7\" data-high=\"10\" value=\"7\"\u003e\u003coutput\u003e7%\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 measure the gap.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly owner income goal used to measure the 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 measure the gap.\" data-low=\"2500\" data-base=\"4500\" data-high=\"6500\" name=\"targetOwnerPay\" type=\"text\" inputmode=\"numeric\" value=\"4,500\"\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$3,497\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\"\u003e17%\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$21,608\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-metric is-target-gap is-negative\"\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,003\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$41,964\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$4,483\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$986\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,003\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$20,000\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: 80%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$16,000\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: 58%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$11,517\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: 5%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$986\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: 17%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$3,497\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 This is a researched planning estimate, 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 income model in one view?\u003c\/span\u003e\u003c\/h3\u003e\n\n\u003cp\u003eThe \u003ca href=\"\/products\/carpet-cleaning-financial-model\"\u003eCarpet Cleaning Service Financial Model Template\u003c\/a\u003e shows revenue, margin, costs, reserves, and owner take-home assumptions. Open the model.\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\u003e$55k\u003c\/strong\u003e owner salary\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eEBITDA\u003c\/strong\u003e grows to $549k\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMonth 7\u003c\/strong\u003e breakeven\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$840k\u003c\/strong\u003e cash need\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e23-month\u003c\/strong\u003e payback\u003c\/li\u003e\n\u003cli\u003eJobs-to-pay charts\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\/carpet-cleaning-financial-model-dashboard-financialmodelslab_47e03248-8997-4f71-ae6b-bb16db8d3dab.webp\"\u003e\n\u003cimg class=\"preview-img\" width=\"100%\" height=\"auto\" src=\"\/cdn\/shop\/files\/carpet-cleaning-financial-model-dashboard-financialmodelslab_47e03248-8997-4f71-ae6b-bb16db8d3dab.webp?width=500\" alt=\"Carpet Cleaning Service Financial Model dashboard summarizing key KPIs, runway and cash position with a dynamic dashboard showing performance, investor-ready charts and cash-flow blind spot visibility\"\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;\"\u003eCan a carpet cleaning business scale owner income?\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\n\u003cp\u003eYes, \u003cstrong\u003eCarpet Cleaning Service\u003c\/strong\u003e can scale owner income, but only if vans, crews, and booked jobs stay busy. The model grows from \u003cstrong\u003e1 technician in Year 1\u003c\/strong\u003e to \u003cstrong\u003e5 by Year 5\u003c\/strong\u003e, with scheduling support in Year 2 and marketing and sales support in Year 3. Here’s the quick math: EBITDA grows from \u003cstrong\u003e$13,000\u003c\/strong\u003e to \u003cstrong\u003e$549,000\u003c\/strong\u003e, but costs also rise through payroll, vehicles, insurance, software, training, and reserves. A second van without enough route density can cut take-home instead of raising it.\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\u003eWhat drives income\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eStart with \u003cstrong\u003e1 technician\u003c\/strong\u003e in Year 1.\u003c\/li\u003e\n\u003cli\u003eAdd scheduling support in \u003cstrong\u003eYear 2\u003c\/strong\u003e.\u003c\/li\u003e\n\u003cli\u003eAdd marketing and sales support in \u003cstrong\u003eYear 3\u003c\/strong\u003e.\u003c\/li\u003e\n\u003cli\u003eReach \u003cstrong\u003e5 technicians\u003c\/strong\u003e by Year 5.\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\u003eWhat can squeeze take-home\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eWatch payroll as headcount grows.\u003c\/li\u003e\n\u003cli\u003eTrack vehicle costs and insurance.\u003c\/li\u003e\n\u003cli\u003eBudget for software, training, and reserves.\u003c\/li\u003e\n\u003cli\u003eCheck route density before adding a second van.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eHow much can a solo carpet cleaning owner make?\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\n\u003cp\u003eA solo Carpet Cleaning Service owner can make the modeled \u003cstrong\u003e$55,000\u003c\/strong\u003e owner\/operations manager salary in Year 1; any extra “profit” is suspect if it comes from unpaid cleaning labor. Track capacity and job economics through \u003ca href=\"\/blogs\/kpi-metrics\/carpet-cleaning\"\u003eWhat Is The Most Important Metric To Measure The Success Of Your Carpet Cleaning Service?\u003c\/a\u003e because one person can’t sell, schedule, drive, clean, invoice, and handle callbacks forever.\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\u003eSolo owner math\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eModeled owner salary: \u003cstrong\u003e$55,000\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003eLead technician: \u003cstrong\u003e$42,000\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003eTechnician: \u003cstrong\u003e$38,000\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003eTotal Year 1 labor: \u003cstrong\u003e$135,000\u003c\/strong\u003e\n\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\u003eProfit reality\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eSeparate owner labor from true profit\u003c\/li\u003e\n\u003cli\u003eOwner pay is \u003cstrong\u003e40.7%\u003c\/strong\u003e of labor\u003c\/li\u003e\n\u003cli\u003eHiring lowers per-job margin\u003c\/li\u003e\n\u003cli\u003eHigh utilization can lift EBITDA\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eWhat is the profit margin for a carpet cleaning business?\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\n\u003cp\u003eA Carpet Cleaning Service can post an \u003cstrong\u003e80%\u003c\/strong\u003e gross margin in Year 1 and \u003cstrong\u003e84%\u003c\/strong\u003e by Year 5, but owner income is lower because fixed overhead, payroll, marketing, and equipment reserves still come out of cash. If you're mapping startup spend, \u003ca href=\"\/blogs\/startup-costs\/carpet-cleaning\"\u003eHow Much Does It Cost To Open And Launch Your Carpet Cleaning Service?\u003c\/a\u003e gives the right cost frame. Here’s the quick math: supplies drop from \u003cstrong\u003e12%\u003c\/strong\u003e to \u003cstrong\u003e10%\u003c\/strong\u003e, fuel and maintenance from \u003cstrong\u003e8%\u003c\/strong\u003e to \u003cstrong\u003e6%\u003c\/strong\u003e, and EBITDA (earnings before interest, taxes, depreciation, and amortization) rises from \u003cstrong\u003e$13,000\u003c\/strong\u003e to \u003cstrong\u003e$549,000\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\u003eGross margin\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003e80%\u003c\/strong\u003e gross margin in Year 1\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e84%\u003c\/strong\u003e gross margin by Year 5\u003c\/li\u003e\n\u003cli\u003eSupplies fall from \u003cstrong\u003e12%\u003c\/strong\u003e to \u003cstrong\u003e10%\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003eFuel and maintenance fall from \u003cstrong\u003e8%\u003c\/strong\u003e to \u003cstrong\u003e6%\u003c\/strong\u003e\n\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\u003eOwner cash\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eFixed overhead is \u003cstrong\u003e$3,350\/month\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003eMarketing runs \u003cstrong\u003e$18,000\u003c\/strong\u003e to \u003cstrong\u003e$36,000\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003ePayroll grows from \u003cstrong\u003e3 FTE roles\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003eKeep equipment reserves before distributions\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 the six drivers behind carpet cleaning owner pay?\n\u003c\/span\u003e\u003c\/h2\u003e\n\u003csection class=\"fml-main-income-drivers\" aria-label=\"Main income drivers for the carpet cleaning service.\"\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\u003eJob Volume\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e80%\u003c\/strong\u003e\u003cp\u003eWith 80% Year 1 gross margin, filling more jobs is the fastest way to spread fixed costs and lift owner 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\"\u003e2\u003c\/span\u003e\u003ch4\u003eTicket Mix\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e$250\/$60\u003c\/strong\u003e\u003cp\u003eA $250 one-time premium ticket plus $60 add-ons lifts revenue per stop, so mix matters as much as raw volume.\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\u003eLabor Load\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e1-5 FTE\u003c\/strong\u003e\u003cp\u003eThe crew grows from 1 to 5 full-time roles, and the $55,000 owner salary only pays back if each extra tech adds more profit than payroll.\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\u003eRoute Density\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e8%-6%\u003c\/strong\u003e\u003cp\u003eRoute work that cuts fuel and maintenance from 8% to 6% of sales keeps more of each cleaning in profit.\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\u003eRepeat Work\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e35%-45%\u003c\/strong\u003e\u003cp\u003eRecurring subscriptions grow from 35% to 45%, which reduces pressure to chase new customers at a $45 CAC.\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\u003eOverhead Control\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e$3.35K\/mo\u003c\/strong\u003e\u003cp\u003eFixed overhead is $3,350 a month, and Month 7 breakeven only holds if reserves cover the early cash burn.\u003c\/p\u003e\u003c\/article\u003e\n\u003c\/div\u003e\u003c\/article\u003e\u003c\/section\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eCarpet Cleaning Service Core Six Income Drivers\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\u003cbr\u003e\n\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eJob Volume And Crew 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\u003eBooked Crew Time\u003c\/h3\u003e\n\u003cp\u003eThis driver is \u003cstrong\u003ebooked, profitable crew time\u003c\/strong\u003e. More appointments only help if they turn into billable work, so \u003cstrong\u003ejobs per week\u003c\/strong\u003e, \u003cstrong\u003ecompleted jobs per day\u003c\/strong\u003e, \u003cstrong\u003ecancellation rate\u003c\/strong\u003e, and \u003cstrong\u003ebooked capacity\u003c\/strong\u003e matter most. The model reaches breakeven in \u003cstrong\u003eMonth 7\u003c\/strong\u003e, so early utilization is critical. If vans sit idle, the \u003cstrong\u003e$42,000\u003c\/strong\u003e lead technician and \u003cstrong\u003e$38,000\u003c\/strong\u003e technician costs still run and owner income drops.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"right-row1\"\u003e\n\u003cdiv class=\"tips-box\"\u003e\n\u003ch3\u003eFill The Schedule, Not Just The Calendar\u003c\/h3\u003e\n\u003cp\u003eUtilization means the share of scheduled crew time that becomes paid work. Track \u003cstrong\u003ebillable hours\u003c\/strong\u003e, \u003cstrong\u003ecancelled jobs\u003c\/strong\u003e, and \u003cstrong\u003eopen slots\u003c\/strong\u003e by day, then rebook fast and group nearby jobs so labor turns into cash. Here’s the quick math: booked work has to cover \u003cstrong\u003epayroll\u003c\/strong\u003e, \u003cstrong\u003emarketing\u003c\/strong\u003e, and \u003cstrong\u003efixed overhead\u003c\/strong\u003e before the owner can pay themselves.\u003c\/p\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eMeasure booked capacity each week\u003c\/li\u003e\n\u003cli\u003eWatch same-day cancellations\u003c\/li\u003e\n\u003cli\u003eBlock low-fill routes early\u003c\/li\u003e\n\u003cli\u003eAdd staff after demand holds\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;\"\u003eAverage Ticket And Service 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\u003eAverage Ticket and Service Mix\u003c\/h3\u003e\n\u003cp\u003eAverage ticket is the price per cleaning visit. Here it is driven by \u003cstrong\u003e$45\u003c\/strong\u003e basic quarterly subscriptions, \u003cstrong\u003e$75\u003c\/strong\u003e premium bi-monthly subscriptions, \u003cstrong\u003e$250\u003c\/strong\u003e one-time premium service, and \u003cstrong\u003e$60\u003c\/strong\u003e add-ons. Because direct costs move with the job, a higher ticket only helps if extra time, chemicals, and rework stay controlled.\u003c\/p\u003e\n\u003cp\u003eThe mix matters too. Over five years, basic quarterly work rises from \u003cstrong\u003e35%\u003c\/strong\u003e to \u003cstrong\u003e45%\u003c\/strong\u003e, and premium bi-monthly from \u003cstrong\u003e25%\u003c\/strong\u003e to \u003cstrong\u003e38%\u003c\/strong\u003e. That should lift revenue per visit and contribution per route, so more cash can reach payroll, overhead, and owner pay. One weak add-on can still erase the gain if it slows the day.\u003c\/p\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\u003cstrong\u003eCustomers by plan\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eOrders per route\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eAverage ticket\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eAdd-on attach rate\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eTime on site\u003c\/strong\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"left-row2\"\u003e\n\u003cdiv class=\"tips-box\"\u003e\n\u003ch3\u003eTrack Price, Mix, and Job Time\u003c\/h3\u003e\n\u003cp\u003eMeasure revenue per visit by service type, then compare it with labor, chemical use, and callback time. If a \u003cstrong\u003e$60\u003c\/strong\u003e add-on adds too much work, it can reduce gross margin even when sales look higher. The quick test is simple: does the extra price cover the extra variable cost and still leave more contribution?\u003c\/p\u003e\n\u003cp\u003ePush recurring jobs only when they improve \u003cstrong\u003econtribution per route\u003c\/strong\u003e. Track how many basic, premium, and one-time jobs each crew completes, then watch whether the mix change raises cash after direct costs. If premium jobs stay efficient, owner income improves because the same route earns more without adding much overhead.\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;\"\u003eLabor Model And Owner Role\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n\u003cdiv class=\"left-row3\"\u003e\n\u003ch3\u003eLabor Model\u003c\/h3\u003e\n\u003cp\u003eLabor is the biggest swing factor after demand. In Year 1, payroll includes \u003cstrong\u003e$55,000\u003c\/strong\u003e for the owner, \u003cstrong\u003e$42,000\u003c\/strong\u003e for a lead technician, and \u003cstrong\u003e$38,000\u003c\/strong\u003e for a carpet cleaning technician, or \u003cstrong\u003e$135,000\u003c\/strong\u003e before any support staff. A solo owner can save cash wages, but unpaid labor can hide the real cost. A staffed model can scale, but only if booked jobs keep crews busy.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"right-row3\"\u003e\n\u003cdiv class=\"tips-box\"\u003e\n\u003ch3\u003eProtect Owner Pay\u003c\/h3\u003e\n\u003cp\u003eTrack \u003cstrong\u003ejobs per crew per day\u003c\/strong\u003e, booked hours, cancellations, rework, and labor cost per completed job. Here’s the quick math: if payroll grows but utilization stays flat, owner take-home falls fast. By Year 5, staffing reaches \u003cstrong\u003efive technicians plus support roles\u003c\/strong\u003e, so the key question is simple: does each crew stay profitable after wages, scheduling time, and quality checks?\u003c\/p\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eMeasure utilization weekly.\u003c\/li\u003e\n\u003cli\u003ePrice for crew time, not just visits.\u003c\/li\u003e\n\u003cli\u003eWatch unpaid owner labor.\u003c\/li\u003e\n\u003cli\u003eCut rework and idle hours.\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;\"\u003eRoute Density And Jobs Per Day\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"right-row4\"\u003e\n    \u003ch3\u003eRoute Density\u003c\/h3\u003e\n    \u003cp\u003e\u003cstrong\u003eDense routes\u003c\/strong\u003e raise completed jobs per day and cut fuel, idle time, and paid labor waste. In Year 1, vehicle fuel and maintenance run at \u003cstrong\u003e8% of revenue\u003c\/strong\u003e, then fall to \u003cstrong\u003e6% by Year 5\u003c\/strong\u003e; if routes are sloppy, that savings disappears fast. One weak route can wipe out margin on small tickets because drive time and late arrivals still pay the crew.\u003c\/p\u003e\n    \u003cp\u003eWhat matters is \u003cstrong\u003ejobs per day\u003c\/strong\u003e, \u003cstrong\u003emiles per job\u003c\/strong\u003e, and \u003cstrong\u003esame-area bookings\u003c\/strong\u003e. Here’s the quick math: more clustered stops mean more billable work per crew shift without adding payroll or equipment too early, so gross profit and owner draw improve faster.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"left-row4\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eTrack Routes by Zip\u003c\/h3\u003e\n      \u003cp\u003eMeasure \u003cstrong\u003edrive time\u003c\/strong\u003e, \u003cstrong\u003emiles per job\u003c\/strong\u003e, \u003cstrong\u003elate arrivals\u003c\/strong\u003e, and \u003cstrong\u003ejobs completed per day\u003c\/strong\u003e. Group nearby bookings first, then price or reschedule outliers that break the route. If one job adds a long deadhead, it can turn a profitable day into a thin one.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eBook same-area stops together\u003c\/li\u003e\n        \u003cli\u003eWatch miles per completed job\u003c\/li\u003e\n        \u003cli\u003eFlag routes with late arrivals\u003c\/li\u003e\n        \u003cli\u003eTest jobs per crew day\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 step4\"\u003e4\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eRepeat Customers And Commercial Accounts\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"left-row5\"\u003e\n    \u003ch3\u003eRepeat Customers and Commercial Accounts\u003c\/h3\u003e\n    \u003cp\u003eRepeat clients and commercial accounts make revenue steadier, because you need fewer paid leads to keep the calendar full. Here’s the quick math: \u003cstrong\u003eCAC\u003c\/strong\u003e improves from \u003cstrong\u003e$45\u003c\/strong\u003e in Year 1 to \u003cstrong\u003e$35\u003c\/strong\u003e by Year 5, while annual marketing rises from \u003cstrong\u003e$18,000\u003c\/strong\u003e to \u003cstrong\u003e$36,000\u003c\/strong\u003e. Basic quarterly subscriptions grow from \u003cstrong\u003e35%\u003c\/strong\u003e to \u003cstrong\u003e45%\u003c\/strong\u003e of the mix, and premium bi-monthly plans from \u003cstrong\u003e25%\u003c\/strong\u003e to \u003cstrong\u003e38%\u003c\/strong\u003e.\u003c\/p\u003e\n    \u003cp\u003eThis driver affects owner pay through booking stability and lower acquisition pressure. Commercial carpet cleaning contracts can fill weekdays, but they often need different pricing, scheduling, insurance, and service standards. If those jobs add labor time or push out higher-margin residential work, cash flow can tighten even when revenue looks healthy.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"right-row5\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eTrack Repeat Rate and Commercial Mix\u003c\/h3\u003e\n      \u003cp\u003eMeasure whether growth is coming from owned demand or paid leads. The key inputs are repeat-booking rate, \u003cstrong\u003eCAC\u003c\/strong\u003e, marketing spend, and the share of quarterly, bi-monthly, and commercial work. If CAC is not moving toward \u003cstrong\u003e$35\u003c\/strong\u003e, the mix is not improving fast enough.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eTrack repeat bookings by customer type.\u003c\/li\u003e\n        \u003cli\u003eSeparate residential and commercial margins.\u003c\/li\u003e\n        \u003cli\u003eWatch weekday fill and cancellation rate.\u003c\/li\u003e\n        \u003cli\u003eSet service rules for commercial accounts.\u003c\/li\u003e\n      \u003c\/ul\u003e\n      \u003cp\u003eUse different pricing for commercial jobs if they require extra insurance, slower scheduling, or tighter service standards. That keeps the work profitable and helps the owner keep more of each dollar after direct labor and marketing.\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;\"\u003eOverhead, Equipment, And Reserves\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"right-row6\"\u003e\n    \u003ch3\u003eOverhead, Equipment, and Cash Reserves\u003c\/h3\u003e\n    \u003cp\u003eDo not treat all cash after jobs as owner pay. Fixed overhead is \u003cstrong\u003e$3,350\/month\u003c\/strong\u003e, and launch capex includes \u003cstrong\u003e$15,000\u003c\/strong\u003e for cleaning equipment, \u003cstrong\u003e$28,000\u003c\/strong\u003e for the vehicle, \u003cstrong\u003e$5,000\u003c\/strong\u003e for office setup, and \u003cstrong\u003e$4,500\u003c\/strong\u003e for computer and POS gear.\u003c\/p\u003e\n    \u003cp\u003eHere’s the quick math: after those costs, cash still has to cover repairs, vans, extractors, hoses, pumps, and slow seasons. The model’s \u003cstrong\u003e$840,000\u003c\/strong\u003e Month 2 minimum cash need m\neans owner draws stay safer only after reserves are funded, not after one strong week or month.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"left-row6\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eTrack reserves before pay\u003c\/h3\u003e\n      \u003cp\u003eBuild a monthly cash check that separates owner pay from operating cash. Track overhead, capex paid, reserve balance, and repair spending, then set a draw rule tied to cash coverage, not just profit. If reserves are thin, pay the owner less until the business can handle a down month.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eTrack \u003cstrong\u003ecash after overhead\u003c\/strong\u003e.\u003c\/li\u003e\n        \u003cli\u003eRing-fence \u003cstrong\u003erepair and replacement\u003c\/strong\u003e cash.\u003c\/li\u003e\n        \u003cli\u003eCompare draws to \u003cstrong\u003eMonth 2 cash need\u003c\/strong\u003e.\u003c\/li\u003e\n      \u003c\/ul\u003e\n      \u003cp\u003eUse the reserve account for equipment failure, not growth spending. That keeps van downtime, extractor replacement, and slow-season gaps from turning owner income into a cash crunch.\u003c\/p\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 lean, base, and high carpet cleaning income scenarios\n\u003c\/span\u003e\u003c\/h2\u003e\n\u003csection class=\"fml-scenario-table\" aria-label=\"Carpet Cleaning Service Owner Income Scenarios\" data-site-name=\"Financial Models Lab\" data-site-url=\"https:\/\/financialmodelslab.com\" data-source-title=\"Carpet Cleaning Service 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 distribution forecasts.\"\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 job mix, staffing, and marketing efficiency. Early years are salary-led; later years add more profit as recurring work, add-ons, and technician capacity scale.\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 owner income cases for a carpet cleaning service.\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\"\u003eConservative 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\"\u003eModeled 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=\"This is the lower-income path, anchored to Year 1, when the owner is still carrying most of the work and EBITDA is about $13,000.\"\u003eThis is the lower-income path, anchored to Year 1, when the owner is still carrying most of the work and EBITDA is about $13,000.\u003c\/td\u003e\n\u003ctd data-export-value=\"This is the modeled middle path, anchored to Year 3, with EBITDA around $238,000 as the team and schedule fill out.\"\u003eThis is the modeled middle path, anchored to Year 3, with EBITDA around $238,000 as the team and schedule fill out.\u003c\/td\u003e\n\u003ctd data-export-value=\"This is the strongest path, anchored to Year 5, with EBITDA around $549,000 and the largest technician base.\"\u003eThis is the strongest path, anchored to Year 5, with EBITDA around $549,000 and the largest technician base.\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 uses $18,000 marketing, $45 CAC, about 80% gross margin, and a lean three-person service crew, with breakeven at Month 7.\"\u003eYear 1 uses $18,000 marketing, $45 CAC, about 80% gross margin, and a lean three-person service crew, with breakeven at Month 7.\u003c\/td\u003e\n\u003ctd data-export-value=\"Year 3 uses $28,000 marketing, $40 CAC, about 82% gross margin, and a larger team with three technician FTE, a customer service coordinator, and a marketing and sales specialist.\"\u003eYear 3 uses $28,000 marketing, $40 CAC, about 82% gross margin, and a larger team with three technician FTE, a customer service coordinator, and a marketing and sales specialist.\u003c\/td\u003e\n\u003ctd data-export-value=\"Year 5 uses $36,000 marketing, $35 CAC, about 84% gross margin, and five technician FTE plus the support team needed to keep volume flowing.\"\u003eYear 5 uses $36,000 marketing, $35 CAC, about 84% gross margin, and five technician FTE plus the support team needed to keep volume flowing.\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=\"80% gross margin; $18,000 marketing; $45 CAC; 3 FTE crew; Month 7 breakeven\"\u003e\u003cul class=\"fml-scenario-list\"\u003e\n\u003cli\u003e80% gross margin\u003c\/li\u003e\n\u003cli\u003e$18,000 marketing\u003c\/li\u003e\n\u003cli\u003e$45 CAC\u003c\/li\u003e\n\u003cli\u003e3 FTE crew\u003c\/li\u003e\n\u003cli\u003eMonth 7 breakeven\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/td\u003e\n\u003ctd data-export-value=\"82% gross margin; $28,000 marketing; $40 CAC; added support hires; 3 technician FTE\"\u003e\u003cul class=\"fml-scenario-list\"\u003e\n\u003cli\u003e82% gross margin\u003c\/li\u003e\n\u003cli\u003e$28,000 marketing\u003c\/li\u003e\n\u003cli\u003e$40 CAC\u003c\/li\u003e\n\u003cli\u003eadded support hires\u003c\/li\u003e\n\u003cli\u003e3 technician FTE\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/td\u003e\n\u003ctd data-export-value=\"84% gross margin; $36,000 marketing; $35 CAC; five technician FTE; higher add-ons\"\u003e\u003cul class=\"fml-scenario-list\"\u003e\n\u003cli\u003e84% gross margin\u003c\/li\u003e\n\u003cli\u003e$36,000 marketing\u003c\/li\u003e\n\u003cli\u003e$35 CAC\u003c\/li\u003e\n\u003cli\u003efive technician FTE\u003c\/li\u003e\n\u003cli\u003ehigher add-ons\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=\"$55,000 salary anchor\"\u003e\n\u003cstrong class=\"fml-scenario-range\"\u003e$55,000 salary anchor\u003c\/strong\u003e\u003cspan class=\"fml-scenario-badge is-soft\"\u003eSalary anchor\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd data-export-value=\"$238,000 EBITDA anchor\"\u003e\n\u003cstrong class=\"fml-scenario-range\"\u003e$238,000 EBITDA anchor\u003c\/strong\u003e\u003cspan class=\"fml-scenario-badge is-soft\"\u003eEBITDA anchor\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd data-export-value=\"$549,000 EBITDA anchor\"\u003e\n\u003cstrong class=\"fml-scenario-range\"\u003e$549,000 EBITDA anchor\u003c\/strong\u003e\u003cspan class=\"fml-scenario-badge is-warning\"\u003ePeak EBITDA\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 an owner-led launch and slower booking growth.\"\u003eUse this to stress-test an owner-led launch and slower booking growth.\u003c\/td\u003e\n\u003ctd data-export-value=\"Use this for a normal growth plan with steady repeat work and added support hires.\"\u003eUse this for a normal growth plan with steady repeat work and added support hires.\u003c\/td\u003e\n\u003ctd data-export-value=\"Use this to test scale when recurring jobs and add-ons keep capacity full.\"\u003eUse this to test scale when recurring jobs and add-ons keep capacity full.\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 distribution forecasts.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e","brand":"FinancialModelsLab","offers":[{"title":"Default Title","offer_id":49303634215155,"sku":"carpet-cleaning-owner-makes","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6191\/2762\/files\/carpet-cleaning-owner-makes.webp?v=1782678129","url":"https:\/\/financialmodelslab.com\/products\/carpet-cleaning-owner-makes","provider":"Financial Models Lab","version":"1.0","type":"link"}