{"product_id":"hvac-cleaning-owner-makes","title":"How Much HVAC Cleaning Owners Make: $70K Pay Plus Profit","description":"\u003cbr\u003e\u003cdiv class=\"card_smpl\"\u003e\n\n\u003cdiv class=\"double_border\"\u003e\n\n\u003cdiv class=\"card_smpl_header\"\u003e\n\n\u003cimg src=\"\/cdn\/shop\/files\/fml_20_fml-Orange-blog-plus-icon.svg\" alt=\"Key Takeaways\" class=\"icon_how_to_use\"\u003e\n\n\u003ch3\u003eKey Takeaways\u003c\/h3\u003e\n\n\u003c\/div\u003e\n\n\u003cul class=\"lst_crct_blog\"\u003e\n\n\u003cli\u003eProfit depends on booked, completed jobs and truck use.\u003c\/li\u003e\n\n\u003cli\u003eHigher ticket mix matters more than raw lead count.\u003c\/li\u003e\n\n\u003cli\u003eFaster crews cut cost, but quality must stay high.\u003c\/li\u003e\n\n\u003cli\u003eCapex, wages, and overhead delay owner distributions.\u003c\/li\u003e\n\n\u003c\/ul\u003e\n\n\u003c\/div\u003e\n\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003csection class=\"fml-owner-metric-cards\" aria-label=\"HVAC Cleaning owner-income 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 planned owner-operator salary, about $5.8k monthly before tax; this is wage pay, not after-tax profit or distribution.\"\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 planned owner-operator salary, about $5.8k monthly before tax; this is wage pay, not after-tax profit or distribution.\"\u003e$70k\u003c\/strong\u003e\u003c\/article\u003e\u003carticle class=\"metric-card\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"Year 1 EBITDA margin uses about $257k revenue and -$51k EBITDA; it includes supplies, payroll, marketing, insurance, vehicles, depreciation, and owner labor.\"\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 uses about $257k revenue and -$51k EBITDA; it includes supplies, payroll, marketing, insurance, vehicles, depreciation, and owner labor.\"\u003e-19.8%\u003c\/strong\u003e\u003c\/article\u003e\u003carticle class=\"metric-card\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"Year 1 implied revenue from about 44 jobs a month at a $492 blended ticket; actual revenue shifts with mix and close rate.\"\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 implied revenue from about 44 jobs a month at a $492 blended ticket; actual revenue shifts with mix and close rate.\"\u003e$257k\u003c\/strong\u003e\u003c\/article\u003e\u003carticle class=\"metric-card\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"Hard because Year 1 EBITDA is negative, cash bottoms at $779k in Month 15, and payback takes 29 months.\"\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 because Year 1 EBITDA is negative, cash bottoms at $779k in Month 15, and payback takes 29 months.\"\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 take-home?\n\u003c\/span\u003e\u003c\/h2\u003e\n\u003csection class=\"fml-owner-calculator\" aria-label=\"HVAC Cleaning Owner Income Calculator\" data-locale=\"en-US\" data-currency=\"USD\" data-default-scenario=\"base\" data-export-filename=\"HVAC Cleaning Owner Income Calculator.xlsx\" data-source-site-name=\"Financial Models Lab\" data-source-site-url=\"https:\/\/financialmodelslab.com\" data-source-page-title=\"HVAC Cleaning Owner Income Calculator\" data-note-title=\"Planning note:\" data-note-text=\"Research-based planning estimate only. It is not guaranteed salary, tax advice, or owner distribution advice.\"\u003e\u003cdiv class=\"fml-owner-card\"\u003e\n\u003cheader class=\"fml-owner-header\"\u003e\u003cdiv class=\"fml-owner-heading\"\u003e\n\u003cp class=\"fml-owner-eyebrow\"\u003eOwner income calculator\u003c\/p\u003e\n\u003cp class=\"fml-owner-intro\"\u003eEstimate owner take-home and target-pay gap from revenue, margin, costs, reserves, and target pay.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-scenarios\" aria-label=\"Income scenario presets\"\u003e\n\u003cbutton class=\"fml-owner-scenario\" type=\"button\" data-scenario=\"low\"\u003eLow\u003c\/button\u003e\u003cbutton class=\"fml-owner-scenario is-active\" type=\"button\" data-scenario=\"base\"\u003eBase\u003c\/button\u003e\u003cbutton class=\"fml-owner-scenario\" type=\"button\" data-scenario=\"high\"\u003eHigh\u003c\/button\u003e\n\u003c\/div\u003e\u003c\/header\u003e\u003cdiv class=\"fml-owner-layout\"\u003e\n\u003cform class=\"fml-owner-inputs\"\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eMonthly revenue\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"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=\"30000\" data-base=\"50000\" data-high=\"80000\" name=\"monthlyRevenue\" type=\"text\" inputmode=\"numeric\" value=\"50,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 costs like supplies, PPE, fuel, and sales commissions.\"\u003ei\u003cspan role=\"tooltip\"\u003ePercent of revenue left after direct costs like supplies, PPE, fuel, and sales commissions.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-percent\"\u003e\n\u003cinput data-owner-field=\"grossMargin\" data-owner-kind=\"percent\" data-owner-label=\"Gross margin\" data-owner-note=\"Percent of revenue left after direct costs like supplies, PPE, fuel, and sales commissions.\" name=\"grossMargin\" type=\"range\" min=\"0\" max=\"100\" step=\"1\" data-low=\"72\" data-base=\"78\" data-high=\"83\" 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=\"Crew payroll, subcontractors, and staffing coverage before owner pay.\"\u003ei\u003cspan role=\"tooltip\"\u003eCrew payroll, subcontractors, and staffing coverage before owner pay.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-money\"\u003e\n\u003cspan\u003e$\u003c\/span\u003e\u003cinput data-owner-field=\"laborCost\" data-owner-kind=\"money\" data-owner-label=\"Labor cost\" data-owner-note=\"Crew payroll, subcontractors, and staffing coverage before owner pay.\" data-low=\"10000\" data-base=\"15000\" data-high=\"24000\" name=\"laborCost\" type=\"text\" inputmode=\"numeric\" value=\"15,000\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eFixed overhead\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Rent, utilities, software, insurance, admin, and recurring overhead.\"\u003ei\u003cspan role=\"tooltip\"\u003eRent, utilities, software, insurance, admin, and recurring overhead.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-money\"\u003e\n\u003cspan\u003e$\u003c\/span\u003e\u003cinput data-owner-field=\"fixedOverhead\" data-owner-kind=\"money\" data-owner-label=\"Fixed overhead\" data-owner-note=\"Rent, utilities, software, insurance, admin, and recurring overhead.\" data-low=\"4100\" data-base=\"4100\" data-high=\"4100\" name=\"fixedOverhead\" type=\"text\" inputmode=\"numeric\" value=\"4,100\"\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 needed to sustain demand.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly marketing and customer acquisition spend needed to sustain demand.\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 needed to sustain demand.\" data-low=\"1250\" data-base=\"2083\" data-high=\"2917\" name=\"marketing\" type=\"text\" inputmode=\"numeric\" value=\"2,083\"\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=\"Loan or lease payments required each month. Use 0 if none.\"\u003ei\u003cspan role=\"tooltip\"\u003eLoan or lease payments required each month. 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=\"Loan or lease payments required each month. 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 reserved for taxes before calculating owner take-home.\"\u003ei\u003cspan role=\"tooltip\"\u003ePercent of profit reserved for taxes before calculating 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 reserved for taxes before calculating owner take-home.\" name=\"taxReserve\" type=\"range\" min=\"0\" max=\"45\" step=\"1\" data-low=\"15\" data-base=\"20\" data-high=\"24\" 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=\"8\" data-base=\"10\" data-high=\"12\" value=\"10\"\u003e\u003coutput\u003e10%\u003c\/output\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eTarget owner pay\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Target monthly owner income used to calculate required revenue and target-pay gap.\"\u003ei\u003cspan role=\"tooltip\"\u003eTarget monthly owner income used to calculate required revenue and target-pay gap.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-money\"\u003e\n\u003cspan\u003e$\u003c\/span\u003e\u003cinput data-owner-field=\"targetOwnerPay\" data-owner-kind=\"money\" data-owner-label=\"Target owner pay\" data-owner-note=\"Target monthly owner income used to calculate required revenue and target-pay gap.\" data-low=\"4500\" data-base=\"5833\" data-high=\"8333\" name=\"targetOwnerPay\" type=\"text\" inputmode=\"numeric\" value=\"5,833\"\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$12,472\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\"\u003e25%\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$37,841\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$6,639\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$149,664\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$17,817\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$5,345\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$6,639\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$50,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: 78%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$39,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: 42%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$21,183\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: 11%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$5,345\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: 25%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$12,472\u003c\/b\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbutton class=\"fml-owner-export\" type=\"button\" data-owner-export\u003eEXPORT XLSX\u003c\/button\u003e\u003c\/aside\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-note\"\u003e\n\u003cspan class=\"fml-owner-note-icon\" aria-hidden=\"true\"\u003e!\u003c\/span\u003e\u003cp\u003e\u003cstrong\u003ePlanning note:\u003c\/strong\u003e Research-based planning estimate only. It is not guaranteed salary, tax advice, or owner distribution advice.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003cbr\u003e\u003cdiv class=\"container_new_design_blog\"\u003e\n\n\u003cdiv class=\"text-section_blog text-2_new_design_blog\"\u003e\n\n\u003cdiv class=\"line_top_blog\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\n\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eWant to pressure-test the numbers in HVAC Cleaning?\u003c\/span\u003e\u003c\/h3\u003e\n\n\u003cp\u003eDashboard shows \u003cstrong\u003eowner income\u003c\/strong\u003e, revenue, assumptions, cash flow, and scenarios in the \u003ca href=\"\/products\/hvac-cleaning-financial-model\"\u003eHVAC Cleaning Financial Model Template\u003c\/a\u003e—open it.\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\u003eRevenue:\u003c\/strong\u003e $257k to $244M\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eEBITDA:\u003c\/strong\u003e -$51k to $15M\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePayback:\u003c\/strong\u003e 29 months, Month 9 breakeven\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\/hvac-cleaning-financial-model-dashboard-financialmodelslab_f039f77b-f383-4639-903c-f2f7ba92206e.webp\"\u003e\n\u003cimg class=\"preview-img\" width=\"100%\" height=\"auto\" src=\"\/cdn\/shop\/files\/hvac-cleaning-financial-model-dashboard-financialmodelslab_f039f77b-f383-4639-903c-f2f7ba92206e.webp?width=500\" alt=\"HVAC Cleaning Financial Model dashboard summarizing key KPIs, runway\/cash and performance with a dynamic dashboard, highlighting cash-flow blind spots and investor-ready charts for presentations\"\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 much revenue can one HVAC cleaning truck make?\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\n\u003cp\u003eOne HVAC Cleaning truck does not have a fixed revenue number. In Year 1, the inputs given are \u003cstrong\u003e40 hours\u003c\/strong\u003e at \u003cstrong\u003e$85\/hour\u003c\/strong\u003e for residential work and \u003cstrong\u003e120 hours\u003c\/strong\u003e at \u003cstrong\u003e$120\/hour\u003c\/strong\u003e for commercial work, so sales depend on the job mix, not a promise. The real cap is booked days, travel time, setup time, job complexity, reviews, and seasonal demand, and profit then sits behind \u003cstrong\u003e$4,100\u003c\/strong\u003e a month in fixed overhead plus variable costs, payroll, marketing, equipment, and reserves.\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\u003eSales capacity\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eResidential input: \u003cstrong\u003e40 hours\u003c\/strong\u003e at \u003cstrong\u003e$85\/hour\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003eCommercial input: \u003cstrong\u003e120 hours\u003c\/strong\u003e at \u003cstrong\u003e$120\/hour\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003eBooked days set truck output\u003c\/li\u003e\n\u003cli\u003eTravel and setup cut billable time\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\u003eProfit reality\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eProfit is after variable costs\u003c\/li\u003e\n\u003cli\u003eFixed overhead is \u003cstrong\u003e$4,100\u003c\/strong\u003e per month\u003c\/li\u003e\n\u003cli\u003ePayroll and marketing reduce take-home\u003c\/li\u003e\n\u003cli\u003eEquipment and reserves still need cash\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eIs an HVAC cleaning business profitable with employees?\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\n\u003cp\u003eYes, \u003cstrong\u003eHVAC Cleaning\u003c\/strong\u003e can be profitable with employees, but the math changes fast once payroll scales. The model shows \u003cstrong\u003e$187,500\u003c\/strong\u003e in Year 1 wages, rising to \u003cstrong\u003e$435,000\u003c\/strong\u003e by Year 5, with EBITDA at \u003cstrong\u003e-$51,000\u003c\/strong\u003e in Year 1, then \u003cstrong\u003e$185,000\u003c\/strong\u003e in Year 2, and \u003cstrong\u003e$15 million\u003c\/strong\u003e in Year 5. Owner labor savings help early, but they are not the same as scalable profit.\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 savings\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\u003cstrong\u003eYear 1 wages: $187,500\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eEBITDA: -$51,000\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003eOwner work can cut cash burn\u003c\/li\u003e\n\u003cli\u003eBut it does not scale by itself\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\u003eEmployee scale\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\u003cstrong\u003eYear 2 EBITDA: $185,000\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eYear 5 wages: $435,000\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003eStaff adds scheduling and training load\u003c\/li\u003e\n\u003cli\u003eQuality control, insurance, and callbacks rise\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 HVAC cleaning?\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\n\u003cp\u003eHVAC Cleaning can have a very thin early margin, because \u003cstrong\u003eYear 1\u003c\/strong\u003e direct variable costs are \u003cstrong\u003e220%\u003c\/strong\u003e of revenue, while the model shows \u003cstrong\u003e-198%\u003c\/strong\u003e EBITDA; by \u003cstrong\u003eYear 5\u003c\/strong\u003e, variable costs fall to \u003cstrong\u003e165%\u003c\/strong\u003e and EBITDA rises to \u003cstrong\u003e614%\u003c\/strong\u003e. Here’s the quick read: job-level costs move with revenue, but rent, software, insurance, depreciation, and core payroll stay fixed or semi-fixed, so the model gets much better as volume grows. For setup cost context, see \u003ca href=\"\/blogs\/startup-costs\/hvac-cleaning\"\u003eWhat Is The Estimated Cost To Open And Launch Your HVAC Cleaning Business?\u003c\/a\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\u003eMargin layers\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eYear 1\u003c\/strong\u003e variable costs: \u003cstrong\u003e220%\u003c\/strong\u003e of revenue\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e780%\u003c\/strong\u003e contribution before fixed costs\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e-198%\u003c\/strong\u003e EBITDA margin in Year 1\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e614%\u003c\/strong\u003e EBITDA margin by Year 5\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\u003eWhat drives it\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eJob costs scale with each sale\u003c\/li\u003e\n\u003cli\u003eRent and software stay mostly fixed\u003c\/li\u003e\n\u003cli\u003eInsurance and depreciation stay semi-fixed\u003c\/li\u003e\n\u003cli\u003eCore payroll pressures early years\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 profit levers?\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\u003eBooked Volume\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003eHigh\u003c\/strong\u003e\u003cp\u003eMore booked jobs spread the $4.1K monthly fixed load and the $70K owner pay across more billable hours.\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 Size\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e$492\u003c\/strong\u003e\u003cp\u003eThe blended Year 1 ticket is $492, and upsells lift revenue without adding a full new route.\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\u003eCrew Speed\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e4.0h\u003c\/strong\u003e\u003cp\u003eResidential work runs about 4.0 billable hours, so faster crews create more sellable capacity.\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\u003eLabor Cost\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e220%-165%\u003c\/strong\u003e\u003cp\u003eVariable cost, the cost that moves with jobs, starts at 220% of revenue and falls to 165% by Year 5.\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\u003eCustomer Acquisition\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e$150-\u0026gt;$80\u003c\/strong\u003e\u003cp\u003eCustomer acquisition cost (CAC) drops from $150 to $80 by Year 5, so cheaper leads protect cash as marketing spend grows.\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 Load\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e$4.1K\/mo\u003c\/strong\u003e\u003cp\u003eThe $122K equipment and vehicle buildout sits under a $4.1K monthly fixed load, so idle assets pull down take-home.\u003c\/p\u003e\u003c\/article\u003e\n\u003c\/div\u003e\u003c\/article\u003e\u003c\/section\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eHVAC Cleaning Core Six Income Drivers\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\u003cbr\u003e\n\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eBooked job volume and truck 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 Jobs Per Truck\u003c\/h3\u003e\n    \u003cp\u003eMore \u003cstrong\u003epaid jobs per truck\u003c\/strong\u003e only helps when crews can finish safely and on time. At \u003cstrong\u003e$257,000\u003c\/strong\u003e in Year 1 revenue, the model implies about \u003cstrong\u003e44 blended-ticket jobs per month\u003c\/strong\u003e at a \u003cstrong\u003e$492\u003c\/strong\u003e ticket, or roughly \u003cstrong\u003e523 jobs a year\u003c\/strong\u003e. That volume sets owner pay only if completed jobs stay close to booked jobs.\u003c\/p\u003e\n    \u003cp\u003eYear 2 revenue of \u003cstrong\u003e$645,000\u003c\/strong\u003e implies about \u003cstrong\u003e110 jobs per month\u003c\/strong\u003e at the same ticket. That needs much higher truck use, tighter routing, and fewer no-shows and callbacks. Lead count alone does not pay the bills; only booked work that gets completed does.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"right-row1\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eTrack Truck Days, Not Just Leads\u003c\/h3\u003e\n      \u003cp\u003eMeasure \u003cstrong\u003ebooked days\u003c\/strong\u003e, \u003cstrong\u003ecompleted jobs\u003c\/strong\u003e, \u003cstrong\u003edrive time\u003c\/strong\u003e, \u003cstrong\u003eno-shows\u003c\/strong\u003e, \u003cstrong\u003ecallbacks\u003c\/strong\u003e, and \u003cstrong\u003erevenue per truck\u003c\/strong\u003e. Here’s the quick math: if a truck books more jobs but drive time rises or callbacks pile up, revenue per day falls and labor cost per dollar of sales goes up.\u003c\/p\u003e\n      \u003cp\u003eUse a simple dashboard by truck and crew. Track booked-to-completed rate, jobs per day, and dollars per route. If a route fills up but quality slips, cap bookings before service breaks down. Owner income rises when each truck day turns into clean revenue, not just busy schedules.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eBook profitable jobs, not raw leads.\u003c\/li\u003e\n        \u003cli\u003eWatch no-shows and callback rates.\u003c\/li\u003e\n        \u003cli\u003eCut drive time between stops.\u003c\/li\u003e\n        \u003cli\u003eCompare revenue per truck weekly.\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"timeline\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"step-circle 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\u003e\u003cstrong\u003eAverage ticket\u003c\/strong\u003e is the revenue per job, and it drives owner income when price matches real scope. In Year 1, modeled tickets are \u003cstrong\u003e$340\u003c\/strong\u003e for residential, \u003cstrong\u003e$1,440\u003c\/strong\u003e for commercial, \u003cstrong\u003e$105\u003c\/strong\u003e for maintenance, and \u003cstrong\u003e$90\u003c\/strong\u003e for add-on services. A bigger share of larger jobs lifts revenue faster than raw job count, as long as labor and callbacks stay under control.\u003c\/p\u003e\n\u003cp\u003eHere’s the quick math: more commercial work and more add-ons push the blended ticket up, so the same crew hours can produce more gross profit. The model shows commercial mix rising from \u003cstrong\u003e150%\u003c\/strong\u003e in Year 1 to \u003cstrong\u003e250%\u003c\/strong\u003e in Year 5, while add-on attachment rises from \u003cstrong\u003e300%\u003c\/strong\u003e to \u003cstrong\u003e450%\u003c\/strong\u003e. If pricing ignores scope, owner pay gets squeezed even when sales look strong.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"left-row2\"\u003e\n\u003cdiv class=\"tips-box\"\u003e\n\u003ch3\u003eTrack Scope-Based Pricing\u003c\/h3\u003e\n\u003cp\u003eMeasure tickets by job type, not just total revenue. Track residential count, commercial count, maintenance plans, add-on attach rate, labor hours per job, and gross margin by service line. That shows whether higher-priced work is actually more profitable or just more complex. One clean rule: price the job you see, not the job you hoped for.\u003c\/p\u003e\n\u003cp\u003eUse scope-based pricing for larger homes, multi-system jobs, dryer vent cleaning, coil cleaning, sanitizing, and commercial work. If a job needs extra labor, access, or equipment, the ticket should rise with it. Watch \u003cstrong\u003erevenue per job\u003c\/strong\u003e and \u003cstrong\u003egross margin\u003c\/strong\u003e; if either falls while volume rises, owner income usually falls next.\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;\"\u003eCrew productivity and job duration\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"left-row3\"\u003e\n    \u003ch3\u003eCrew speed and job duration\u003c\/h3\u003e\n    \u003cp\u003eCrew productivity is how fast a team finishes paid jobs without creating callbacks. Here’s the quick math: job times fall from \u003cstrong\u003e40\u003c\/strong\u003e to \u003cstrong\u003e35\u003c\/strong\u003e hours for residential cleaning, \u003cstrong\u003e120\u003c\/strong\u003e to \u003cstrong\u003e100\u003c\/strong\u003e hours for commercial cleaning, \u003cstrong\u003e15\u003c\/strong\u003e to \u003cstrong\u003e12\u003c\/strong\u003e hours for maintenance, and \u003cstrong\u003e10\u003c\/strong\u003e to \u003cstrong\u003e8\u003c\/strong\u003e hours for add-ons by Year 5. That lowers labor cost per dollar of revenue and leaves more cash for owner pay.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"right-row3\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eMeasure speed without hurting quality\u003c\/h3\u003e\n      \u003cp\u003eTrack the inputs that matter: \u003cstrong\u003ejobs per day\u003c\/strong\u003e, \u003cstrong\u003elabor hours per ticket\u003c\/strong\u003e, \u003cstrong\u003erework\u003c\/strong\u003e, \u003cstrong\u003esafety issues\u003c\/strong\u003e, and \u003cstrong\u003ecustomer ratings\u003c\/strong\u003e. Faster work helps only when the job is still clean the first time. If a crew saves 5 hours on a residential ticket but creates a callback, the margin gain is gone. One bad review can cost more than the time saved.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eCompare hours by job type.\u003c\/li\u003e\n        \u003cli\u003eWatch callback rates weekly.\u003c\/li\u003e\n        \u003cli\u003eBonus clean, on-time jobs.\u003c\/li\u003e\n        \u003cli\u003eFix slow steps, not shortcuts.\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;\"\u003eLabor model and technician cost\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"right-row4\"\u003e\n    \u003ch3\u003eLabor Cost Drives Owner Pay\u003c\/h3\u003e\n    \u003cp\u003eThis driver includes who performs the HVAC cleaning work and who supports it: the \u003cstrong\u003e$70,000\u003c\/strong\u003e owner-operator, \u003cstrong\u003e$55,000\u003c\/strong\u003e lead technician, \u003cstrong\u003e$45,000\u003c\/strong\u003e HVAC technician, \u003cstrong\u003e$35,000\u003c\/strong\u003e administrative assistant, and \u003cstrong\u003e$40,000\u003c\/strong\u003e sales and marketing coordinator. Payroll rises from \u003cstrong\u003e$187,500\u003c\/strong\u003e in Year 1 to \u003cstrong\u003e$435,000\u003c\/strong\u003e in Year 5, so owner take-home depends on how fast revenue can carry that extra fixed cost.\u003c\/p\u003e\n    \u003cp\u003eHere’s the quick math: owner-performed labor protects cash early because you avoid paying a full crew before demand is steady. But once you hire, the business adds management time, scheduling risk, and payroll pressure. If booked jobs do not rise with staff, labor cost moves ahead of profit and cuts the owner draw first.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"left-row4\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eControl Payroll Before You Scale\u003c\/h3\u003e\n      \u003cp\u003eTrack \u003cstrong\u003elabor cost per completed job\u003c\/strong\u003e, \u003cstrong\u003ehours per ticket\u003c\/strong\u003e, and \u003cstrong\u003erevenue per payroll dollar\u003c\/strong\u003e. Those three numbers tell you if the owner is doing the work efficiently or if hired help is actually earning its keep. One clean rule: add staff only when booked work is steady enough to keep them busy.\u003c\/p\u003e\n      \u003cp\u003eUse the staffing ladder on purpose. Start lean with owner labor, then add a lead tech, then support roles like admin and sales only when the job pipeline can cover the jump from \u003cstrong\u003e$187,500\u003c\/strong\u003e to \u003cstrong\u003e$435,000\u003c\/strong\u003e in wages. That is a \u003cstrong\u003e132%\u003c\/strong\u003e increase, so weak scheduling or low utilization will hit cash fast.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eTrack owner hours by job\u003c\/li\u003e\n        \u003cli\u003eMeasure labor cost per ticket\u003c\/li\u003e\n        \u003cli\u003eWatch payroll against booked work\u003c\/li\u003e\n        \u003cli\u003eHire only for steady demand\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;\"\u003eMarketing efficiency and lead quality\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n\u003cdiv class=\"left-row5\"\u003e\n\u003ch3\u003eBooked Profitable Jobs\u003c\/h3\u003e\n\u003cp\u003eMarketing only helps when clicks and calls turn into paid, profitable HVAC cleaning jobs. The key inputs are \u003cstrong\u003eleads\u003c\/strong\u003e, \u003cstrong\u003eclose rate\u003c\/strong\u003e, \u003cstrong\u003eaverage ticket\u003c\/strong\u003e, and \u003cstrong\u003eCAC\u003c\/strong\u003e (customer acquisition cost). With annual marketing spend rising from \u003cstrong\u003e$15,000\u003c\/strong\u003e in Year 1 to \u003cstrong\u003e$55,000\u003c\/strong\u003e in Year 5, CAC improving from \u003cstrong\u003e$150\u003c\/strong\u003e to \u003cstrong\u003e$80\u003c\/strong\u003e only matters if those bookings cover crew time and overhead.\u003c\/p\u003e\n\u003cp\u003eWeak close rates or low-ticket jobs can make CAC look cheap while still hurting owner take-home. A \u003cstrong\u003e$340\u003c\/strong\u003e residential job is not the same as a \u003cstrong\u003e$105\u003c\/strong\u003e maintenance visit or a \u003cstrong\u003e$90\u003c\/strong\u003e add-on, so the owner needs to know which channel books profitable work. \u003cstrong\u003eCheap leads are not cheap jobs.\u003c\/strong\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"right-row5\"\u003e\n\u003cdiv class=\"tips-box\"\u003e\n\u003ch3\u003eTrack Profit by Source\u003c\/h3\u003e\n\u003cp\u003eJudge each channel by \u003cstrong\u003ebooked jobs, ticket size, and gross profit after CAC\u003c\/strong\u003e. Reviews, local search visibility, referral partners, and paid ads should be tracked by source, then compared on close rate and collected cash, not raw lead count. If a channel brings many small jobs, it can fill the calendar and still reduce owner pay.\u003c\/p\u003e\n\u003cp\u003eHere’s the quick math: \u003cstrong\u003emarketing spend ÷ booked profitable jobs = CAC\u003c\/strong\u003e. At \u003cstrong\u003e$15,000\u003c\/strong\u003e spend and \u003cstrong\u003e$150\u003c\/strong\u003e CAC, that supports about \u003cstrong\u003e100\u003c\/strong\u003e booked jobs. At \u003cstrong\u003e$55,000\u003c\/strong\u003e and \u003cstrong\u003e$80\u003c\/strong\u003e C\nAC, that’s about \u003cstrong\u003e688\u003c\/strong\u003e booked jobs. If close rates slip, the math breaks fast, so watch lead-to-booked and booked-to-paid every week.\u003c\/p\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eTrack CAC\u003c\/strong\u003e by source.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSplit\u003c\/strong\u003e job types by ticket.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMeasure\u003c\/strong\u003e close rate weekly.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCut\u003c\/strong\u003e low-value bookings 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 step5\"\u003e5\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eEquipment, vehicle, and overhead burden\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"right-row6\"\u003e\n    \u003ch3\u003eEquipment, Vehicle, and Overhead Burden\u003c\/h3\u003e\n    \u003cp\u003eHVAC cleaning ties up cash fast: \u003cstrong\u003e$122,000\u003c\/strong\u003e in startup capex goes into equipment sets, service vehicles, office and IT setup, inventory, website work, diagnostic tools, signage, and duct cameras before the owner can safely take profit. Fixed overhead is \u003cstrong\u003e$4,100 per month\u003c\/strong\u003e, or \u003cstrong\u003e$49,200 a year\u003c\/strong\u003e, so owner pay has to wait until cash is left after these base costs.\u003c\/p\u003e\n    \u003cp\u003eThe inputs are simple: vehicle count, tool replacement cycle, insurance, software, storage, fuel swings, and repair risk. If a truck goes down or a camera set wears out, cash drops fast. One clean rule: \u003cstrong\u003eno owner distribution until reserves cover maintenance and replacement\u003c\/strong\u003e.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"left-row6\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eProtect Cash Before Owner Pay\u003c\/h3\u003e\n      \u003cp\u003eTrack monthly burn by truck and by tool set, then set aside cash before any draw. Here’s the quick math: with \u003cstrong\u003e$4,100\u003c\/strong\u003e in fixed overhead, the business needs steady working cash just to stay in the game, and every extra repair or fuel spike comes out of the owner’s pocket if reserves are thin.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eTrack truck downtime weekly.\u003c\/li\u003e\n        \u003cli\u003eReserve for repairs monthly.\u003c\/li\u003e\n        \u003cli\u003eWatch fuel and insurance swings.\u003c\/li\u003e\n        \u003cli\u003eReplace tools on schedule.\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;\"\u003eOwner income scenario table objective\n\u003c\/span\u003e\u003c\/h2\u003e\n\u003csection class=\"fml-scenario-table\" aria-label=\"HVAC Cleaning Owner Income Scenarios\" data-site-name=\"Financial Models Lab\" data-site-url=\"https:\/\/financialmodelslab.com\" data-source-title=\"HVAC Cleaning Owner Income Scenarios\" data-note-label=\"Planning note\" data-note-text=\"Scenario ranges are researched planning assumptions, not guaranteed earnings, salary promises, tax advice, or distributions.\"\u003e\u003cdiv class=\"fml-scenario-table-card\"\u003e\n\u003cheader class=\"fml-scenario-table-header\"\u003e\u003cdiv\u003e\n\u003cp class=\"fml-scenario-table-eyebrow\"\u003eOwner income scenarios\u003c\/p\u003e\n\u003cp class=\"fml-scenario-table-description\"\u003eOwner income moves a lot here because wages, vehicle costs, marketing, and capex rise as you add crews.\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 pay shifts with scale.\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\"\u003eCash strain\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\"\u003eBreakeven watch\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\"\u003eScale risk\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=\"A lean owner-operator start keeps pay close to the model's $70,000 plan and leaves little room for error.\"\u003eA lean owner-operator start keeps pay close to the model's $70,000 plan and leaves little room for error.\u003c\/td\u003e\n\u003ctd data-export-value=\"A base one-truck operation can support mid-six-figure earnings if demand stays steady and CAC keeps easing.\"\u003eA base one-truck operation can support mid-six-figure earnings if demand stays steady and CAC keeps easing.\u003c\/td\u003e\n\u003ctd data-export-value=\"A higher-volume crew model can produce strong upside, but only if payroll, vehicles, and cash turns stay controlled.\"\u003eA higher-volume crew model can produce strong upside, but only if payroll, vehicles, and cash turns stay controlled.\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=\"One truck, owner-led work, about $257,000 implied revenue, and -$51,000 EBITDA make cash tight once launch capex and marketing hit.\"\u003eOne truck, owner-led work, about $257,000 implied revenue, and -$51,000 EBITDA make cash tight once launch capex and marketing hit.\u003c\/td\u003e\n\u003ctd data-export-value=\"A small crew, about $645,000 implied revenue, $252,500 wages, and $185,000 EBITDA can fund growth while still carrying overhead and marketing.\"\u003eA small crew, about $645,000 implied revenue, $252,500 wages, and $185,000 EBITDA can fund growth while still carrying overhead and marketing.\u003c\/td\u003e\n\u003ctd data-export-value=\"Multiple crews, heavier marketing, and more capex can push EBITDA to $1,500,000, but the scale plan raises execution and cash risk.\"\u003eMultiple crews, heavier marketing, and more capex can push EBITDA to $1,500,000, but the scale plan raises execution and cash risk.\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 EBITDA -$51,000; $70,000 owner pay; launch capex; marketing spend; fixed overhead\"\u003e\u003cul class=\"fml-scenario-list\"\u003e\n\u003cli\u003eYear 1 EBITDA -$51,000\u003c\/li\u003e\n\u003cli\u003e$70,000 owner pay\u003c\/li\u003e\n\u003cli\u003elaunch capex\u003c\/li\u003e\n\u003cli\u003emarketing spend\u003c\/li\u003e\n\u003cli\u003efixed overhead\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/td\u003e\n\u003ctd data-export-value=\"Year 2 EBITDA $185,000; $252,500 wages; lower CAC; fixed overhead; marketing budget\"\u003e\u003cul class=\"fml-scenario-list\"\u003e\n\u003cli\u003eYear 2 EBITDA $185,000\u003c\/li\u003e\n\u003cli\u003e$252,500 wages\u003c\/li\u003e\n\u003cli\u003elower CAC\u003c\/li\u003e\n\u003cli\u003efixed overhead\u003c\/li\u003e\n\u003cli\u003emarketing budget\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/td\u003e\n\u003ctd data-export-value=\"Year 5 EBITDA $1,500,000; $435,000 wages; larger marketing budget; more crews; capex and reserves\"\u003e\u003cul class=\"fml-scenario-list\"\u003e\n\u003cli\u003eYear 5 EBITDA $1,500,000\u003c\/li\u003e\n\u003cli\u003e$435,000 wages\u003c\/li\u003e\n\u003cli\u003elarger marketing budget\u003c\/li\u003e\n\u003cli\u003emore crews\u003c\/li\u003e\n\u003cli\u003ecapex and reserves\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=\"$0 - $70,000\"\u003e\n\u003cstrong class=\"fml-scenario-range\"\u003e$0 - $70,000\u003c\/strong\u003e\u003cspan class=\"fml-scenario-badge is-soft\"\u003eLow-income band\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd data-export-value=\"$70,000 - $185,000\"\u003e\n\u003cstrong class=\"fml-scenario-range\"\u003e$70,000 - $185,000\u003c\/strong\u003e\u003cspan class=\"fml-scenario-badge is-soft\"\u003eBase-income band\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd data-export-value=\"$185,000 - $1,500,000\"\u003e\n\u003cstrong class=\"fml-scenario-range\"\u003e$185,000 - $1,500,000\u003c\/strong\u003e\u003cspan class=\"fml-scenario-badge is-warning\"\u003eHigh-income band\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 a slow start, weak demand, or delayed hiring.\"\u003eUse this to stress test a slow start, weak demand, or delayed hiring.\u003c\/td\u003e\n\u003ctd data-export-value=\"Use this as the core plan for a steady local service business with one main truck and a small team.\"\u003eUse this as the core plan for a steady local service business with one main truck and a small team.\u003c\/td\u003e\n\u003ctd data-export-value=\"Use this to test aggressive growth, multi-crew operations, and the risk of thin cash during expansion.\"\u003eUse this to test aggressive growth, multi-crew operations, and the risk of thin cash during expansion.\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 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":49303880270067,"sku":"hvac-cleaning-owner-makes","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6191\/2762\/files\/hvac-cleaning-owner-makes.webp?v=1782684545","url":"https:\/\/financialmodelslab.com\/products\/hvac-cleaning-owner-makes","provider":"Financial Models Lab","version":"1.0","type":"link"}