{"product_id":"ventilation-duct-cleaning-opening-plan","title":"How To Start A Duct Cleaning Business In 6–10 Weeks","description":"\u003cbr\u003e\u003cdiv class=\"card_smpl\"\u003e\n\u003cp\u003eTo start a duct cleaning business, set up the entity, check local licensing rules, bind insurance, secure equipment, train technicians, publish service pricing, and book paid residential jobs The researched launch assumption is an owner-led, residential-first start with a \u003cstrong\u003e6–10 week\u003c\/strong\u003e opening window In Year 1, residential cleaning is modeled at \u003cstrong\u003e70%\u003c\/strong\u003e of customer mix, with 6 billable hours at $80 per hour, or about $480 per standard residential job The main launch bottleneck is equipment and vehicle readiness plus enough qualified local leads to fill the first schedule\u003c\/p\u003e\n\n\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003csection class=\"fml-launch-snapshot-cards\" aria-label=\"Duct cleaning launch snapshot cards\"\u003e\u003cdiv class=\"fml-launch-snapshot-grid\"\u003e\n\u003carticle class=\"fml-launch-snapshot-card is-blue\" data-snapshot-key=\"timeToOpen\"\u003e\u003cspan class=\"fml-launch-snapshot-icon-tip\" tabindex=\"0\" data-tooltip=\"This 6-10 week window assumes an owner-operator residential start and core equipment ready. If trucks or vacuums slip, opening moves back.\"\u003e\u003cimg class=\"fml-launch-snapshot-icon\" src=\"\/cdn\/shop\/files\/fml-launch-snapshot-time-to-open.svg\" alt=\"\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan class=\"fml-launch-snapshot-label\"\u003eTime to Open\u003c\/span\u003e\u003cstrong class=\"fml-launch-snapshot-value\" tabindex=\"0\" data-tooltip=\"This 6-10 week window assumes an owner-operator residential start and core equipment ready. If trucks or vacuums slip, opening moves back.\"\u003e8 weeks\u003c\/strong\u003e\u003cspan class=\"fml-launch-snapshot-detail\"\u003eSetup window\u003c\/span\u003e\u003c\/article\u003e\u003carticle class=\"fml-launch-snapshot-card is-purple\" data-snapshot-key=\"launchSequence\"\u003e\u003cspan class=\"fml-launch-snapshot-icon-tip\" tabindex=\"0\" data-tooltip=\"Order matters: get compliance done first, then equipment, training, marketing, and first jobs. If you market before the crew is ready, leads can sit idle.\"\u003e\u003cimg class=\"fml-launch-snapshot-icon\" src=\"\/cdn\/shop\/files\/fml-launch-snapshot-launch-sequence.svg\" alt=\"\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan class=\"fml-launch-snapshot-label\"\u003eLaunch Sequence\u003c\/span\u003e\u003cstrong class=\"fml-launch-snapshot-value\" tabindex=\"0\" data-tooltip=\"Order matters: get compliance done first, then equipment, training, marketing, and first jobs. If you market before the crew is ready, leads can sit idle.\"\u003e8 stages\u003c\/strong\u003e\u003cspan class=\"fml-launch-snapshot-detail\"\u003eCompliance first\u003c\/span\u003e\u003c\/article\u003e\u003carticle class=\"fml-launch-snapshot-card is-yellow\" data-snapshot-key=\"keyBottleneck\"\u003e\u003cspan class=\"fml-launch-snapshot-icon-tip\" tabindex=\"0\" data-tooltip=\"Equipment readiness and qualified leads are the main gate. An idle crew or an unbooked truck slows ramp fast, so check both before you scale spend.\"\u003e\u003cimg class=\"fml-launch-snapshot-icon\" src=\"\/cdn\/shop\/files\/fml-launch-snapshot-key-bottleneck.svg\" alt=\"\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan class=\"fml-launch-snapshot-label\"\u003eKey Bottleneck\u003c\/span\u003e\u003cstrong class=\"fml-launch-snapshot-value\" tabindex=\"0\" data-tooltip=\"Equipment readiness and qualified leads are the main gate. An idle crew or an unbooked truck slows ramp fast, so check both before you scale spend.\"\u003eLead flow\u003c\/strong\u003e\u003cspan class=\"fml-launch-snapshot-detail\"\u003eLead time\u003c\/span\u003e\u003c\/article\u003e\u003carticle class=\"fml-launch-snapshot-card is-green\" data-snapshot-key=\"firstRevenueStep\"\u003e\u003cspan class=\"fml-launch-snapshot-icon-tip\" tabindex=\"0\" data-tooltip=\"Book paid residential duct cleaning packages first. Year 1 is 70% residential, and the modeled job value is $480, so this is the fastest cash trigger.\"\u003e\u003cimg class=\"fml-launch-snapshot-icon\" src=\"\/cdn\/shop\/files\/fml-launch-snapshot-first-revenue-step.svg\" alt=\"\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan class=\"fml-launch-snapshot-label\"\u003eFirst Revenue Step\u003c\/span\u003e\u003cstrong class=\"fml-launch-snapshot-value\" tabindex=\"0\" data-tooltip=\"Book paid residential duct cleaning packages first. Year 1 is 70% residential, and the modeled job value is $480, so this is the fastest cash trigger.\"\u003ePaid booking\u003c\/strong\u003e\u003cspan class=\"fml-launch-snapshot-detail\"\u003eResidential first\u003c\/span\u003e\u003c\/article\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003cbr\u003e\u003csection class=\"fml-launch-timeline\" aria-label=\"Duct Cleaning Launch Timeline\" data-locale=\"en-US\" data-currency=\"USD\" data-export-filename=\"Duct Cleaning launch gantt chart.xlsx\" data-source-title=\"Duct Cleaning Launch Timeline\" data-site-name=\"Financial Models Lab\" data-site-url=\"https:\/\/financialmodelslab.com\/\" data-note-label=\"Planning note\" data-note-text=\"Timing is a planning assumption and should be adjusted if insurance, vehicles, or equipment take longer than expected.\" data-timeline-unit=\"weeks\" data-period-label=\"Week\" style=\"--fml-launch-periods:12;\"\u003e\u003cdiv class=\"fml-launch-card\"\u003e\n\u003cheader class=\"fml-launch-header\"\u003e\u003cdiv\u003e\n\u003cp class=\"fml-launch-eyebrow\"\u003eLaunch timeline\u003c\/p\u003e\n\u003cp class=\"fml-launch-description\"\u003eThis is a short web summary of the launch plan, and the XLSX export contains the detailed Gantt Chart.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cbutton class=\"fml-launch-export\" type=\"button\" data-launch-export\u003eEXPORT XLSX\u003c\/button\u003e\u003c\/header\u003e\u003cdiv class=\"fml-launch-board\"\u003e\n\u003cdiv class=\"fml-launch-periods\"\u003e\n\u003cspan\u003eLaunch schedule\u003c\/span\u003e\u003cspan\u003eWeek 1\u003c\/span\u003e\u003cspan\u003eWeek 2\u003c\/span\u003e\u003cspan\u003eWeek 3\u003c\/span\u003e\u003cspan\u003eWeek 4\u003c\/span\u003e\u003cspan\u003eWeek 5\u003c\/span\u003e\u003cspan\u003eWeek 6\u003c\/span\u003e\u003cspan\u003eWeek 7\u003c\/span\u003e\u003cspan\u003eWeek 8\u003c\/span\u003e\u003cspan\u003eWeek 9\u003c\/span\u003e\u003cspan\u003eWeek 10\u003c\/span\u003e\u003cspan\u003eWeek 11\u003c\/span\u003e\u003cspan\u003eWeek 12\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-launch-lanes\"\u003e\n\u003csection class=\"fml-launch-lane\" data-lane-key=\"compliance\" data-tone=\"primary\" style=\"--fml-launch-start:1; --fml-launch-duration:4;\"\u003e\u003cdiv class=\"fml-launch-lane-info\"\u003e\n\u003cstrong class=\"fml-launch-lane-title\"\u003eLegal and insurance\u003c\/strong\u003e\u003cdiv class=\"fml-launch-lane-meta\"\u003e\n\u003cspan\u003eWeek 1-4\u003c\/span\u003e\u003cspan\u003e4 tasks\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-launch-track\" aria-hidden=\"true\"\u003e\u003cspan class=\"fml-launch-bar\"\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv class=\"fml-launch-details\"\u003e\n\u003cbutton class=\"fml-launch-toggle\" type=\"button\" data-launch-toggle\u003eShow tasks\u003c\/button\u003e\u003cul class=\"fml-launch-task-list\"\u003e\n\u003cli data-task-start=\"1\" data-task-duration=\"1\" data-task-priority=\"High\" data-task-output=\"Entity records\"\u003e\u003cstrong\u003eForm entity\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli data-task-start=\"1\" data-task-duration=\"2\" data-task-priority=\"High\" data-task-output=\"Active policies\"\u003e\u003cstrong\u003eBind insurance\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli data-task-start=\"2\" data-task-duration=\"2\" data-task-priority=\"Medium\" data-task-output=\"Permit checklist\"\u003e\u003cstrong\u003eReview permits\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli data-task-start=\"3\" data-task-duration=\"2\" data-task-priority=\"Medium\" data-task-output=\"Safety SOP\"\u003e\u003cstrong\u003eSet safety rules\u003c\/strong\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003csection class=\"fml-launch-lane\" data-lane-key=\"equipment\" data-tone=\"blue\" style=\"--fml-launch-start:1; --fml-launch-duration:6;\"\u003e\u003cdiv class=\"fml-launch-lane-info\"\u003e\n\u003cstrong class=\"fml-launch-lane-title\"\u003eEquipment and fleet\u003c\/strong\u003e\u003cdiv class=\"fml-launch-lane-meta\"\u003e\n\u003cspan\u003eWeek 1-6\u003c\/span\u003e\u003cspan\u003e5 tasks\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-launch-track\" aria-hidden=\"true\"\u003e\u003cspan class=\"fml-launch-bar\"\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv class=\"fml-launch-details\"\u003e\n\u003cbutton class=\"fml-launch-toggle\" type=\"button\" data-launch-toggle\u003eShow tasks\u003c\/button\u003e\u003cul class=\"fml-launch-task-list\"\u003e\n\u003cli data-task-start=\"1\" data-task-duration=\"2\" data-task-priority=\"High\" data-task-output=\"Equipment POs\"\u003e\u003cstrong\u003eOrder vacuums\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli data-task-start=\"2\" data-task-duration=\"2\" data-task-priority=\"Medium\" data-task-output=\"Inspection gear\"\u003e\u003cstrong\u003eOrder cameras\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli data-task-start=\"1\" data-task-duration=\"1\" data-task-priority=\"High\" data-task-output=\"PPE inventory\"\u003e\u003cstrong\u003eBuy PPE stock\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli data-task-start=\"3\" data-task-duration=\"3\" data-task-priority=\"High\" data-task-output=\"Vehicle setup\"\u003e\u003cstrong\u003ePrep vans\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli data-task-start=\"4\" data-task-duration=\"2\" data-task-priority=\"Medium\" data-task-output=\"Service kit\"\u003e\u003cstrong\u003eReceive tools\u003c\/strong\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003csection class=\"fml-launch-lane\" data-lane-key=\"staffing\" data-tone=\"green\" style=\"--fml-launch-start:2; --fml-launch-duration:5;\"\u003e\u003cdiv class=\"fml-launch-lane-info\"\u003e\n\u003cstrong class=\"fml-launch-lane-title\"\u003eStaffing and training\u003c\/strong\u003e\u003cdiv class=\"fml-launch-lane-meta\"\u003e\n\u003cspan\u003eWeek 2-6\u003c\/span\u003e\u003cspan\u003e4 tasks\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-launch-track\" aria-hidden=\"true\"\u003e\u003cspan class=\"fml-launch-bar\"\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv class=\"fml-launch-details\"\u003e\n\u003cbutton class=\"fml-launch-toggle\" type=\"button\" data-launch-toggle\u003eShow tasks\u003c\/button\u003e\u003cul class=\"fml-launch-task-list\"\u003e\n\u003cli data-task-start=\"2\" data-task-duration=\"2\" data-task-priority=\"High\" data-task-output=\"Signed offer\"\u003e\u003cstrong\u003eHire lead tech\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli data-task-start=\"3\" data-task-duration=\"2\" data-task-priority=\"High\" data-task-output=\"Second hire\"\u003e\u003cstrong\u003eHire tech\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli data-task-start=\"4\" data-task-duration=\"2\" data-task-priority=\"High\" data-task-output=\"Trained crew\"\u003e\u003cstrong\u003eTrain duct process\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli data-task-start=\"5\" data-task-duration=\"2\" data-task-priority=\"Medium\" data-task-output=\"Field-ready team\"\u003e\u003cstrong\u003eRide-along practice\u003c\/strong\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003csection class=\"fml-launch-lane\" data-lane-key=\"marketing\" data-tone=\"yellow\" style=\"--fml-launch-start:2; --fml-launch-duration:7;\"\u003e\u003cdiv class=\"fml-launch-lane-info\"\u003e\n\u003cstrong class=\"fml-launch-lane-title\"\u003eMarketing and intake\u003c\/strong\u003e\u003cdiv class=\"fml-launch-lane-meta\"\u003e\n\u003cspan\u003eWeek 2-8\u003c\/span\u003e\u003cspan\u003e5 tasks\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-launch-track\" aria-hidden=\"true\"\u003e\u003cspan class=\"fml-launch-bar\"\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv class=\"fml-launch-details\"\u003e\n\u003cbutton class=\"fml-launch-toggle\" type=\"button\" data-launch-toggle\u003eShow tasks\u003c\/button\u003e\u003cul class=\"fml-launch-task-list\"\u003e\n\u003cli data-task-start=\"2\" data-task-duration=\"2\" data-task-priority=\"High\" data-task-output=\"Live website\"\u003e\u003cstrong\u003eBuild website\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli data-task-start=\"3\" data-task-duration=\"2\" data-task-priority=\"High\" data-task-output=\"Local profiles\"\u003e\u003cstrong\u003eSet local listings\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli data-task-start=\"3\" data-task-duration=\"1\" data-task-priority=\"Medium\" data-task-output=\"Intake workflow\"\u003e\u003cstrong\u003eCreate intake forms\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli data-task-start=\"5\" data-task-duration=\"1\" data-task-priority=\"Low\" data-task-output=\"Review script\"\u003e\u003cstrong\u003eWrite review ask\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli data-task-start=\"6\" data-task-duration=\"3\" data-task-priority=\"High\" data-task-output=\"Lead flow\"\u003e\u003cstrong\u003eLaunch paid ads\u003c\/strong\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003csection class=\"fml-launch-lane\" data-lane-key=\"operations\" data-tone=\"gray\" style=\"--fml-launch-start:3; --fml-launch-duration:10;\"\u003e\u003cdiv class=\"fml-launch-lane-info\"\u003e\n\u003cstrong class=\"fml-launch-lane-title\"\u003eOperations and pricing\u003c\/strong\u003e\u003cdiv class=\"fml-launch-lane-meta\"\u003e\n\u003cspan\u003eWeek 3-12\u003c\/span\u003e\u003cspan\u003e5 tasks\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-launch-track\" aria-hidden=\"true\"\u003e\u003cspan class=\"fml-launch-bar\"\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv class=\"fml-launch-details\"\u003e\n\u003cbutton class=\"fml-launch-toggle\" type=\"button\" data-launch-toggle\u003eShow tasks\u003c\/button\u003e\u003cul class=\"fml-launch-task-list\"\u003e\n\u003cli data-task-start=\"3\" data-task-duration=\"2\" data-task-priority=\"High\" data-task-output=\"Rate card\"\u003e\u003cstrong\u003eSet pricing model\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli data-task-start=\"4\" data-task-duration=\"2\" data-task-priority=\"High\" data-task-output=\"Service checklist\"\u003e\u003cstrong\u003eBuild job checklist\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli data-task-start=\"4\" data-task-duration=\"2\" data-task-priority=\"High\" data-task-output=\"Booking calendar\"\u003e\u003cstrong\u003eSet scheduling system\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli data-task-start=\"5\" data-task-duration=\"2\" data-task-priority=\"Medium\" data-task-output=\"Invoice template\"\u003e\u003cstrong\u003ePrep invoice flow\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli data-task-start=\"6\" data-task-duration=\"3\" data-task-priority=\"High\" data-task-output=\"QA checklist\"\u003e\u003cstrong\u003eRun quality checks\u003c\/strong\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003csection class=\"fml-launch-lane\" data-lane-key=\"expansion\" data-tone=\"red\" style=\"--fml-launch-start:7; --fml-launch-duration:6;\"\u003e\u003cdiv class=\"fml-launch-lane-info\"\u003e\n\u003cstrong class=\"fml-launch-lane-title\"\u003eGrowth and add-ons\u003c\/strong\u003e\u003cdiv class=\"fml-launch-lane-meta\"\u003e\n\u003cspan\u003eWeek 7-12\u003c\/span\u003e\u003cspan\u003e4 tasks\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-launch-track\" aria-hidden=\"true\"\u003e\u003cspan class=\"fml-launch-bar\"\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv class=\"fml-launch-details\"\u003e\n\u003cbutton class=\"fml-launch-toggle\" type=\"button\" data-launch-toggle\u003eShow tasks\u003c\/button\u003e\u003cul class=\"fml-launch-task-list\"\u003e\n\u003cli data-task-start=\"7\" data-task-duration=\"2\" data-task-priority=\"Medium\" data-task-output=\"Plan offer\"\u003e\u003cstrong\u003eAdd maintenance plan\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli data-task-start=\"8\" data-task-duration=\"2\" data-task-priority=\"Medium\" data-task-output=\"Upsell list\"\u003e\u003cstrong\u003eBuild add-on menu\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli data-task-start=\"8\" data-task-duration=\"3\" data-task-priority=\"Medium\" data-task-output=\"Account list\"\u003e\u003cstrong\u003eMap commercial targets\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli data-task-start=\"10\" data-task-duration=\"3\" data-task-priority=\"Low\" data-task-output=\"Fleet plan\"\u003e\u003cstrong\u003ePlan second van\u003c\/strong\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003c\/section\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cfooter class=\"fml-launch-note\"\u003e\u003cspan class=\"fml-launch-note-icon\" aria-hidden=\"true\"\u003e!\u003c\/span\u003e\u003cp\u003e\u003cstrong\u003ePlanning note:\u003c\/strong\u003e Timing is a planning assumption and should be adjusted if insurance, vehicles, or equipment take longer than expected.\u003c\/p\u003e\u003c\/footer\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;\"\u003eWhy test Duct Cleaning launch assumptions before opening?\u003c\/span\u003e\u003c\/h3\u003e\n\n\u003cp\u003eThis \u003ca href=\"\/products\/ventilation-duct-cleaning-financial-model\"\u003eDuct Cleaning Financial Model Template\u003c\/a\u003e shows revenue, costs, cash needs, assumptions, and break-even logic—open it now.\u003c\/p\u003e\n\n\u003ch4\u003eFinancial model highlights\u003c\/h4\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eOwner-led\u003c\/strong\u003e launch, \u003cstrong\u003e$15k\u003c\/strong\u003e marketing\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e70%\u003c\/strong\u003e residential, \u003cstrong\u003e$480\u003c\/strong\u003e jobs\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMonth 7\u003c\/strong\u003e 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\/ventilation-duct-cleaning-financial-model-dashboard-financialmodelslab_5e31a335-0565-46d7-b227-ccbf07e43896.webp\"\u003e\n\u003cimg class=\"preview-img\" width=\"100%\" height=\"auto\" src=\"\/cdn\/shop\/files\/ventilation-duct-cleaning-financial-model-dashboard-financialmodelslab_5e31a335-0565-46d7-b227-ccbf07e43896.webp?width=500\" alt=\"Duct Cleaning Financial Model dashboard summarizing key KPIs, runway and cash position with a dynamic dashboard showing revenue, margins, customer growth and operational performance—investor-ready.\"\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 do you get customers for a duct cleaning business?\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\n\u003cp\u003eGet the first booked jobs from local search, proof, and referrals, not broad awareness. Start with a \u003ca href=\"\/blogs\/startup-costs\/ventilation-duct-cleaning\"\u003eHow Much Does It Cost To Open And Launch Your Duct Cleaning Business?\u003c\/a\u003e mindset: with \u003cstrong\u003e$15,000\u003c\/strong\u003e in Year 1 marketing and \u003cstrong\u003e$150 CAC\u003c\/strong\u003e, every paid channel needs job-level tracking. Build a Google Business Profile, local service pages, a quote form, call tracking, review collection, and before-after photos, then target older-home neighborhoods, seasonal HVAC messages, property managers, and HVAC contractor referrals; residential work should be about \u003cstrong\u003e70%\u003c\/strong\u003e of Year 1 mix.\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\u003eFastest first jobs\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eUse Google Business Profile first\u003c\/li\u003e\n\u003cli\u003eBuild local service pages\u003c\/li\u003e\n\u003cli\u003eShow before-after proof\u003c\/li\u003e\n\u003cli\u003eCollect reviews after every job\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\u003eBest early targets\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eOlder-home neighborhoods first\u003c\/li\u003e\n\u003cli\u003eSeasonal heating and cooling messages\u003c\/li\u003e\n\u003cli\u003eProperty managers and HVAC referrals\u003c\/li\u003e\n\u003cli\u003eUse paid lead channels later\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eDo you need a license to start a duct cleaning business?\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\n\u003cp\u003eFor \u003cstrong\u003eDuct Cleaning\u003c\/strong\u003e, you may not need a trade license everywhere, but you do need local legal clearance before your first job; check state, county, and city rules, then compare launch demand using \u003ca href=\"\/blogs\/kpi-metrics\/ventilation-duct-cleaning\"\u003eWhat Is The Current Growth Rate Of Duct Cleaning Service?\u003c\/a\u003e. Treat this as launch guidance, not legal advice: budget \u003cstrong\u003e20% of Year 1 revenue\u003c\/strong\u003e for technician NADCA certifications and training because it signals quality, not automatic legal permission.\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\u003eCheck Before Launch\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eRegister the business entity\u003c\/li\u003e\n\u003cli\u003eCheck state service rules\u003c\/li\u003e\n\u003cli\u003eCheck county and city permits\u003c\/li\u003e\n\u003cli\u003eConfirm sales tax registration\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\u003eBe Job-Ready\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eCarry proof of insurance\u003c\/li\u003e\n\u003cli\u003eDocument safe work practices\u003c\/li\u003e\n\u003cli\u003eUse written service reports\u003c\/li\u003e\n\u003cli\u003eTrain technicians to NADCA standards\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eHow long does it take to start a duct cleaning business?\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\n\u003cp\u003eFor a residential \u003cstrong\u003eDuct Cleaning\u003c\/strong\u003e owner-operator launch, expect \u003cstrong\u003e6–10 weeks\u003c\/strong\u003e if equipment delivery, vehicle setup, insurance binding, technician training, marketing setup, and first appointments move in parallel. The trap is simple: \u003cstrong\u003edo not book jobs\u003c\/strong\u003e before insurance, PPE, tools, pricing, and the job workflow are ready.\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\u003eLaunch timing\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003e6–10 weeks\u003c\/strong\u003e for a basic start\u003c\/li\u003e\n\u003cli\u003eInsurance must bind first\u003c\/li\u003e\n\u003cli\u003eTools and PPE must be ready\u003c\/li\u003e\n\u003cli\u003ePricing should be set before calls\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\u003eCapital rollout\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eMonth 1–3\u003c\/strong\u003e: specialized vacuums\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMonth 2–4\u003c\/strong\u003e: cameras\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMonth 3–5\u003c\/strong\u003e: vehicles\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMonth 4–6\u003c\/strong\u003e: compressors\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eConfirm what must be ready before accepting duct cleaning jobs\n\u003c\/span\u003e\u003c\/h2\u003e\n\u003csection class=\"fml-launch-readiness\" aria-label=\"Launch readiness checklist for duct cleaning.\" data-export-filename=\"Duct Cleaning launch readiness checklist.xlsx\" data-source-title=\"Duct Cleaning Launch Readiness Checklist\" data-site-name=\"Financial Models Lab\" data-site-url=\"https:\/\/financialmodelslab.com\/\" data-note-label=\"Planning note\" data-note-text=\"Readiness assumes local rules, insurance, trained crews, and lead flow are all in place.\"\u003e\u003cdiv class=\"fml-launch-readiness-card\"\u003e\n\u003cheader class=\"fml-launch-readiness-header\"\u003e\u003cdiv\u003e\n\u003cp class=\"fml-launch-readiness-eyebrow\"\u003eLaunch readiness checklist\u003c\/p\u003e\n\u003cp class=\"fml-launch-readiness-description\"\u003eGo-live approval checklist to confirm the duct cleaning business is ready before opening.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cbutton class=\"fml-launch-readiness-export\" type=\"button\" data-readiness-export\u003eEXPORT XLSX\u003c\/button\u003e\u003c\/header\u003e\u003cdiv class=\"fml-launch-readiness-grid\"\u003e\n\u003carticle class=\"fml-launch-readiness-section is-primary\" data-readiness-key=\"compliance-permits\"\u003e\u003cdiv class=\"fml-launch-readiness-section-head\"\u003e\n\u003cspan class=\"fml-launch-readiness-section-icon\" aria-hidden=\"true\"\u003e1\u003c\/span\u003e\u003cstrong class=\"fml-launch-readiness-section-title\"\u003eCompliance\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cul class=\"fml-launch-readiness-list\"\u003e\n\u003cli class=\"fml-launch-readiness-item\" data-readiness-priority=\"Critical\" data-readiness-required=\"Yes\" data-readiness-owner=\"Founder\" data-readiness-status=\"Not started\" data-readiness-evidence=\"Formation docs\"\u003e\u003cdiv class=\"fml-launch-readiness-item-body\"\u003e\n\u003cdiv class=\"fml-launch-readiness-item-top\"\u003e\n\u003cstrong class=\"fml-launch-readiness-item-title\"\u003eEntity registered\u003c\/strong\u003e\u003cspan class=\"fml-launch-readiness-tag is-critical\"\u003eCritical\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"fml-launch-readiness-item-detail\"\u003eThe business must exist legally before permits, bank setup, and contracts.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/li\u003e\n\u003cli class=\"fml-launch-readiness-item\" data-readiness-priority=\"Critical\" data-readiness-required=\"Yes\" data-readiness-owner=\"Ops\" data-readiness-status=\"Not started\" data-readiness-evidence=\"Permit review notes\"\u003e\u003cdiv class=\"fml-launch-readiness-item-body\"\u003e\n\u003cdiv class=\"fml-launch-readiness-item-top\"\u003e\n\u003cstrong class=\"fml-launch-readiness-item-title\"\u003eLocal rules checked\u003c\/strong\u003e\u003cspan class=\"fml-launch-readiness-tag is-critical\"\u003eCritical\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"fml-launch-readiness-item-detail\"\u003eCity, county, and state rules can change where trucks, storage, and work start.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/li\u003e\n\u003cli class=\"fml-launch-readiness-item\" data-readiness-priority=\"Critical\" data-readiness-required=\"Yes\" data-readiness-owner=\"Founder\" data-readiness-status=\"Not started\" data-readiness-evidence=\"Active policy binder\"\u003e\u003cdiv class=\"fml-launch-readiness-item-body\"\u003e\n\u003cdiv class=\"fml-launch-readiness-item-top\"\u003e\n\u003cstrong class=\"fml-launch-readiness-item-title\"\u003eGeneral liability bound\u003c\/strong\u003e\u003cspan class=\"fml-launch-readiness-tag is-critical\"\u003eCritical\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"fml-launch-readiness-item-detail\"\u003eCoverage should be active before any home or jobsite work starts.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/li\u003e\n\u003cli class=\"fml-launch-readiness-item\" data-readiness-priority=\"Critical\" data-readiness-required=\"Yes\" data-readiness-owner=\"Founder\" data-readiness-status=\"Not started\" data-readiness-evidence=\"Fleet policy binder\"\u003e\u003cdiv class=\"fml-launch-readiness-item-body\"\u003e\n\u003cdiv class=\"fml-launch-readiness-item-top\"\u003e\n\u003cstrong class=\"fml-launch-readiness-item-title\"\u003eCommercial auto bound\u003c\/strong\u003e\u003cspan class=\"fml-launch-readiness-tag is-critical\"\u003eCritical\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"fml-launch-readiness-item-detail\"\u003eVehicles need active coverage before the first service call.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/article\u003e\u003carticle class=\"fml-launch-readiness-section is-blue\" data-readiness-key=\"equipment-fleet\"\u003e\u003cdiv class=\"fml-launch-readiness-section-head\"\u003e\n\u003cspan class=\"fml-launch-readiness-section-icon\" aria-hidden=\"true\"\u003e2\u003c\/span\u003e\u003cstrong class=\"fml-launch-readiness-section-title\"\u003eEquipment\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cul class=\"fml-launch-readiness-list\"\u003e\n\u003cli class=\"fml-launch-readiness-item\" data-readiness-priority=\"High\" data-readiness-required=\"Yes\" data-readiness-owner=\"Ops\" data-readiness-status=\"Not started\" data-readiness-evidence=\"Vehicle inspection log\"\u003e\u003cdiv class=\"fml-launch-readiness-item-body\"\u003e\n\u003cdiv class=\"fml-launch-readiness-item-top\"\u003e\n\u003cstrong class=\"fml-launch-readiness-item-title\"\u003eVans road-ready\u003c\/strong\u003e\u003cspan class=\"fml-launch-readiness-tag is-high\"\u003eHigh\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"fml-launch-readiness-item-detail\"\u003eTrucks or vans need clean, safe transport before the first job.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/li\u003e\n\u003cli class=\"fml-launch-readiness-item\" data-readiness-priority=\"Critical\" data-readiness-required=\"Yes\" data-readiness-owner=\"Ops\" data-readiness-status=\"Not started\" data-readiness-evidence=\"Equipment test log\"\u003e\u003cdiv class=\"fml-launch-readiness-item-body\"\u003e\n\u003cdiv class=\"fml-launch-readiness-item-top\"\u003e\n\u003cstrong class=\"fml-launch-readiness-item-title\"\u003eVacuums tested\u003c\/strong\u003e\u003cspan class=\"fml-launch-readiness-tag is-critical\"\u003eCritical\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"fml-launch-readiness-item-detail\"\u003eWorking suction is nonnegotiable; no working gear means no launch.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/li\u003e\n\u003cli class=\"fml-launch-readiness-item\" data-readiness-priority=\"Medium\" data-readiness-required=\"Yes\" data-readiness-owner=\"Ops\" data-readiness-status=\"Not started\" data-readiness-evidence=\"Tool checklist\"\u003e\u003cdiv class=\"fml-launch-readiness-item-body\"\u003e\n\u003cdiv class=\"fml-launch-readiness-item-top\"\u003e\n\u003cstrong class=\"fml-launch-readiness-item-title\"\u003eCamera tools packed\u003c\/strong\u003e\u003cspan class=\"fml-launch-readiness-tag is-medium\"\u003eMedium\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"fml-launch-readiness-item-detail\"\u003eInspection tools support proof, pricing, and issue tracking on site.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/li\u003e\n\u003cli class=\"fml-launch-readiness-item\" data-readiness-priority=\"High\" data-readiness-required=\"Yes\" data-readiness-owner=\"Ops\" data-readiness-status=\"Not started\" data-readiness-evidence=\"Stock count\"\u003e\u003cdiv class=\"fml-launch-readiness-item-body\"\u003e\n\u003cdiv class=\"fml-launch-readiness-item-top\"\u003e\n\u003cstrong class=\"fml-launch-readiness-item-title\"\u003ePPE supplies stocked\u003c\/strong\u003e\u003cspan class=\"fml-launch-readiness-tag is-high\"\u003eHigh\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"fml-launch-readiness-item-detail\"\u003eMasks, gloves, and supplies keep crews safe and jobs efficient.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/article\u003e\u003carticle class=\"fml-launch-readiness-section is-green\" data-readiness-key=\"technician-training\"\u003e\u003cdiv class=\"fml-launch-readiness-section-head\"\u003e\n\u003cspan class=\"fml-launch-readiness-section-icon\" aria-hidden=\"true\"\u003e3\u003c\/span\u003e\u003cstrong class=\"fml-launch-readiness-section-title\"\u003eTechnicians\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cul class=\"fml-launch-readiness-list\"\u003e\n\u003cli class=\"fml-launch-readiness-item\" data-readiness-priority=\"Critical\" data-readiness-required=\"Yes\" data-readiness-owner=\"Founder\" data-readiness-status=\"Not started\" data-readiness-evidence=\"Signed offer\"\u003e\u003cdiv class=\"fml-launch-readiness-item-body\"\u003e\n\u003cdiv class=\"fml-launch-readiness-item-top\"\u003e\n\u003cstrong class=\"fml-launch-readiness-item-title\"\u003eLead tech hired\u003c\/strong\u003e\u003cspan class=\"fml-launch-readiness-tag is-critical\"\u003eCritical\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"fml-launch-readiness-item-detail\"\u003eA lead tech owns quality, field decisions, and job closeout.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/li\u003e\n\u003cli class=\"fml-launch-readiness-item\" data-readiness-priority=\"Critical\" data-readiness-required=\"Yes\" data-readiness-owner=\"Lead Tech\" data-readiness-status=\"Not started\" data-readiness-evidence=\"Training signoff\"\u003e\u003cdiv class=\"fml-launch-readiness-item-body\"\u003e\n\u003cdiv class=\"fml-launch-readiness-item-top\"\u003e\n\u003cstrong class=\"fml-launch-readiness-item-title\"\u003eContainment steps trained\u003c\/strong\u003e\u003cspan class=\"fml-launch-readiness-tag is-critical\"\u003eCritical\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"fml-launch-readiness-item-detail\"\u003eCrews must control dust spread before they enter customer spaces.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/li\u003e\n\u003cli class=\"fml-launch-readiness-item\" data-readiness-priority=\"High\" data-readiness-required=\"Yes\" data-readiness-owner=\"Lead Tech\" data-readiness-status=\"Not started\" data-readiness-evidence=\"Job practice log\"\u003e\u003cdiv class=\"fml-launch-readiness-item-body\"\u003e\n\u003cdiv class=\"fml-launch-readiness-item-top\"\u003e\n\u003cstrong class=\"fml-launch-readiness-item-title\"\u003eVacuum agitation practiced\u003c\/strong\u003e\u003cspan class=\"fml-launch-readiness-tag is-high\"\u003eHigh\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"fml-launch-readiness-item-detail\"\u003eTechnicians need repeatable removal steps, not guesswork.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/li\u003e\n\u003cli class=\"fml-launch-readiness-item\" data-readiness-priority=\"High\" data-readiness-required=\"Yes\" data-readiness-owner=\"Lead Tech\" data-readiness-status=\"Not started\" data-readiness-evidence=\"Procedure signoff\"\u003e\u003cdiv class=\"fml-launch-readiness-item-body\"\u003e\n\u003cdiv class=\"fml-launch-readiness-item-top\"\u003e\n\u003cstrong class=\"fml-launch-readiness-item-title\"\u003eCleanup docs signed\u003c\/strong\u003e\u003cspan class=\"fml-launch-readiness-tag is-high\"\u003eHigh\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"fml-launch-readiness-item-detail\"\u003eSigned standards keep each job consistent and easy to audit.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/article\u003e\u003carticle class=\"fml-launch-readiness-section is-yellow\" data-readiness-key=\"service-flow\"\u003e\u003cdiv class=\"fml-launch-readiness-section-head\"\u003e\n\u003cspan class=\"fml-launch-readiness-section-icon\" aria-hidden=\"true\"\u003e4\u003c\/span\u003e\u003cstrong class=\"fml-launch-readiness-section-title\"\u003eService flow\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cul class=\"fml-launch-readiness-list\"\u003e\n\u003cli class=\"fml-launch-readiness-item\" data-readiness-priority=\"High\" data-readiness-required=\"Yes\" data-readiness-owner=\"Founder\" data-readiness-status=\"Not started\" data-readiness-evidence=\"Pricing sheet\"\u003e\u003cdiv class=\"fml-launch-readiness-item-body\"\u003e\n\u003cdiv class=\"fml-launch-readiness-item-top\"\u003e\n\u003cstrong class=\"fml-launch-readiness-item-title\"\u003ePackages priced\u003c\/strong\u003e\u003cspan class=\"fml-launch-readiness-tag is-high\"\u003eHigh\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"fml-launch-readiness-item-detail\"\u003eClear packages make quoting faster and reduce discount drift.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/li\u003e\n\u003cli class=\"fml-launch-readiness-item\" data-readiness-priority=\"High\" data-readiness-required=\"Yes\" data-readiness-owner=\"Sales\" data-readiness-status=\"Not started\" data-readiness-evidence=\"Sales script\"\u003e\u003cdiv class=\"fml-launch-readiness-item-body\"\u003e\n\u003cdiv class=\"fml-launch-readiness-item-top\"\u003e\n\u003cstrong class=\"fml-launch-readiness-item-title\"\u003eQuote script approved\u003c\/strong\u003e\u003cspan class=\"fml-launch-readiness-tag is-high\"\u003eHigh\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"fml-launch-readiness-item-detail\"\u003eOne script keeps sales calls tight and consistent.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/li\u003e\n\u003cli class=\"fml-launch-readiness-item\" data-readiness-priority=\"Critical\" data-readiness-required=\"Yes\" data-readiness-owner=\"Ops\" data-readiness-status=\"Not started\" data-readiness-evidence=\"Test booking\"\u003e\u003cdiv class=\"fml-launch-readiness-item-body\"\u003e\n\u003cdiv class=\"fml-launch-readiness-item-top\"\u003e\n\u003cstrong class=\"fml-launch-readiness-item-title\"\u003eBooking and payments work\u003c\/strong\u003e\u003cspan class=\"fml-launch-readiness-tag is-critical\"\u003eCritical\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"fml-launch-readiness-item-detail\"\u003eCustomers need one clean path from quote to paid booking.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/li\u003e\n\u003cli class=\"fml-launch-readiness-item\" data-readiness-priority=\"Medium\" data-readiness-required=\"Yes\" data-readiness-owner=\"Sales\" data-readiness-status=\"Not started\" data-readiness-evidence=\"Post-job message\"\u003e\u003cdiv class=\"fml-launch-readiness-item-body\"\u003e\n\u003cdiv class=\"fml-launch-readiness-item-top\"\u003e\n\u003cstrong class=\"fml-launch-readiness-item-title\"\u003eReview request ready\u003c\/strong\u003e\u003cspan class=\"fml-launch-readiness-tag is-medium\"\u003eMedium\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"fml-launch-readiness-item-detail\"\u003eAsk for reviews right after a clean finish while trust is high.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/article\u003e\u003carticle class=\"fml-launch-readiness-section is-purple\" data-readiness-key=\"lead-generation\"\u003e\u003cdiv class=\"fml-launch-readiness-section-head\"\u003e\n\u003cspan class=\"fml-launch-readiness-section-icon\" aria-hidden=\"true\"\u003e5\u003c\/span\u003e\u003cstrong class=\"fml-launch-readiness-section-title\"\u003eLead gen\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cul class=\"fml-launch-readiness-list\"\u003e\n\u003cli class=\"fml-launch-readiness-item\" data-readiness-priority=\"Critical\" data-readiness-required=\"Yes\" data-readiness-owner=\"Sales\" data-readiness-status=\"Not started\" data-readiness-evidence=\"Channel plan\"\u003e\u003cdiv class=\"fml-launch-readiness-item-body\"\u003e\n\u003cdiv class=\"fml-launch-readiness-item-top\"\u003e\n\u003cstrong class=\"fml-launch-readiness-item-title\"\u003eLead source confirmed\u003c\/strong\u003e\u003cspan class=\"fml-launch-readiness-tag is-critical\"\u003eCritical\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"fml-launch-readiness-item-detail\"\u003eNo lead source means no first revenue, so this is a hard gate.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/li\u003e\n\u003cli class=\"fml-launch-readiness-item\" data-readiness-priority=\"High\" data-readiness-required=\"Yes\" data-readiness-owner=\"Finance\" data-readiness-status=\"Not started\" data-readiness-evidence=\"CAC test sheet\"\u003e\u003cdiv class=\"fml-launch-readiness-item-body\"\u003e\n\u003cdiv class=\"fml-launch-readiness-item-top\"\u003e\n\u003cstrong class=\"fml-launch-readiness-item-title\"\u003eYear 1 CAC tested\u003c\/strong\u003e\u003cspan class=\"fml-launch-readiness-tag is-hig\nh\"\u003eHigh\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"fml-launch-readiness-item-detail\"\u003eTest the $150 CAC assumption before spending the $15,000 budget.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/li\u003e\n\u003cli class=\"fml-launch-readiness-item\" data-readiness-priority=\"High\" data-readiness-required=\"Yes\" data-readiness-owner=\"Founder\" data-readiness-status=\"Not started\" data-readiness-evidence=\"Approved budget\"\u003e\u003cdiv class=\"fml-launch-readiness-item-body\"\u003e\n\u003cdiv class=\"fml-launch-readiness-item-top\"\u003e\n\u003cstrong class=\"fml-launch-readiness-item-title\"\u003eMarketing budget approved\u003c\/strong\u003e\u003cspan class=\"fml-launch-readiness-tag is-high\"\u003eHigh\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"fml-launch-readiness-item-detail\"\u003eYear 1 spend is $15,000, so the cash plan must match that pace.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/li\u003e\n\u003cli class=\"fml-launch-readiness-item\" data-readiness-priority=\"High\" data-readiness-required=\"Yes\" data-readiness-owner=\"Sales\" data-readiness-status=\"Not started\" data-readiness-evidence=\"Live campaign\"\u003e\u003cdiv class=\"fml-launch-readiness-item-body\"\u003e\n\u003cdiv class=\"fml-launch-readiness-item-top\"\u003e\n\u003cstrong class=\"fml-launch-readiness-item-title\"\u003eFirst campaign live\u003c\/strong\u003e\u003cspan class=\"fml-launch-readiness-tag is-high\"\u003eHigh\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"fml-launch-readiness-item-detail\"\u003eLaunch one channel first so you can see what brings calls.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/article\u003e\u003carticle class=\"fml-launch-readiness-section is-gray\" data-readiness-key=\"cash-signoff\"\u003e\u003cdiv class=\"fml-launch-readiness-section-head\"\u003e\n\u003cspan class=\"fml-launch-readiness-section-icon\" aria-hidden=\"true\"\u003e6\u003c\/span\u003e\u003cstrong class=\"fml-launch-readiness-section-title\"\u003eCash\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cul class=\"fml-launch-readiness-list\"\u003e\n\u003cli class=\"fml-launch-readiness-item\" data-readiness-priority=\"Critical\" data-readiness-required=\"Yes\" data-readiness-owner=\"Finance\" data-readiness-status=\"Not started\" data-readiness-evidence=\"Burn-rate model\"\u003e\u003cdiv class=\"fml-launch-readiness-item-body\"\u003e\n\u003cdiv class=\"fml-launch-readiness-item-top\"\u003e\n\u003cstrong class=\"fml-launch-readiness-item-title\"\u003eMonthly fixed burn checked\u003c\/strong\u003e\u003cspan class=\"fml-launch-readiness-tag is-critical\"\u003eCritical\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"fml-launch-readiness-item-detail\"\u003eFixed costs total $2,950 per month, so the runway math must fit.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/li\u003e\n\u003cli class=\"fml-launch-readiness-item\" data-readiness-priority=\"Critical\" data-readiness-required=\"Yes\" data-readiness-owner=\"Finance\" data-readiness-status=\"Not started\" data-readiness-evidence=\"Breakeven model\"\u003e\u003cdiv class=\"fml-launch-readiness-item-body\"\u003e\n\u003cdiv class=\"fml-launch-readiness-item-top\"\u003e\n\u003cstrong class=\"fml-launch-readiness-item-title\"\u003eMonth 7 breakeven confirmed\u003c\/strong\u003e\u003cspan class=\"fml-launch-readiness-tag is-critical\"\u003eCritical\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"fml-launch-readiness-item-detail\"\u003eThe model says breakeven lands in Month 7, so cash must cover the gap.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/li\u003e\n\u003cli class=\"fml-launch-readiness-item\" data-readiness-priority=\"Critical\" data-readiness-required=\"Yes\" data-readiness-owner=\"Founder\" data-readiness-status=\"Not started\" data-readiness-evidence=\"Funding proof\"\u003e\u003cdiv class=\"fml-launch-readiness-item-body\"\u003e\n\u003cdiv class=\"fml-launch-readiness-item-top\"\u003e\n\u003cstrong class=\"fml-launch-readiness-item-title\"\u003eCash trough funded\u003c\/strong\u003e\u003cspan class=\"fml-launch-readiness-tag is-critical\"\u003eCritical\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"fml-launch-readiness-item-detail\"\u003eMinimum cash is $760k in Month 7, so funding must cover the dip.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/li\u003e\n\u003cli class=\"fml-launch-readiness-item\" data-readiness-priority=\"Critical\" data-readiness-required=\"Yes\" data-readiness-owner=\"Founder\" data-readiness-status=\"Not started\" data-readiness-evidence=\"Signed approval\"\u003e\u003cdiv class=\"fml-launch-readiness-item-body\"\u003e\n\u003cdiv class=\"fml-launch-readiness-item-top\"\u003e\n\u003cstrong class=\"fml-launch-readiness-item-title\"\u003eGo-live signoff complete\u003c\/strong\u003e\u003cspan class=\"fml-launch-readiness-tag is-critical\"\u003eCritical\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"fml-launch-readiness-item-detail\"\u003eFinal signoff should confirm compliance, crew, gear, lead flow, and cash.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/article\u003e\n\u003c\/div\u003e\n\u003cfooter class=\"fml-launch-readiness-note\"\u003e\u003cspan class=\"fml-launch-readiness-note-icon\" aria-hidden=\"true\"\u003e!\u003c\/span\u003e\u003cp\u003e\u003cstrong\u003ePlanning note:\u003c\/strong\u003e Readiness assumes local rules, insurance, trained crews, and lead flow are all in place.\u003c\/p\u003e\u003c\/footer\u003e\n\u003c\/div\u003e\u003c\/section\u003e\n\n\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eWhich launch drivers matter most before opening?\n\u003c\/span\u003e\u003c\/h2\u003e\n\u003csection class=\"fml-main-launch-drivers\" aria-label=\"Six launch drivers for a duct cleaning business.\"\u003e\u003cdiv class=\"main-launch-driver-grid\"\u003e\n\u003carticle class=\"main-launch-driver-card is-primary\" data-launch-driver-rank=\"1\"\u003e\u003cdiv class=\"main-launch-driver-heading\"\u003e\n\u003cspan class=\"main-launch-driver-rank\"\u003e1\u003c\/span\u003e\u003cstrong class=\"main-launch-driver-name\"\u003eCompliance Gate\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cstrong class=\"main-launch-driver-value\"\u003eDay-one gate\u003c\/strong\u003e\u003cp class=\"main-launch-driver-description\"\u003eBinding insurance and service terms before first visit reduce claim risk and make day-one work legal.\u003c\/p\u003e\u003c\/article\u003e\u003carticle class=\"main-launch-driver-card\" data-launch-driver-rank=\"2\"\u003e\u003cdiv class=\"main-launch-driver-heading\"\u003e\n\u003cspan class=\"main-launch-driver-rank\"\u003e2\u003c\/span\u003e\u003cstrong class=\"main-launch-driver-name\"\u003eEquipment Ready\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cstrong class=\"main-launch-driver-value\"\u003eMonth 1-5\u003c\/strong\u003e\u003cp class=\"main-launch-driver-description\"\u003eWorking vacuums, tools, and vans cut cancellations and get the first paid jobs done on time.\u003c\/p\u003e\u003c\/article\u003e\u003carticle class=\"main-launch-driver-card\" data-launch-driver-rank=\"3\"\u003e\u003cdiv class=\"main-launch-driver-heading\"\u003e\n\u003cspan class=\"main-launch-driver-rank\"\u003e3\u003c\/span\u003e\u003cstrong class=\"main-launch-driver-name\"\u003eTraining SOPs\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cstrong class=\"main-launch-driver-value\"\u003e20% rev\u003c\/strong\u003e\u003cp class=\"main-launch-driver-description\"\u003eTraining and SOPs reduce callbacks, protect property, and improve the first reviews.\u003c\/p\u003e\u003c\/article\u003e\u003carticle class=\"main-launch-driver-card\" data-launch-driver-rank=\"4\"\u003e\u003cdiv class=\"main-launch-driver-heading\"\u003e\n\u003cspan class=\"main-launch-driver-rank\"\u003e4\u003c\/span\u003e\u003cstrong class=\"main-launch-driver-name\"\u003ePricing Flow\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cstrong class=\"main-launch-driver-value\"\u003e$480\/job\u003c\/strong\u003e\u003cp class=\"main-launch-driver-description\"\u003eClear quotes by home size and vent count speed booking and prevent disputed invoices.\u003c\/p\u003e\u003c\/article\u003e\u003carticle class=\"main-launch-driver-card\" data-launch-driver-rank=\"5\"\u003e\u003cdiv class=\"main-launch-driver-heading\"\u003e\n\u003cspan class=\"main-launch-driver-rank\"\u003e5\u003c\/span\u003e\u003cstrong class=\"main-launch-driver-name\"\u003eLocal Demand\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cstrong class=\"main-launch-driver-value\"\u003e$15K \/ $150 CAC\u003c\/strong\u003e\u003cp class=\"main-launch-driver-description\"\u003eA $15K Year 1 budget and $150 CAC can fill the opening schedule if intake is ready.\u003c\/p\u003e\u003c\/article\u003e\u003carticle class=\"main-launch-driver-card\" data-launch-driver-rank=\"6\"\u003e\u003cdiv class=\"main-launch-driver-heading\"\u003e\n\u003cspan class=\"main-launch-driver-rank\"\u003e6\u003c\/span\u003e\u003cstrong class=\"main-launch-driver-name\"\u003eOps Reviews\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cstrong class=\"main-launch-driver-value\"\u003eOps stack\u003c\/strong\u003e\u003cp class=\"main-launch-driver-description\"\u003eCRM-driven scheduling and review follow-up keep month-one revenue steady and support repeat work.\u003c\/p\u003e\u003c\/article\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003cbr\u003e\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eCompliance And Insurance\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"left-row1\"\u003e\n    \u003ch3\u003eCompliance and Coverage\u003c\/h3\u003e\n    \u003cp\u003eFor a duct cleaning business, \u003cstrong\u003einsurance and license readiness\u003c\/strong\u003e are the gate to opening on time. Before the first customer visit, the owner needs entity setup, a local license check, a service agreement, and safety policies in place, plus active business insurance and commercial auto coverage. Without that, the business can’t confidently take jobs, quote work, or send crews out.\u003c\/p\u003e\n    \u003cp\u003eThe model assumes \u003cstrong\u003e$250 per month\u003c\/strong\u003e for business insurance and \u003cstrong\u003e$400 per month\u003c\/strong\u003e for fleet vehicle insurance, or \u003cstrong\u003e$650 monthly\u003c\/strong\u003e total before job revenue starts. The real risk is simple: accepting work with no coverage or unclear terms creates claim surprises, weak customer trust, and a launch that looks open but isn’t ready.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"right-row1\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eBind It Before Booking\u003c\/h3\u003e\n      \u003cp\u003eSet the proof-of-insurance process first, then open the calendar. Make sure the certificate of insurance is available, the vehicle policy covers the service truck, and the service agreement spells out scope, exclusions, and customer responsibilities. One missed document can stop a property manager, delay a first visit, or create a payment dispute.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eConfirm entity formation first\u003c\/li\u003e\n        \u003cli\u003eCheck local license rules early\u003c\/li\u003e\n        \u003cli\u003eStore insurance certificates centrally\u003c\/li\u003e\n        \u003cli\u003eTrain staff on safety policies\u003c\/li\u003e\n        \u003cli\u003eReview terms before first invoice\u003c\/li\u003e\n      \u003c\/ul\u003e\n      \u003cp\u003eHere’s the quick math: if coverage is not bound before launch, the business still pays \u003cstrong\u003e$650 per month\u003c\/strong\u003e while revenue is delayed. That makes this a hard dependency, not a back-office task. Handle it before marketing spend, before scheduling, and before any customer walkthroughs.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"timeline\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"step-circle step1\"\u003e1\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eEquipment And Vehicle Readiness\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n\u003cdiv class=\"right-row2\"\u003e\n\u003ch3\u003eTruck And Tool Readiness\u003c\/h3\u003e\n\u003cp\u003e\u003cstrong\u003eJob-ready equipment is what lets this duct cleaning business open on time.\u003c\/strong\u003e Reliable vacuums, access tools, hoses, agitation tools, PPE, inspection cameras, maintenance supplies, and secure vehicle storage are the day-one inputs. If the truck and gear are late, the team can’t reach homes, inspect ducts, or finish jobs cleanly, even if sales are already coming in.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eThe timing matters.\u003c\/strong\u003e The model puts specialized vacuums in \u003cstrong\u003eMonth 1–3\u003c\/strong\u003e, safety equipment in \u003cstrong\u003eMonth 1–2\u003c\/strong\u003e, access tools in \u003cstrong\u003eMonth 1–3\u003c\/strong\u003e, inspection cameras in \u003cstrong\u003eMonth 2–4\u003c\/strong\u003e, and service vehicles in \u003cstrong\u003eMonth 3–5\u003c\/strong\u003e. Marketing before the truck and tools are ready is the bottleneck risk, because it raises cancellations, delays first paid appointments, and weakens the first customer experience.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"left-row2\"\u003e\n\u003cdiv class=\"tips-box\"\u003e\n\u003ch3\u003eStage Gear Before Ads\u003c\/h3\u003e\n\u003cp\u003e\u003cstrong\u003eVerify the field setup before spending on leads.\u003c\/strong\u003e Confirm every tool needed to enter, inspect, clean, and document the job is in hand and fits in the vehicle. Check storage, power needs, maintenance supplies, and how each item will be loaded, protected, and replaced if it fails. The launch goal is simple: show up with working gear on day one.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eUse a readiness checklist tied to the launch calendar.\u003c\/strong\u003e Track what lands in \u003cstrong\u003eMonth 1–2\u003c\/strong\u003e, \u003cstrong\u003eMonth 2–4\u003c\/strong\u003e, and \u003cstrong\u003eMonth 3–5\u003c\/strong\u003e, then test the full setup on a mock job before opening. That includes vacuum pull, hose reach, camera footage, PPE, and vehicle load-out. If any piece is missing, delay ads until the crew can complete a full appointment without improvising.\u003c\/p\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eConfirm truck storage space.\u003c\/li\u003e\n\u003cli\u003eTest vacuum and hose fit.\u003c\/li\u003e\n\u003cli\u003eInspect camera footage quality.\u003c\/li\u003e\n\u003cli\u003eStock PPE and maintenance parts.\u003c\/li\u003e\n\u003cli\u003eRun one dry-run job setup.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"timeline\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"step-circle step2\"\u003e2\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eTechnician Training And SOPs\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"left-row3\"\u003e\n    \u003ch3\u003eTechnician Training Before First Job\u003c\/h3\u003e\n    \u003cp\u003e\u003cstrong\u003eTraining is a launch gate, not a nice-to-have.\u003c\/strong\u003e Duct cleaning techs need to know inspection, containment, agitation, vacuum collection, vent access, customer communication, photo documentation, and cleanup before any paid work. Standard operating procedures (SOPs) keep the same steps on every job, which cuts the risk of callbacks, property damage, and unsafe work on day one.\u003c\/p\u003e\n    \u003cp\u003eNational Air Duct Cleaners Association standards can set the training bar and support credibility. If you plan for technician certifications and training at \u003cstrong\u003e20% of Year 1 revenue\u003c\/strong\u003e, build that into launch cash early so the team is ready before the first customer arrives.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"right-row3\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eRun A Mock Job Before Opening\u003c\/h3\u003e\n      \u003cp\u003e\u003cstrong\u003eTest the full job flow before paid visits start.\u003c\/strong\u003e Run one end-to-end mock clean: inspect, seal containment, clean, document with photos, and finish with a cleanup check. That shows whether the crew can deliver the same result every time, not just on paper.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eTrain before paid visits start\u003c\/li\u003e\n        \u003cli\u003eUse one written SOP checklist\u003c\/li\u003e\n        \u003cli\u003eRequire photo proof each job\u003c\/li\u003e\n        \u003cli\u003ePractice the customer handoff script\u003c\/li\u003e\n      \u003c\/ul\u003e\n      \u003cp\u003e\u003cstrong\u003eOne weak step can delay opening.\u003c\/strong\u003e If techs miss containment or cleanup, you can get callbacks, poor reviews, or repair claims fast, and that can slow first revenue while you fix process gaps and retrain the crew.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"timeline\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"step-circle step3\"\u003e3\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eService Pricing And Job Workflow\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"right-row4\"\u003e\n    \u003ch3\u003eSimple Quote Rules\u003c\/h3\u003e\n    \u003cp\u003e\u003cstrong\u003ePrice confusion can delay launch\u003c\/strong\u003e. If the team cannot quote fast, ads should not start. This driver affects opening on time because the first booked jobs depend on a script that turns \u003cstrong\u003ehome size\u003c\/strong\u003e, \u003cstrong\u003event count\u003c\/strong\u003e, and \u003cstrong\u003eadd-ons\u003c\/strong\u003e into a clear price before the call ends.\u003c\/p\u003e\n    \u003cp\u003eFor planning, the model is simple: \u003cstrong\u003eresidential jobs\u003c\/strong\u003e run about \u003cstrong\u003e6 billable hours\u003c\/strong\u003e at \u003cstrong\u003e$80 per hour\u003c\/strong\u003e, or about \u003cstrong\u003e$480\u003c\/strong\u003e per job; \u003cstrong\u003ecommercial jobs\u003c\/strong\u003e run about \u003cstrong\u003e20 hours\u003c\/strong\u003e at \u003cstrong\u003e$120 per hour\u003c\/strong\u003e, or about \u003cstrong\u003e$2,400\u003c\/strong\u003e. The quote script also needs \u003cstrong\u003eappointment windows\u003c\/strong\u003e, \u003cstrong\u003edeposits or payment collection\u003c\/strong\u003e, and \u003cstrong\u003ebefore-after proof\u003c\/strong\u003e so invoices match the work and booking stays fast.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"left-row4\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eLock the Quote Script Before Ads\u003c\/h3\u003e\n      \u003cp\u003eBuild the pricing rules first, then test them on real calls. The founder should verify \u003cstrong\u003ehome-size qualifiers\u003c\/strong\u003e, \u003cstrong\u003event-count rules\u003c\/strong\u003e, \u003cstrong\u003eadd-on rules\u003c\/strong\u003e, and the exact time to ask for \u003cstrong\u003edeposits\u003c\/strong\u003e or collect payment. If any rule needs a custom decision, booking slows and day-one cash gets tighter.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eWrite one script for every lead.\u003c\/li\u003e\n        \u003cli\u003eAttach photos to every completed job.\u003c\/li\u003e\n        \u003cli\u003eSet appointment windows before launch.\u003c\/li\u003e\n        \u003cli\u003eRequire payment rules upfront.\u003c\/li\u003e\n        \u003cli\u003eUse proof to cut invoice disputes.\u003c\/li\u003e\n      \u003c\/ul\u003e\n      \u003cp\u003e\u003cstrong\u003eWhat this estimate hides:\u003c\/strong\u003e if the quote is loose, customers compare apples to oranges, and the office spends time re-pricing instead of booking. A clean script gives the team a fast yes-or-no path, which helps avoid stalled calls and keeps the first-day schedule moving.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"timeline\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"step-circle step4\"\u003e4\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eLocal Demand Generation\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n\u003cdiv class=\"left-row5\"\u003e\n\u003ch3\u003eLocal Lead Flow\u003c\/h3\u003e\n\u003cp\u003eLocal demand generation has to start before opening, or the schedule opens cold. For duct cleaning, pre-launch work should include a \u003cstrong\u003eGoogle Business Profile\u003c\/strong\u003e, local service pages, neighborhood targeting, and review capture so the first calls can turn into booked jobs, not stalled leads.\u003c\/p\u003e\n\u003cp\u003eThe main risk is buying traffic before intake is ready. With a \u003cstrong\u003e$15,000\u003c\/strong\u003e Year 1 online budget and \u003cstrong\u003e$150 CAC\u003c\/strong\u003e, the plan implies about \u003cstrong\u003e100 qualified leads\u003c\/strong\u003e for the year, so every missed answer or slow quote wastes cash and can leave day-one capacity empty.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"right-row5\"\u003e\n\u003cdiv class=\"tips-box\"\u003e\n\u003ch3\u003ePre-Open Lead Setup\u003c\/h3\u003e\n\u003cp\u003eHere’s the quick math: \u003cstrong\u003e$15,000\u003c\/strong\u003e divided by \u003cstrong\u003e$150 CAC\u003c\/strong\u003e equals about \u003cstrong\u003e100 leads\u003c\/strong\u003e. Since residential jobs are \u003cstrong\u003e70%\u003c\/strong\u003e of Year 1 mix, start with residential packages, then route neighborhood targeting, referral partners, and property manager outreach into the same booking flow so the opening week fills fast.\u003c\/p\u003e\n\u003cp\u003eVerify the phone line, estimate script, service-area map, and calendar slots before spend starts. If the team can’t answer fast and book the same day, the CAC math breaks and opening-day revenue slips.\u003c\/p\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003ePublish local pages before ads.\u003c\/li\u003e\n\u003cli\u003eTest calls, forms, and booking.\u003c\/li\u003e\n\u003cli\u003eSet review requests after each job.\u003c\/li\u003e\n\u003cli\u003ePrepare seasonal HVAC messages.\u003c\/li\u003e\n\u003cli\u003eKeep intake ready before spend.\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;\"\u003eOperations, Reviews, And Repeatable Execution\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"right-row6\"\u003e\n    \u003ch3\u003eOffice Workflow and Follow-Up\u003c\/h3\u003e\n    \u003cp\u003eBefore the first truck rolls, the office flow has to work: \u003cstrong\u003escheduling, routing, customer reminders, job notes, before-after photos, payment capture, review requests, complaint handling, maintenance logs, and referral follow-up\u003c\/strong\u003e. The setup cost is modest at \u003cstrong\u003e$150 per month\u003c\/strong\u003e for CRM and scheduling software plus \u003cstrong\u003e$50 per month\u003c\/strong\u003e for accounting software, but the real dependency is clean handoff from booking to field work.\u003c\/p\u003e\n    \u003cp\u003eIf that workflow slips, the first month gets messy fast: missed appointments, weak job records, slow follow-up, and slower cash collection. One missed \u003cstrong\u003e$480\u003c\/strong\u003e residential job is not just lost revenue; it also weakens trust and review flow. Start with a tested office process before dispatching technicians.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"left-row6\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eTest the Desk Before the Truck Leaves\u003c\/h3\u003e\n      \u003cp\u003eRun the booking flow end to end before launch: lead in, quote, schedule, reminder, route, arrival text, photos, payment, review ask, and referral follow-up. Assign one person to own the CRM, and test the full handoff on a dummy job so you catch gaps before day one. If the office cannot send reminders and capture payment on time, field crews will fall behind.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eConfirm software logins and permissions.\u003c\/li\u003e\n        \u003cli\u003eTemplate job notes and photo storage.\u003c\/li\u003e\n        \u003cli\u003eSet complaint response timing.\u003c\/li\u003e\n        \u003cli\u003eTrigger maintenance and referral tasks.\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","brand":"FinancialModelsLab","offers":[{"title":"Default Title","offer_id":49304347214067,"sku":"ventilation-duct-cleaning-opening-plan","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6191\/2762\/files\/ventilation-duct-cleaning-opening-plan.webp?v=1782694692","url":"https:\/\/financialmodelslab.com\/products\/ventilation-duct-cleaning-opening-plan","provider":"Financial Models Lab","version":"1.0","type":"link"}