{"product_id":"exposed-aggregate-owner-makes","title":"How Much Can an Exposed Aggregate Concrete Owner Make at $16M?","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\u003eLeads matter only when crews can finish profitably.\u003c\/li\u003e\n\n\u003cli\u003eBetter pricing beats chasing more low-margin jobs.\u003c\/li\u003e\n\n\u003cli\u003eLabor, materials, and callbacks decide true cash margin.\u003c\/li\u003e\n\n\u003cli\u003eCash reserves must cover overhead and slow seasons.\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=\"Top owner income\"\u003e\u003cdiv class=\"metric-grid\"\u003e\n\u003carticle class=\"metric-card is-green\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"Year 1 to Year 5 EBITDA, before taxes and debt; model assumes the owner fills the $95k GM role and draws after reserves.\"\u003e\u003cimg class=\"metric-icon\" src=\"\/cdn\/shop\/files\/fml-owner-income-kpi-owner-income.svg\" alt=\"Owner income icon\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan\u003eOwner income\u003c\/span\u003e\u003cstrong class=\"metric-value\" tabindex=\"0\" data-tooltip=\"Year 1 to Year 5 EBITDA, before taxes and debt; model assumes the owner fills the $95k GM role and draws after reserves.\"\u003e$654k-$4.9M\u003c\/strong\u003e\u003c\/article\u003e\u003carticle class=\"metric-card\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"Year 1 to Year 5 EBITDA margin from revenue and EBITDA; model assumption, not a fixed industry average, and it excludes taxes and debt.\"\u003e\u003cimg class=\"metric-icon\" src=\"\/cdn\/shop\/files\/fml-owner-income-kpi-net-margin.svg\" alt=\"Net margin icon\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan\u003eNet margin\u003c\/span\u003e\u003cstrong class=\"metric-value\" tabindex=\"0\" data-tooltip=\"Year 1 to Year 5 EBITDA margin from revenue and EBITDA; model assumption, not a fixed industry average, and it excludes taxes and debt.\"\u003e41%-60%\u003c\/strong\u003e\u003c\/article\u003e\u003carticle class=\"metric-card\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"About $234k annual revenue supports a $95k GM role at Year 1 margin; model assumption, and better margins lower this need.\"\u003e\u003cimg class=\"metric-icon\" src=\"\/cdn\/shop\/files\/fml-owner-income-kpi-revenue-target.svg\" alt=\"Revenue for target pay icon\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan\u003eRevenue for target pay\u003c\/span\u003e\u003cstrong class=\"metric-value\" tabindex=\"0\" data-tooltip=\"About $234k annual revenue supports a $95k GM role at Year 1 margin; model assumption, and better margins lower this need.\"\u003e$234k\u003c\/strong\u003e\u003c\/article\u003e\u003carticle class=\"metric-card\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"Hard because startup capex is heavy, staffing ramps fast, and minimum cash falls to $771k in Month 2; model assumption.\"\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 startup capex is heavy, staffing ramps fast, and minimum cash falls to $771k in Month 2; model assumption.\"\u003eHard\u003c\/strong\u003e\u003c\/article\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eWant to test your owner pay?\n\u003c\/span\u003e\u003c\/h2\u003e\n\u003csection class=\"fml-owner-calculator\" aria-label=\"Owner Income Calculator\" data-locale=\"en-US\" data-currency=\"USD\" data-default-scenario=\"base\" data-export-filename=\"Owner Income Calculator.xlsx\" data-source-site-name=\"Financial Models Lab\" data-source-site-url=\"https:\/\/financialmodelslab.com\" data-source-page-title=\"Owner Income Calculator\" data-note-title=\"Planning note:\" data-note-text=\"Research-based planning estimate only. It is not guaranteed salary, tax advice, or owner distribution advice.\"\u003e\u003cdiv class=\"fml-owner-card\"\u003e\n\u003cheader class=\"fml-owner-header\"\u003e\u003cdiv class=\"fml-owner-heading\"\u003e\n\u003cp class=\"fml-owner-eyebrow\"\u003eOwner income calculator\u003c\/p\u003e\n\u003cp class=\"fml-owner-intro\"\u003eEstimate owner take-home and the target-pay gap from monthly revenue, gross margin, labor, overhead, marketing, reserves, and target pay.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-scenarios\" aria-label=\"Income scenario presets\"\u003e\n\u003cbutton class=\"fml-owner-scenario\" type=\"button\" data-scenario=\"low\"\u003eLow\u003c\/button\u003e\u003cbutton class=\"fml-owner-scenario is-active\" type=\"button\" data-scenario=\"base\"\u003eBase\u003c\/button\u003e\u003cbutton class=\"fml-owner-scenario\" type=\"button\" data-scenario=\"high\"\u003eHigh\u003c\/button\u003e\n\u003c\/div\u003e\u003c\/header\u003e\u003cdiv class=\"fml-owner-layout\"\u003e\n\u003cform class=\"fml-owner-inputs\"\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eMonthly revenue\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Average monthly sales before expenses. Use the operating month you want to test.\"\u003ei\u003cspan role=\"tooltip\"\u003eAverage monthly sales before expenses. Use the operating month you want to test.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-money\"\u003e\n\u003cspan\u003e$\u003c\/span\u003e\u003cinput data-owner-field=\"monthlyRevenue\" data-owner-kind=\"money\" data-owner-label=\"Monthly revenue\" data-owner-note=\"Average monthly sales before expenses. Use the operating month you want to test.\" data-low=\"133833\" data-base=\"284500\" data-high=\"679083\" name=\"monthlyRevenue\" type=\"text\" inputmode=\"numeric\" value=\"284,500\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eGross margin\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Percent of revenue left after direct materials, labor, subcontracting, and site costs.\"\u003ei\u003cspan role=\"tooltip\"\u003ePercent of revenue left after direct materials, labor, subcontracting, and site costs.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-percent\"\u003e\n\u003cinput data-owner-field=\"grossMargin\" data-owner-kind=\"percent\" data-owner-label=\"Gross margin\" data-owner-note=\"Percent of revenue left after direct materials, labor, subcontracting, and site costs.\" name=\"grossMargin\" type=\"range\" min=\"0\" max=\"100\" step=\"1\" data-low=\"71\" data-base=\"72\" data-high=\"76\" value=\"72\"\u003e\u003coutput\u003e72%\u003c\/output\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eLabor cost\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Monthly payroll, contractors, and crew coverage before owner pay.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly payroll, contractors, and crew coverage before owner pay.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-money\"\u003e\n\u003cspan\u003e$\u003c\/span\u003e\u003cinput data-owner-field=\"laborCost\" data-owner-kind=\"money\" data-owner-label=\"Labor cost\" data-owner-note=\"Monthly payroll, contractors, and crew coverage before owner pay.\" data-low=\"27333\" data-base=\"46333\" data-high=\"76250\" name=\"laborCost\" type=\"text\" inputmode=\"numeric\" value=\"46,333\"\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, insurance, software, admin, and recurring overhead.\"\u003ei\u003cspan role=\"tooltip\"\u003eRent, insurance, software, 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, insurance, software, admin, and recurring overhead.\" data-low=\"7700\" data-base=\"7700\" data-high=\"7700\" name=\"fixedOverhead\" type=\"text\" inputmode=\"numeric\" value=\"7,700\"\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 spend needed to support lead flow.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly marketing spend needed to support lead flow.\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 spend needed to support lead flow.\" data-low=\"1250\" data-base=\"1833\" data-high=\"3333\" name=\"marketing\" type=\"text\" inputmode=\"numeric\" value=\"1,833\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eDebt service\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Monthly loan or equipment payment. Use 0 if none.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly loan or equipment payment. Use 0 if none.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-money\"\u003e\n\u003cspan\u003e$\u003c\/span\u003e\u003cinput data-owner-field=\"debtService\" data-owner-kind=\"money\" data-owner-label=\"Debt service\" data-owner-note=\"Monthly loan or equipment payment. Use 0 if none.\" data-low=\"0\" data-base=\"0\" data-high=\"0\" name=\"debtService\" type=\"text\" inputmode=\"numeric\" value=\"\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eTax reserve\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Percent of profit set aside for taxes before owner pay.\"\u003ei\u003cspan role=\"tooltip\"\u003ePercent of profit set aside for taxes before owner pay.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-percent\"\u003e\n\u003cinput data-owner-field=\"taxReserve\" data-owner-kind=\"percent\" data-owner-label=\"Tax reserve\" data-owner-note=\"Percent of profit set aside for taxes before owner pay.\" name=\"taxReserve\" type=\"range\" min=\"0\" max=\"50\" step=\"1\" data-low=\"15\" data-base=\"16\" data-high=\"20\" value=\"16\"\u003e\u003coutput\u003e16%\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 kept for repairs, growth, and cash buffer.\"\u003ei\u003cspan role=\"tooltip\"\u003ePercent kept for repairs, growth, and cash buffer.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-percent\"\u003e\n\u003cinput data-owner-field=\"reinvestmentReserve\" data-owner-kind=\"percent\" data-owner-label=\"Reinvestment reserve\" data-owner-note=\"Percent kept for repairs, growth, and cash buffer.\" name=\"reinvestmentReserve\" type=\"range\" min=\"0\" max=\"40\" step=\"1\" data-low=\"5\" data-base=\"7\" data-high=\"10\" value=\"7\"\u003e\u003coutput\u003e7%\u003c\/output\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eTarget owner pay\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Monthly owner pay target used to calculate the gap.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly owner pay target used to calculate the gap.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-money\"\u003e\n\u003cspan\u003e$\u003c\/span\u003e\u003cinput data-owner-field=\"targetOwnerPay\" data-owner-kind=\"money\" data-owner-label=\"Target owner pay\" data-owner-note=\"Monthly owner pay target used to calculate the gap.\" data-low=\"12000\" data-base=\"20000\" data-high=\"35000\" name=\"targetOwnerPay\" type=\"text\" inputmode=\"numeric\" value=\"20,000\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/form\u003e\n\u003caside class=\"fml-owner-results\" aria-live=\"polite\"\u003e\u003cspan class=\"fml-owner-tag\"\u003eOwner income output\u003c\/span\u003e\u003cdiv class=\"fml-owner-metrics\"\u003e\n\u003cdiv class=\"fml-owner-metric is-primary\"\u003e\n\u003cspan class=\"fml-owner-metric-label\"\u003eOwner Income\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Monthly take-home after tax and reinvestment reserves.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly take-home after tax and reinvestment reserves.\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cstrong data-owner-output=\"monthlyOwnerIncome\"\u003e$115K\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\"\u003e40%\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$114K\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$94,710\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$1,376,520\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$148,974\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$34,264\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$94,710\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$284K\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: 72%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$205K\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: 20%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$55,866\u003c\/b\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-bar-row\" data-owner-bridge=\"reserveAmount\"\u003e\n\u003cspan\u003eReserves\u003c\/span\u003e\u003cdiv\u003e\u003ci style=\"--fml-owner-share: 12%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$34,264\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: 40%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$115K\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 check owner income in the financial model?\u003c\/span\u003e\u003c\/h3\u003e\n\n\u003cp\u003eThis dashboard shows \u003cstrong\u003erevenue, margin, costs, reserves, and owner take-home\u003c\/strong\u003e for \u003ca href=\"\/products\/exposed-aggregate-financial-model\"\u003eExposed Aggregate Concrete Service 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\u003eRevenue and EBITDA charts\u003c\/li\u003e\n\u003cli\u003eBillable hours and pricing\u003c\/li\u003e\n\u003cli\u003eCash flow and capex\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\/exposed-aggregate-financial-model-dashboard-financialmodelslab_ea7eb8ae-8f54-403f-894e-173240721ef8.webp\"\u003e\n\u003cimg class=\"preview-img\" width=\"100%\" height=\"auto\" src=\"\/cdn\/shop\/files\/exposed-aggregate-financial-model-dashboard-financialmodelslab_ea7eb8ae-8f54-403f-894e-173240721ef8.webp?width=500\" alt=\"Exposed Aggregate Concrete Service Financial Model dashboard summarizes key KPIs, runway\/cash position and performance with a dynamic dashboard, highlighting cash-flow blind spots and investor-ready charts.\"\u003e\n\u003cdiv class=\"preview-overlay\"\u003e\n\u003cbutton class=\"preview-btn\" type=\"button\" style=\"align-items: center; vertical-align: middle; display: inline-flex; justify-content: center; gap: 6px; line-height: 1;\"\u003e\nPREVIEW \u003csvg fill=\"#fff\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\" role=\"presentation\" viewbox=\"0 0 448 512\" width=\"14\"\u003e\u003cpath d=\"M416 176V86.63L246.6 256L416 425.4V336c0-8.844 7.156-16 16-16s16 7.156 16 16v128c0 8.844-7.156 16-16 16h-128c-8.844 0-16-7.156-16-16s7.156-16 16-16h89.38L224 278.6L54.63 448H144C152.8 448 160 455.2 160 464S152.8 480 144 480h-128C7.156 480 0 472.8 0 464v-128C0 327.2 7.156 320 16 320S32 327.2 32 336v89.38L201.4 256L32 86.63V176C32 184.8 24.84 192 16 192S0 184.8 0 176v-128C0 39.16 7.156 32 16 32h128C152.8 32 160 39.16 160 48S152.8 64 144 64H54.63L224 233.4L393.4 64H304C295.2 64 288 56.84 288 48S295.2 32 304 32h128C440.8 32 448 39.16 448 48v128C448 184.8 440.8 192 432 192S416 184.8 416 176z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eWhat is the profit margin on exposed aggregate concrete?\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\n\u003cp\u003eIf you’re sizing an \u003ca href=\"\/blogs\/startup-costs\/exposed-aggregate\"\u003eHow Much To Start Exposed Aggregate Concrete Service Business?\u003c\/a\u003e, use model margin, not a generic construction markup. In the Year 1 model, direct costs are \u003cstrong\u003e180%\u003c\/strong\u003e for specialty aggregate and ready mix, \u003cstrong\u003e45%\u003c\/strong\u003e for retardants and sealants, \u003cstrong\u003e40%\u003c\/strong\u003e for fuel and consumables, and \u003cstrong\u003e25%\u003c\/strong\u003e for disposal and waste; the stated gross margin is \u003cstrong\u003e710%\u003c\/strong\u003e and EBITDA margin is \u003cstrong\u003e407%\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cp\u003eThis estimate hides the real drag from failed exposure, bad washout timing, waste, callbacks, and resealing work.\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 drivers\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eSpecialty aggregate\u003c\/strong\u003e and \u003cstrong\u003eready mix\u003c\/strong\u003e set cost.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRetardants\u003c\/strong\u003e and \u003cstrong\u003esealants\u003c\/strong\u003e add finish cost.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFuel\u003c\/strong\u003e and consumables hit every job.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eDisposal\u003c\/strong\u003e and waste must stay tight.\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\u003eTake-home risks\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eFailed exposure\u003c\/strong\u003e drives rework.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBad washout timing\u003c\/strong\u003e creates waste.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCallbacks\u003c\/strong\u003e add labor fast.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eResealing\u003c\/strong\u003e cuts owner pay.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eHow much can I make owning an exposed aggregate concrete business?\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\n\u003cp\u003eYou can make \u003cstrong\u003e$95k as an operator salary\u003c\/strong\u003e if you fill the general manager seat, plus owner distributions only after reserves, debt, taxes, capex, and reinvestment. In the \u003ca href=\"\/blogs\/how-to-open\/exposed-aggregate\"\u003eHow To Launch Exposed Aggregate Concrete Service?\u003c\/a\u003e model, Year 1 shows \u003cstrong\u003e$1.606M revenue\u003c\/strong\u003e and \u003cstrong\u003e$654k EBITDA\u003c\/strong\u003e; Year 5 shows \u003cstrong\u003e$8.149M revenue\u003c\/strong\u003e and \u003cstrong\u003e$4.855M EBITDA\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cdiv class=\"container_2_clmn_row\"\u003e\n\u003cdiv class=\"card_smpl blue_card\"\u003e\n\u003cdiv class=\"card_smpl_header\"\u003e\n\u003cimg src=\"\/cdn\/shop\/files\/fml_20_fml-Orange-blog-colons-icon.svg\" alt=\"Icon\" class=\"icon_how_to_use\"\u003e\u003ch3\u003eProfit by scale\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eYear 1 EBITDA margin: \u003cstrong\u003e40.7%\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003eYear 5 EBITDA margin: \u003cstrong\u003e59.6%\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003eScale drives owner upside\u003c\/li\u003e\n\u003cli\u003eCrew density protects margin\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\u003eTake-home reality\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eSolo operator: higher labor risk\u003c\/li\u003e\n\u003cli\u003eSmall crew: steadier cash flow\u003c\/li\u003e\n\u003cli\u003eMulti-crew: bigger overhead burden\u003c\/li\u003e\n\u003cli\u003eDistributions come after reinvestment\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eHow many exposed aggregate jobs do I need to pay myself?\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\n\u003cp\u003eIf you want to pay yourself from an \u003cstrong\u003eExposed Aggregate Concrete Service\u003c\/strong\u003e, there is no fixed job count from this data alone; your target owner pay, close rate, season length, and crew capacity set the number. Year one tickets are about \u003cstrong\u003e$11,100\u003c\/strong\u003e for driveways, \u003cstrong\u003e$8,400\u003c\/strong\u003e for patios and pool decks, and \u003cstrong\u003e$960\u003c\/strong\u003e for resealing, while fixed overhead is \u003cstrong\u003e$77k\/month\u003c\/strong\u003e and marketing is \u003cstrong\u003e$15k\u003c\/strong\u003e at a \u003cstrong\u003e$450 CAC\u003c\/strong\u003e, so weather delays and backlog timing can move the job count a lot.\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\u003ePay math\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eAdd owner pay to \u003cstrong\u003e$77k\u003c\/strong\u003e overhead.\u003c\/li\u003e\n\u003cli\u003eUse gross profit per job, not ticket.\u003c\/li\u003e\n\u003cli\u003eDriveways average \u003cstrong\u003e$11,100\u003c\/strong\u003e.\u003c\/li\u003e\n\u003cli\u003ePatios and pool decks average \u003cstrong\u003e$8,400\u003c\/strong\u003e.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card_smpl blue_card\"\u003e\n\u003cdiv class=\"card_smpl_header\"\u003e\n\u003cimg src=\"\/cdn\/shop\/files\/fml_20_fml-Orange-blog-colons-icon.svg\" alt=\"Icon\" class=\"icon_how_to_use\"\u003e\u003ch3\u003eWhat moves the count\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003e$15k\u003c\/strong\u003e budget at \u003cstrong\u003e$450 CAC\u003c\/strong\u003e buys about 33 acquisitions.\u003c\/li\u003e\n\u003cli\u003eResealing adds smaller jobs at \u003cstrong\u003e$960\u003c\/strong\u003e direct cost load.\u003c\/li\u003e\n\u003cli\u003eHigher close rate cuts the lead count.\u003c\/li\u003e\n\u003cli\u003eWeather delays push pay timing back.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\n\n\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eWhat drives owner take-home most?\n\u003c\/span\u003e\u003c\/h2\u003e\n\u003csection class=\"fml-main-income-drivers\" aria-label=\"Accessible label for six income driver cards.\"\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\u003eLead flow\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e$1.6M\u003c\/strong\u003e\u003cp\u003eYear 1 revenue is $1.606M, so every extra booked job spreads the truck, yard, and crew costs.\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\u003ePricing\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e$120-$250\/hr\u003c\/strong\u003e\u003cp\u003eRates run from $120\/hr for resealing to $250\/hr for patios by Year 5, so better quoting lifts income fast.\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\u003eGross margin\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e71%\u003c\/strong\u003e\u003cp\u003eDirect costs on materials, chemicals, fuel, and waste stay near 29%, so each point saved drops straight to profit.\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\u003eCrew output\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e42-48 hrs\u003c\/strong\u003e\u003cp\u003eBillable hours per active customer rise from 42 to 48 a month, and tighter scheduling turns that into more revenue per crew.\u003c\/p\u003e\u003c\/article\u003e\u003carticle class=\"main-driver-card\"\u003e\u003cdiv class=\"main-driver-heading\"\u003e\n\u003cspan class=\"driver-rank\"\u003e5\u003c\/span\u003e\u003ch4\u003eFixed burn\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e$35K\/mo\u003c\/strong\u003e\u003cp\u003eShop rent, insurance, software, and core wages set a heavy floor, so lean staffing keeps cash from leaking when work slows.\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\u003eCapacity use\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003eMonth 4\u003c\/strong\u003e\u003cp\u003eThe model breaks even in Month 4, so early pipeline and tight crew use matter more than late-season volume.\u003c\/p\u003e\u003c\/article\u003e\n\u003c\/div\u003e\u003c\/article\u003e\u003c\/section\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eExposed Aggregate Concrete Service Core Six Income Drivers\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\u003cbr\u003e\n\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eProject Volume And Lead Flow\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"left-row1\"\u003e\n    \u003ch3\u003eProject Volume and Lead Flow\u003c\/h3\u003e\n    \u003cp\u003eMore exposed aggregate jobs only raise owner income when crews can finish them profitably. Here’s the quick math: Year 1 marketing is \u003cstrong\u003e$15k\u003c\/strong\u003e and CAC is \u003cstrong\u003e$450\u003c\/strong\u003e, so the budget supports about \u003cstrong\u003e33\u003c\/strong\u003e customer acquisitions; by Year 5, \u003cstrong\u003e$40k\u003c\/strong\u003e at \u003cstrong\u003e$350 CAC\u003c\/strong\u003e supports about \u003cstrong\u003e114\u003c\/strong\u003e. Leads alone are not income if weather, backlog, or crew capacity blocks the pour.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"right-row1\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eTrack booked work, not just leads\u003c\/h3\u003e\n      \u003cp\u003eMeasure \u003cstrong\u003eleads, close rate, booked jobs, weather delays, backlog, and crew capacity\u003c\/strong\u003e every week. In the model, driveway share moves from \u003cstrong\u003e450%\u003c\/strong\u003e to \u003cstrong\u003e350%\u003c\/strong\u003e, while patio and pool deck rises from \u003cstrong\u003e350%\u003c\/strong\u003e to \u003cstrong\u003e450%\u003c\/strong\u003e, so mix affects how fast crews burn through days. If lead flow outruns production, cash gets tied up in marketing and overhead, not owner pay.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eTrack leads by project type.\u003c\/li\u003e\n        \u003cli\u003eWatch close rate by source.\u003c\/li\u003e\n        \u003cli\u003eCap bookings to crew capacity.\u003c\/li\u003e\n        \u003cli\u003eReforecast after weather delays.\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 Size And Pricing Quality\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n\u003cdiv class=\"right-row2\"\u003e\n\u003ch3\u003ePricing Quality\u003c\/h3\u003e\n\u003cp\u003eWhen the scope is tight, owner income rises faster than job count. In Year 1, a driveway at \u003cstrong\u003e60 hours × $185\u003c\/strong\u003e is \u003cstrong\u003e$11,100\u003c\/strong\u003e, a patio or pool deck at \u003cstrong\u003e40 hours × $210\u003c\/strong\u003e is \u003cstrong\u003e$8,400\u003c\/strong\u003e, and resealing at \u003cstrong\u003e8 hours × $120\u003c\/strong\u003e is \u003cstrong\u003e$960\u003c\/strong\u003e. Price has to reflect square footage, prep, access, borders, premium aggregate, sealing, and finish complexity.\u003c\/p\u003e\n\u003cp\u003eUnderpriced decorative work funds the customer’s upgrade with your margin. If the quote misses cleanup, hard access, or detailing, the same crew time brings in less take-home pay, and cash gets tight fast. Better pricing quality protects gross margin and leaves more room for owner draw after labor and overhead.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"left-row2\"\u003e\n\u003cdiv class=\"tips-box\"\u003e\n\u003ch3\u003ePrice the Details\u003c\/h3\u003e\n\u003cp\u003eBuild every estimate from the inputs that change labor and materials: square footage, prep, access, borders, aggregate choice, sealing, and finish complexity. Track quoted hours versus actual hours by job type, and compare driveway, patio, and reseal tickets so you can see where margin slips.\u003c\/p\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\u003cstrong\u003eQuote scope before price.\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eSeparate add-ons from base work.\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eReview overruns by job type.\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eRaise rates on hard access.\u003c\/strong\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eHere’s the quick math: if a “simple” job needs extra prep or detailing, that extra time comes straight out of profit unless the ticket was built for it. What this estimate hides is rework and callbacks, which can erase a strong-looking price fast.\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;\"\u003eGross Margin On Job Costs\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n\u003cdiv class=\"left-row3\"\u003e\n\u003ch3\u003eGross Margin on Job Costs\u003c\/h3\u003e\n\u003cp\u003eGross margin here is the cash left after \u003cstrong\u003edirect job costs\u003c\/strong\u003e like ready mix, specialty aggregate, retardants, sealants, fuel, equipment consumables, disposal, and waste fees. With a \u003cstrong\u003e290%\u003c\/strong\u003e direct cost load in Year 1, the math is upside down: every $1.00 of revenue carries $2.90 of job cost, so gross margin is \u003cstrong\u003e-190%\u003c\/strong\u003e before overhead. By Year 5, \u003cstrong\u003e242%\u003c\/strong\u003e is still \u003cstrong\u003e-142%\u003c\/strong\u003e. That leaves very little room to pay the owner.\u003c\/p\u003e\n\u003cp\u003eFinish quality drives the cash result. Failed exposure, uneven finish, late washout, and callbacks can turn a strong ticket into weak cash fast. Here’s the quick math: if estimating misses waste or rework, the job can look profitable on paper and still burn cash on site. \u003cstrong\u003eDirect job costs are separate from overhead\u003c\/strong\u003e, so this driver must improve before owner draws feel safe.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"right-row3\"\u003e\n\u003cdiv class=\"tips-box\"\u003e\n\u003ch3\u003eTrack Every Pour Cost\u003c\/h3\u003e\n\u003cp\u003eBuild each bid from the actual job inputs, then compare estimate to job cost line by line. Track \u003cstrong\u003ematerial waste\u003c\/strong\u003e, labor hours, disposal, washout timing, and callback cost on every project. If one pour day overruns on fuel, consumables, or rework, gross margin falls even when the ticket looks strong. The goal is simple: protect the margin before it gets eaten by cleanup and fixes.\u003c\/p\u003e\n\u003cp\u003eUse a job-cost sheet with \u003cstrong\u003eready mix\u003c\/strong\u003e, aggregate, additives, sealant, and waste fees as separate lines. Review variance after each project and flag any pour with exposure failure or uneven finish. One clean rule: if the estimate cannot cover the real labor and material load, raise price or narrow the scope before you start.\u003c\/p\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eTrack estimate vs. actual by line item.\u003c\/li\u003e\n\u003cli\u003ePrice for waste, not just square feet.\u003c\/li\u003e\n\u003cli\u003eLog callbacks as job cost.\u003c\/li\u003e\n\u003cli\u003eStop work if finish quality slips.\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;\"\u003eCrew Productivity And Scheduling\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n\u003cdiv class=\"right-row4\"\u003e\n\u003ch3\u003eCrew Flow\u003c\/h3\u003e\n\u003cp\u003eFor an exposed aggregate crew, owner pay rises when more of each day becomes billed work instead of idle time, overtime, or rework. \u003cstrong\u003eBillable hours per active customer\u003c\/strong\u003e move from \u003cstrong\u003e420\u003c\/strong\u003e a month in Year 1 to \u003cstrong\u003e480\u003c\/strong\u003e in Year 5, a gain of \u003cstrong\u003e60 hours\u003c\/strong\u003e or \u003cstrong\u003e14.3%\u003c\/strong\u003e. That is pure capacity, so it feeds revenue and margin without needing a price increase.\u003c\/p\u003e\n\u003cp\u003eThis driver depends on sequencing \u003cstrong\u003eprep, forms, pour, exposure, washout, cleanup, and sealing\u003c\/strong\u003e in order. Driveway hours fall from \u003cstrong\u003e60\u003c\/strong\u003e to \u003cstrong\u003e55\u003c\/strong\u003e, patio hours from \u003cstrong\u003e40\u003c\/strong\u003e to \u003cstrong\u003e35\u003c\/strong\u003e, and resealing from \u003cstrong\u003e8\u003c\/strong\u003e to \u003cstrong\u003e6\u003c\/strong\u003e. Weather and access issues can break the schedule, so lost days quickly turn into lower cash flow and less owner draw.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"left-row4\"\u003e\n\u003cdiv class=\"tips-box\"\u003e\n\u003ch3\u003eLock The Job Sequence\u003c\/h3\u003e\n\u003cp\u003eTrack \u003cstrong\u003ebillable hours\u003c\/strong\u003e, idle hours, overtime, and rework by job type. If a driveway, patio, or reseal is running over its target hours, the labor plan is off and margin will leak. One clean rule helps: if the crew is not on a paid task, find out why before the day ends.\u003c\/p\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eMeasure hours per active customer monthly.\u003c\/li\u003e\n\u003cli\u003eSeparate driveway, patio, reseal time.\u003c\/li\u003e\n\u003cli\u003eLog weather and access delays.\u003c\/li\u003e\n\u003cli\u003eSchedule washout before cleanup.\u003c\/li\u003e\n\u003cli\u003eFlag rework before the next pour.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eUse those numbers to forecast crew load and owner pay. If the same crew can produce \u003cstrong\u003e480\u003c\/strong\u003e billable hours instead of \u003cstrong\u003e420\u003c\/strong\u003e, the business has more room to cover labor and still leave profit for the owner. The key is simple: protect the calendar, or the schedule will steal the margin.\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;\"\u003eOverhead, Equipment, And Fixed Costs\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"left-row5\"\u003e\n    \u003ch3\u003eFixed Costs Before Owner Pay\u003c\/h3\u003e\n    \u003cp\u003e\u003cstrong\u003eMonthly overhead is $77k\u003c\/strong\u003e, so owner draws are not safe until gross profit clears that base every month. The listed fixed costs include \u003cstrong\u003e$32k yard rent\u003c\/strong\u003e, \u003cstrong\u003e$11k liability insurance\u003c\/strong\u003e, \u003cstrong\u003e$15k fleet insurance and maintenance\u003c\/strong\u003e, plus software, office overhead, and website and photography costs. If job volume slips, the owner’s pay gets pushed down first.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"right-row5\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eTrack Cash Reserves, Not Just Sales\u003c\/h3\u003e\n      \u003cp\u003eUse one simple rule: \u003cstrong\u003ecover fixed overhead, fund repair reserves, then pay the owner\u003c\/strong\u003e. The startup equipment load is \u003cstrong\u003e$165k\u003c\/strong\u003e, including a \u003cstrong\u003e$65k truck\u003c\/strong\u003e and \u003cstrong\u003e$45k skid steer\u003c\/strong\u003e, so bank cash is not all free cash. Here’s the quick math: if overhead is \u003cstrong\u003e$77k\/month\u003c\/strong\u003e, the shop needs that level of recurring gross profit before any draw feels safe.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eTrack monthly overhead coverage.\u003c\/li\u003e\n        \u003cli\u003eSeparate reserve cash from pay.\u003c\/li\u003e\n        \u003cli\u003eWatch equipment replacement timing.\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;\"\u003eSeasonality And Capacity Use\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n\u003cdiv class=\"right-row6\"\u003e\n\u003ch3\u003eSeasonal Capacity Use\u003c\/h3\u003e\n\u003cp\u003eSeasonality decides whether peak work covers the slow stretch. For exposed aggregate concrete, \u003cstrong\u003erainy weeks\u003c\/strong\u003e, \u003cstrong\u003ewinter slowdown\u003c\/strong\u003e, and \u003cstrong\u003edelayed sealing\u003c\/strong\u003e can push sales out of one month while payroll stays put, so owner pay must be based on conservative cash flow, n\not the best month. In this model, \u003cstrong\u003ebreakeven lands in Month 4\u003c\/strong\u003e, but the \u003cstrong\u003eminimum cash need is $771k in Month 2\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cp\u003eThe inputs that matter are \u003cstrong\u003emarket climate\u003c\/strong\u003e, \u003cstrong\u003ecrew availability\u003c\/strong\u003e, and \u003cstrong\u003ebacklog quality\u003c\/strong\u003e. If the backlog is thin or weather blocks pours and finishing, capacity use drops fast, and take-home income falls even when quoted demand looks strong. One clean rule: full crews do not equal full cash.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"left-row6\"\u003e\n\u003cdiv class=\"tips-box\"\u003e\n\u003ch3\u003eProtect Owner Draws From Slow Months\u003c\/h3\u003e\n\u003cp\u003eTrack booked jobs by start date, not just signed revenue. Split the pipeline into pour-ready work, seal-ready work, and weather-risk work, then compare that to crew hours and payroll due. The goal is simple: keep enough work inside the next 30 to 60 days to cover fixed outflows before you move money to owner draws.\u003c\/p\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eWatch weather\u003c\/strong\u003e before committing draws.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMap backlog\u003c\/strong\u003e to crew hours weekly.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eDelay draws\u003c\/strong\u003e until cash clears payroll.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePrice winter risk\u003c\/strong\u003e into schedule promises.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eHere’s the quick test: if a rain shift delays sealing or pour dates, cash slips but wages do not. That gap is what breaks owner pay. Build the draw plan from the \u003cstrong\u003e$771k\u003c\/strong\u003e Month 2 cash floor, then release profit only after the schedule is stable.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"timeline\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"step-circle step6\"\u003e6\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eCompare low, base, and high owner income scenarios\n\u003c\/span\u003e\u003c\/h2\u003e\n\u003csection class=\"fml-scenario-table\" aria-label=\"Exposed Aggregate Concrete Service Owner Income Scenarios\" data-site-name=\"Financial Models Lab\" data-site-url=\"https:\/\/financialmodelslab.com\" data-source-title=\"Exposed Aggregate Concrete Service Owner Income Scenarios\" data-note-label=\"Planning note\" data-note-text=\"These scenario ranges are researched planning assumptions, not guaranteed earnings, salary promises, tax advice, or distributions. Figures are before taxes and should be reserve-adjusted.\"\u003e\u003cdiv class=\"fml-scenario-table-card\"\u003e\n\u003cheader class=\"fml-scenario-table-header\"\u003e\u003cdiv\u003e\n\u003cp class=\"fml-scenario-table-eyebrow\"\u003eOwner income scenarios\u003c\/p\u003e\n\u003cp class=\"fml-scenario-table-description\"\u003eOwner income shifts with project mix, crew size, and pricing. The gap from launch year to mature year is wide because payroll and billable capacity scale fast.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-scenario-table-actions\"\u003e\u003cbutton class=\"fml-scenario-table-export\" type=\"button\" data-scenario-export\u003eEXPORT XLSX\u003c\/button\u003e\u003c\/div\u003e\u003c\/header\u003e\u003cdiv class=\"fml-scenario-table-wrap\"\u003e\u003ctable class=\"fml-scenario-table-grid\"\u003e\n\u003ccaption\u003eLow, base, and high owner-income cases at different operating levels.\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\"\u003eNon-guaranteed\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\"\u003eReserve-adjusted\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\"\u003eBefore taxes\u003c\/span\u003e\n\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr data-scenario-row\u003e\n\u003cth class=\"fml-scenario-row-heading\" scope=\"row\" data-export-value=\"Launch model\"\u003e\u003cspan class=\"fml-scenario-row-heading-inner\"\u003e\u003cspan class=\"fml-scenario-row-icon is-launch\" aria-hidden=\"true\"\u003e\u003cimg class=\"fml-scenario-row-icon-img\" src=\"\/cdn\/shop\/files\/scenario-launch-model.svg\" alt=\"Launch model icon\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan\u003e\u003cspan class=\"fml-scenario-row-title\"\u003eLaunch model\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/th\u003e\n\u003ctd data-export-value=\"This is the lower-earnings path with the owner still covering core management work.\"\u003eThis is the lower-earnings path with the owner still covering core management work.\u003c\/td\u003e\n\u003ctd data-export-value=\"This is the modeled middle path with steady growth and a fuller crew.\"\u003eThis is the modeled middle path with steady growth and a fuller crew.\u003c\/td\u003e\n\u003ctd data-export-value=\"This is the stronger-earnings path with the business running at mature scale.\"\u003eThis is the stronger-earnings path with the business running at mature scale.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-scenario-row\u003e\n\u003cth class=\"fml-scenario-row-heading\" scope=\"row\" data-export-value=\"Typical setup\"\u003e\u003cspan class=\"fml-scenario-row-heading-inner\"\u003e\u003cspan class=\"fml-scenario-row-icon is-setup\" aria-hidden=\"true\"\u003e\u003cimg class=\"fml-scenario-row-icon-img\" src=\"\/cdn\/shop\/files\/scenario-typical-setup.svg\" alt=\"Typical setup icon\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan\u003e\u003cspan class=\"fml-scenario-row-title\"\u003eTypical setup\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/th\u003e\n\u003ctd data-export-value=\"Year 1 lands at $1.606M revenue and $654k EBITDA, with about $328k payroll, $15k marketing, and the owner possibly filling the $95k GM role.\"\u003eYear 1 lands at $1.606M revenue and $654k EBITDA, with about $328k payroll, $15k marketing, and the owner possibly filling the $95k GM role.\u003c\/td\u003e\n\u003ctd data-export-value=\"Year 3 reaches $4.962M revenue and $2.74M EBITDA, with about $636.5k payroll and stronger installed capacity.\"\u003eYear 3 reaches $4.962M revenue and $2.74M EBITDA, with about $636.5k payroll and stronger installed capacity.\u003c\/td\u003e\n\u003ctd data-export-value=\"Year 5 reaches $8.149M revenue and $4.855M EBITDA, with about $915k payroll and the highest billable load.\"\u003eYear 5 reaches $8.149M revenue and $4.855M EBITDA, with about $915k payroll and the highest billable load.\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=\"Owner covers GM role; $1.606M revenue; $328k payroll; $15k marketing; capex pressure\"\u003e\u003cul class=\"fml-scenario-list\"\u003e\n\u003cli\u003eOwner covers GM role\u003c\/li\u003e\n\u003cli\u003e$1.606M revenue\u003c\/li\u003e\n\u003cli\u003e$328k payroll\u003c\/li\u003e\n\u003cli\u003e$15k marketing\u003c\/li\u003e\n\u003cli\u003ecapex pressure\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/td\u003e\n\u003ctd data-export-value=\"Year 3 run rate; $4.962M revenue; $2.74M EBITDA; $636.5k payroll; fuller crew\"\u003e\u003cul class=\"fml-scenario-list\"\u003e\n\u003cli\u003eYear 3 run rate\u003c\/li\u003e\n\u003cli\u003e$4.962M revenue\u003c\/li\u003e\n\u003cli\u003e$2.74M EBITDA\u003c\/li\u003e\n\u003cli\u003e$636.5k payroll\u003c\/li\u003e\n\u003cli\u003efuller crew\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/td\u003e\n\u003ctd data-export-value=\"Year 5 scale; $8.149M revenue; $4.855M EBITDA; $915k payroll; higher billable hours\"\u003e\u003cul class=\"fml-scenario-list\"\u003e\n\u003cli\u003eYear 5 scale\u003c\/li\u003e\n\u003cli\u003e$8.149M revenue\u003c\/li\u003e\n\u003cli\u003e$4.855M EBITDA\u003c\/li\u003e\n\u003cli\u003e$915k payroll\u003c\/li\u003e\n\u003cli\u003ehigher billable hours\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=\"$654k EBITDA\"\u003e\n\u003cstrong class=\"fml-scenario-range\"\u003e$654k EBITDA\u003c\/strong\u003e\u003cspan class=\"fml-scenario-badge is-soft\"\u003eBefore taxes\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd data-export-value=\"$2.74M EBITDA\"\u003e\n\u003cstrong class=\"fml-scenario-range\"\u003e$2.74M EBITDA\u003c\/strong\u003e\u003cspan class=\"fml-scenario-badge is-soft\"\u003eModeled case\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd data-export-value=\"$4.855M EBITDA\"\u003e\n\u003cstrong class=\"fml-scenario-range\"\u003e$4.855M EBITDA\u003c\/strong\u003e\u003cspan class=\"fml-scenario-badge is-warning\"\u003eUpside case\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-scenario-row\u003e\n\u003cth class=\"fml-scenario-row-heading\" scope=\"row\" data-export-value=\"Best fit\"\u003e\u003cspan class=\"fml-scenario-row-heading-inner\"\u003e\u003cspan class=\"fml-scenario-row-icon is-fit\" aria-hidden=\"true\"\u003e\u003cimg class=\"fml-scenario-row-icon-img\" src=\"\/cdn\/shop\/files\/scenario-best-fit.svg\" alt=\"Best fit icon\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan\u003e\u003cspan class=\"fml-scenario-row-title\"\u003eBest fit\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/th\u003e\n\u003ctd data-export-value=\"Use this to stress test a lean launch where cash, hiring, and owner pay stay tight.\"\u003eUse this to stress test a lean launch where cash, hiring, and owner pay stay tight.\u003c\/td\u003e\n\u003ctd data-export-value=\"Use this as the planning case for normal growth, hiring, and pricing execution.\"\u003eUse this as the planning case for normal growth, hiring, and pricing execution.\u003c\/td\u003e\n\u003ctd data-export-value=\"Use this to test upside if demand stays strong and the crew keeps up with volume.\"\u003eUse this to test upside if demand stays strong and the crew keeps up with volume.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\u003c\/div\u003e\n\u003cdiv class=\"fml-scenario-table-note\"\u003e\n\u003cspan class=\"fml-scenario-table-note-icon\" aria-hidden=\"true\"\u003e!\u003c\/span\u003e\u003cp\u003e\u003cstrong\u003ePlanning note:\u003c\/strong\u003e These scenario ranges are researched planning assumptions, not guaranteed earnings, salary promises, tax advice, or distributions. Figures are before taxes and should be reserve-adjusted.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e","brand":"FinancialModelsLab","offers":[{"title":"Default Title","offer_id":49303763714291,"sku":"exposed-aggregate-owner-makes","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6191\/2762\/files\/exposed-aggregate-owner-makes.webp?v=1782682299","url":"https:\/\/financialmodelslab.com\/products\/exposed-aggregate-owner-makes","provider":"Financial Models Lab","version":"1.0","type":"link"}