{"product_id":"fireworks-owner-makes","title":"How Much Do Fireworks Store Owners Make? $10M Year 1 Model","description":"\u003cbr\u003e\u003cdiv class=\"container_new_design\"\u003e\n\u003cdiv class=\"text-section text-1_new_design\"\u003e\n\u003cdiv class=\"line_top\"\u003e\u003c\/div\u003e\n\u003cp\u003eYou’re planning around a seasonal store, so sales can look strong while cash still gets tied up in stock, staff, permits, and reserves In the provided five-year model, fireworks store revenue ranges from \u003cstrong\u003e$150M in Year 1\u003c\/strong\u003e to \u003cstrong\u003e$2289M in Year 5\u003c\/strong\u003e, with pre-tax operating profit before owner reserves from about \u003cstrong\u003e$103M to $1939M\u003c\/strong\u003e These are planning assumptions, not tax, financing, legal, or guaranteed distribution advice\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\u003cdiv class=\"image-section image-1_new_design\" id=\"main_article_image\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003csection class=\"fml-owner-metric-cards\" aria-label=\"Fireworks Store KPI Cards\"\u003e\u003cdiv class=\"metric-grid\"\u003e\n\u003carticle class=\"metric-card is-green\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"Year 1 to Year 5 EBITDA from the model; it excludes owner draws, reserves, and startup capex, so take-home can be lower.\"\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 from the model; it excludes owner draws, reserves, and startup capex, so take-home can be lower.\"\u003e$22k to $2.63M\u003c\/strong\u003e\u003c\/article\u003e\u003carticle class=\"metric-card\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"EBITDA margin from Year 1 to Year 5, using model revenue and EBITDA; seasonality and reserves can make cash margin lower.\"\u003e\u003cimg class=\"metric-icon\" src=\"\/cdn\/shop\/files\/fml-owner-income-kpi-net-margin.svg\" alt=\"Net margin icon\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan\u003eNet margin\u003c\/span\u003e\u003cstrong class=\"metric-value\" tabindex=\"0\" data-tooltip=\"EBITDA margin from Year 1 to Year 5, using model revenue and EBITDA; seasonality and reserves can make cash margin lower.\"\u003e8% to 78%\u003c\/strong\u003e\u003c\/article\u003e\u003carticle class=\"metric-card\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"Year 1 break-even revenue using fixed costs, payroll, and an 82% contribution margin; reserves and startup capex can lift cash needs.\"\u003e\u003cimg class=\"metric-icon\" src=\"\/cdn\/shop\/files\/fml-owner-income-kpi-revenue-target.svg\" alt=\"Revenue for target pay icon\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan\u003eRevenue for target pay\u003c\/span\u003e\u003cstrong class=\"metric-value\" tabindex=\"0\" data-tooltip=\"Year 1 break-even revenue using fixed costs, payroll, and an 82% contribution margin; reserves and startup capex can lift cash needs.\"\u003e$247k\u003c\/strong\u003e\u003c\/article\u003e\u003carticle class=\"metric-card\"\u003e\u003cspan class=\"metric-icon-tip\" tabindex=\"0\" data-tooltip=\"Hard because fireworks sell by season, need strong sell-through, tight compliance, higher insurance, extra staffing, and cash held back for inventory.\"\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 fireworks sell by season, need strong sell-through, tight compliance, higher insurance, extra staffing, and cash held back for inventory.\"\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 fireworks store owner pay?\n\u003c\/span\u003e\u003c\/h2\u003e\n\u003csection class=\"fml-owner-calculator\" aria-label=\"Fireworks Store Owner Income Calculator\" data-locale=\"en-US\" data-currency=\"USD\" data-default-scenario=\"base\" data-export-filename=\"Fireworks Store Owner Income Calculator.xlsx\" data-source-site-name=\"Financial Models Lab\" data-source-site-url=\"https:\/\/financialmodelslab.com\" data-source-page-title=\"Fireworks Store Owner Income Calculator\" data-note-title=\"Planning note:\" data-note-text=\"Research-based planning estimate only, not guaranteed salary, tax advice, or owner distribution advice.\"\u003e\u003cdiv class=\"fml-owner-card\"\u003e\n\u003cheader class=\"fml-owner-header\"\u003e\u003cdiv class=\"fml-owner-heading\"\u003e\n\u003cp class=\"fml-owner-eyebrow\"\u003eOwner income calculator\u003c\/p\u003e\n\u003cp class=\"fml-owner-intro\"\u003eEstimate owner take-home and the target-pay gap from revenue, gross margin, labor, overhead, reserves, and target pay.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-scenarios\" aria-label=\"Income scenario presets\"\u003e\n\u003cbutton class=\"fml-owner-scenario\" type=\"button\" data-scenario=\"low\"\u003eLow\u003c\/button\u003e\u003cbutton class=\"fml-owner-scenario is-active\" type=\"button\" data-scenario=\"base\"\u003eBase\u003c\/button\u003e\u003cbutton class=\"fml-owner-scenario\" type=\"button\" data-scenario=\"high\"\u003eHigh\u003c\/button\u003e\n\u003c\/div\u003e\u003c\/header\u003e\u003cdiv class=\"fml-owner-layout\"\u003e\n\u003cform class=\"fml-owner-inputs\"\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eMonthly revenue\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Monthly sales collected before expenses. Use the average operating month, not a one-time peak month.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly sales collected before expenses. Use the average operating month, not a one-time peak month.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-money\"\u003e\n\u003cspan\u003e$\u003c\/span\u003e\u003cinput data-owner-field=\"monthlyRevenue\" data-owner-kind=\"money\" data-owner-label=\"Monthly revenue\" data-owner-note=\"Monthly sales collected before expenses. Use the average operating month, not a one-time peak month.\" data-low=\"70000\" data-base=\"95000\" data-high=\"130000\" name=\"monthlyRevenue\" type=\"text\" inputmode=\"numeric\" value=\"95,000\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eGross margin\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Percent of revenue left after direct inventory, freight, and import costs.\"\u003ei\u003cspan role=\"tooltip\"\u003ePercent of revenue left after direct inventory, freight, and import 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 inventory, freight, and import costs.\" name=\"grossMargin\" type=\"range\" min=\"0\" max=\"100\" step=\"1\" data-low=\"84\" data-base=\"88\" data-high=\"90\" value=\"88\"\u003e\u003coutput\u003e88%\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, benefits, and staffing coverage before owner pay.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly payroll, contractors, benefits, and staffing coverage before owner pay.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-money\"\u003e\n\u003cspan\u003e$\u003c\/span\u003e\u003cinput data-owner-field=\"laborCost\" data-owner-kind=\"money\" data-owner-label=\"Labor cost\" data-owner-note=\"Monthly payroll, contractors, benefits, and staffing coverage before owner pay.\" data-low=\"10000\" data-base=\"11500\" data-high=\"15000\" name=\"laborCost\" type=\"text\" inputmode=\"numeric\" value=\"11,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\u003eFixed overhead\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Rent, utilities, insurance, permits, security, admin, and recurring overhead.\"\u003ei\u003cspan role=\"tooltip\"\u003eRent, utilities, insurance, permits, security, admin, and recurring overhead.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-money\"\u003e\n\u003cspan\u003e$\u003c\/span\u003e\u003cinput data-owner-field=\"fixedOverhead\" data-owner-kind=\"money\" data-owner-label=\"Fixed overhead\" data-owner-note=\"Rent, utilities, insurance, permits, security, admin, and recurring overhead.\" data-low=\"5400\" data-base=\"5400\" data-high=\"5600\" name=\"fixedOverhead\" type=\"text\" inputmode=\"numeric\" value=\"5,400\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eMarketing\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Monthly marketing and customer acquisition spend needed to sustain demand.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly marketing and customer acquisition spend needed to sustain demand.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-money\"\u003e\n\u003cspan\u003e$\u003c\/span\u003e\u003cinput data-owner-field=\"marketing\" data-owner-kind=\"money\" data-owner-label=\"Marketing\" data-owner-note=\"Monthly marketing and customer acquisition spend needed to sustain demand.\" data-low=\"3000\" data-base=\"3800\" data-high=\"5000\" name=\"marketing\" type=\"text\" inputmode=\"numeric\" value=\"3,800\"\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, financing, or required debt-service payments.\"\u003ei\u003cspan role=\"tooltip\"\u003eMonthly loan, financing, or required debt-service payments.\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, financing, or required debt-service payments.\" data-low=\"0\" data-base=\"0\" data-high=\"0\" name=\"debtService\" type=\"text\" inputmode=\"numeric\" value=\"\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eTax reserve\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Percent of profit reserved for taxes before calculating owner take-home.\"\u003ei\u003cspan role=\"tooltip\"\u003ePercent of profit reserved for taxes before calculating owner take-home.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-percent\"\u003e\n\u003cinput data-owner-field=\"taxReserve\" data-owner-kind=\"percent\" data-owner-label=\"Tax reserve\" data-owner-note=\"Percent of profit reserved for taxes before calculating owner take-home.\" name=\"taxReserve\" type=\"range\" min=\"0\" max=\"45\" step=\"1\" data-low=\"18\" data-base=\"20\" data-high=\"22\" value=\"20\"\u003e\u003coutput\u003e20%\u003c\/output\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eReinvestment reserve\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Percent of profit retained for repairs, growth, working capital, and risk buffer.\"\u003ei\u003cspan role=\"tooltip\"\u003ePercent of profit retained for repairs, growth, working capital, and risk buffer.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-percent\"\u003e\n\u003cinput data-owner-field=\"reinvestmentReserve\" data-owner-kind=\"percent\" data-owner-label=\"Reinvestment reserve\" data-owner-note=\"Percent of profit retained for repairs, growth, working capital, and risk buffer.\" name=\"reinvestmentReserve\" type=\"range\" min=\"0\" max=\"35\" step=\"1\" data-low=\"8\" data-base=\"10\" data-high=\"12\" value=\"10\"\u003e\u003coutput\u003e10%\u003c\/output\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-row\"\u003e\n\u003clabel class=\"fml-owner-label\"\u003e\u003cspan\u003eTarget owner pay\u003c\/span\u003e\u003cspan class=\"fml-owner-tooltip\" tabindex=\"0\" aria-label=\"Target monthly owner income used to calculate required revenue and target-pay gap.\"\u003ei\u003cspan role=\"tooltip\"\u003eTarget monthly owner income used to calculate required revenue and target-pay gap.\u003c\/span\u003e\u003c\/span\u003e\u003c\/label\u003e\u003cdiv class=\"fml-owner-money\"\u003e\n\u003cspan\u003e$\u003c\/span\u003e\u003cinput data-owner-field=\"targetOwnerPay\" data-owner-kind=\"money\" data-owner-label=\"Target owner pay\" data-owner-note=\"Target monthly owner income used to calculate required revenue and target-pay gap.\" data-low=\"8000\" data-base=\"12000\" data-high=\"18000\" name=\"targetOwnerPay\" type=\"text\" inputmode=\"numeric\" value=\"12,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$44,030\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\"\u003e46%\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$43,003\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$32,030\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$528,360\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$62,900\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$18,870\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$32,030\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$95,000\u003c\/b\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-owner-bar-row\" data-owner-bridge=\"grossProfit\"\u003e\n\u003cspan\u003eGross profit\u003c\/span\u003e\u003cdiv\u003e\u003ci style=\"--fml-owner-share: 88%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$83,600\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: 22%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$20,700\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: 20%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$18,870\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: 46%;\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n\u003cb data-owner-bridge-value\u003e$44,030\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, 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 the full Fireworks Store forecast view?\u003c\/span\u003e\u003c\/h3\u003e\n\n\u003cp\u003eThe dashboard tracks \u003cstrong\u003eseasonality\u003c\/strong\u003e, assumptions, costs, cash flow, and owner take-home; open the \u003ca href=\"\/products\/fireworks-financial-model\"\u003eFireworks Store Financial Model Template\u003c\/a\u003e.\u003c\/p\u003e\n\n\u003ch4\u003eOwner-income model highlights\u003c\/h4\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003eYear 1 revenue:\u003c\/strong\u003e $150M\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eYear 5 revenue:\u003c\/strong\u003e $2,289M\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eGross margin:\u003c\/strong\u003e 88.0% to 90.5%\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePayroll:\u003c\/strong\u003e $1,375k to $225k\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFixed costs:\u003c\/strong\u003e $648k yearly\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\/fireworks-financial-model-dashboard-financialmodelslab_342f2434-ff09-476f-aa37-c92d4b725e67.webp\"\u003e\n\u003cimg class=\"preview-img\" width=\"100%\" height=\"auto\" src=\"\/cdn\/shop\/files\/fireworks-financial-model-dashboard-financialmodelslab_342f2434-ff09-476f-aa37-c92d4b725e67.webp?width=500\" alt=\"Fireworks Store Financial Model dashboard summarizing key KPIs, runway and cash position with dynamic charts and performance metrics, ideal for fixing cash-flow blind spots and investor-ready reporting\"\u003e\n\u003cdiv class=\"preview-overlay\"\u003e\n\u003cbutton class=\"preview-btn\" type=\"button\" style=\"align-items: center; vertical-align: middle; display: inline-flex; justify-content: center; gap: 6px; line-height: 1;\"\u003e\nPREVIEW \u003csvg fill=\"#fff\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\" role=\"presentation\" viewbox=\"0 0 448 512\" width=\"14\"\u003e\u003cpath d=\"M416 176V86.63L246.6 256L416 425.4V336c0-8.844 7.156-16 16-16s16 7.156 16 16v128c0 8.844-7.156 16-16 16h-128c-8.844 0-16-7.156-16-16s7.156-16 16-16h89.38L224 278.6L54.63 448H144C152.8 448 160 455.2 160 464S152.8 480 144 480h-128C7.156 480 0 472.8 0 464v-128C0 327.2 7.156 320 16 320S32 327.2 32 336v89.38L201.4 256L32 86.63V176C32 184.8 24.84 192 16 192S0 184.8 0 176v-128C0 39.16 7.156 32 16 32h128C152.8 32 160 39.16 160 48S152.8 64 144 64H54.63L224 233.4L393.4 64H304C295.2 64 288 56.84 288 48S295.2 32 304 32h128C440.8 32 448 39.16 448 48v128C448 184.8 440.8 192 432 192S416 184.8 416 176z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eHow much revenue does a fireworks store need to pay the owner?\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\n\u003cp\u003eTo pay the owner, a \u003cstrong\u003eFireworks Store\u003c\/strong\u003e needs revenue that covers the owner target, fixed costs, payroll, reserves, and variable costs, then divides that total by the contribution margin. With \u003cstrong\u003e$2,023k\u003c\/strong\u003e in fixed costs plus payroll, the quick math for a \u003cstrong\u003e$100k\u003c\/strong\u003e target before taxes and reserves is about \u003cstrong\u003e$3,687k\u003c\/strong\u003e in revenue. \u003cstrong\u003eInventory reserves\u003c\/strong\u003e, \u003cstrong\u003edebt service\u003c\/strong\u003e, and \u003cstrong\u003eowner taxes\u003c\/strong\u003e sit outside this estimate.\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\u003eRevenue driver\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003e$100k\u003c\/strong\u003e owner pay target\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$2,023k\u003c\/strong\u003e fixed costs plus payroll\u003c\/li\u003e\n\u003cli\u003eDivide by contribution margin\u003c\/li\u003e\n\u003cli\u003eExclude reserves from this math\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\u003eQuick math\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eAbout \u003cstrong\u003e$3,687k\u003c\/strong\u003e revenue\u003c\/li\u003e\n\u003cli\u003eBased on \u003cstrong\u003e$3,023k\u003c\/strong\u003e divided by \u003cstrong\u003e820%\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003eAdd \u003cstrong\u003einventory reserves\u003c\/strong\u003e separately\u003c\/li\u003e\n\u003cli\u003eKeep \u003cstrong\u003edebt service\u003c\/strong\u003e and taxes separate\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eIs a fireworks store profitable year round?\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\n\u003cp\u003e\u003cstrong\u003eFireworks Store\u003c\/strong\u003e can be profitable year round, but only if \u003cstrong\u003eholiday peaks\u003c\/strong\u003e cover the slow months; the model still carries \u003cstrong\u003e$3,500\/month\u003c\/strong\u003e rent all year. Traffic starts at \u003cstrong\u003e525 visitors per week\u003c\/strong\u003e in Year 1 and rises to \u003cstrong\u003e1,005\u003c\/strong\u003e by Year 5, so owner income depends on concentrated demand, not steady daily sales. Seasonal tents can lower fixed costs, but opening more locations also raises staffing, inventory, compliance, and cash reserve needs.\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\u003eFixed cost load\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003e$3,500\u003c\/strong\u003e rent hits monthly\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e525\u003c\/strong\u003e weekly visitors in Year 1\u003c\/li\u003e\n\u003cli\u003eTraffic is seasonal, not even\u003c\/li\u003e\n\u003cli\u003eSlow months still carry overhead\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\u003eGrowth tradeoffs\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003e1,005\u003c\/strong\u003e weekly visitors by Year 5\u003c\/li\u003e\n\u003cli\u003eSeasonal tents can cut fixed costs\u003c\/li\u003e\n\u003cli\u003eMulti-location growth needs more cash\u003c\/li\u003e\n\u003cli\u003eCompliance and inventory get heavier\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eWhat profit margin does a fireworks store make?\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\n\u003cp\u003eA Fireworks Store can show a very high gross margin: the model says \u003cstrong\u003e880%\u003c\/strong\u003e in Year 1 and \u003cstrong\u003e905%\u003c\/strong\u003e in Year 5, and the startup-cost view is here: \u003ca href=\"\/blogs\/startup-costs\/fireworks\"\u003eHow Much Does It Cost To Open A Fireworks Store?\u003c\/a\u003e. But that is not owner pay; once you subtract marketing, payment processing, lease, utilities, insurance, security, accounting, permits, payroll, capex, and reserves, net operating profit is much lower, and the bundle mix shift from \u003cstrong\u003e150%\u003c\/strong\u003e to \u003cstrong\u003e350%\u003c\/strong\u003e helps lift average order value to \u003cstrong\u003e$718\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cdiv class=\"container_2_clmn_row\"\u003e\n\u003cdiv class=\"card_smpl blue_card\"\u003e\n\u003cdiv class=\"card_smpl_header\"\u003e\n\u003cimg src=\"\/cdn\/shop\/files\/fml_20_fml-Orange-blog-colons-icon.svg\" alt=\"Icon\" class=\"icon_how_to_use\"\u003e\u003ch3\u003eGross margin drivers\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003e\n\u003cstrong\u003e880%\u003c\/strong\u003e gross margin in Year 1\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e905%\u003c\/strong\u003e gross margin in Year 5\u003c\/li\u003e\n\u003cli\u003eAfter inventory and shipping duties\u003c\/li\u003e\n\u003cli\u003eMix shifts from \u003cstrong\u003e150%\u003c\/strong\u003e to \u003cstrong\u003e350%\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"card_smpl\"\u003e\n\u003cdiv class=\"card_smpl_header\"\u003e\n\u003cimg src=\"\/cdn\/shop\/files\/fml_20_fml-Orange-blog-intro-icon.svg\" alt=\"Icon\" class=\"icon_how_to_use\"\u003e\u003ch3\u003eWhat cuts net profit\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eMarketing and payment processing\u003c\/li\u003e\n\u003cli\u003eLease, utilities, and insurance\u003c\/li\u003e\n\u003cli\u003eSecurity, accounting, and permits\u003c\/li\u003e\n\u003cli\u003ePayroll, capex, and reserves\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\n\n\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eWant the six biggest fireworks store income drivers?\n\u003c\/span\u003e\u003c\/h2\u003e\n\u003csection class=\"fml-main-income-drivers\" aria-label=\"Main income drivers for a fireworks store.\"\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\u003eSeasonal Volume\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e$230K-$1.17M\u003c\/strong\u003e\u003cp\u003eTraffic and 15% to 25% conversion can move annual sales from about $230K in Year 1 to about $1.17M in Year 5.\u003c\/p\u003e\u003c\/article\u003e\u003carticle class=\"main-driver-card\"\u003e\u003cdiv class=\"main-driver-heading\"\u003e\n\u003cspan class=\"driver-rank\"\u003e2\u003c\/span\u003e\u003ch4\u003eLegal Access\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e30-270\/day\u003c\/strong\u003e\u003cp\u003eA good site with legal sales access captures the weekday-to-weekend traffic swing, so the store can sell more without changing the product line.\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\u003eMix Margin\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e88%-90.5%\u003c\/strong\u003e\u003cp\u003eWith inventory cost at 12% to 8% and shipping at 2.0% to 1.5%, gross margin stays very high and protects owner take-home.\u003c\/p\u003e\u003c\/article\u003e\u003carticle class=\"main-driver-card\"\u003e\u003cdiv class=\"main-driver-heading\"\u003e\n\u003cspan class=\"driver-rank\"\u003e4\u003c\/span\u003e\u003ch4\u003eStaffing Load\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e$138K-$225K\u003c\/strong\u003e\u003cp\u003ePayroll rises from about $138K to $225K a year, so staffing too early can erase the extra profit from busy seasons.\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 Overhead\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e$64.8K\u003c\/strong\u003e\u003cp\u003eRent, utilities, insurance, security, admin, and permits total about $64.8K a year before you sell a single item.\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\u003eSell-Through\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003cstrong\u003e5-8\u003c\/strong\u003e\u003cp\u003eMoving from 5 to 8 units per order lifts basket size and helps turn stock faster instead of tying cash up in slow inventory.\u003c\/p\u003e\u003c\/article\u003e\n\u003c\/div\u003e\u003c\/article\u003e\u003c\/section\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eFireworks Store Core Six Income Drivers\u003c\/span\u003e\u003c\/h2\u003e\u003cbr\u003e\u003cbr\u003e\n\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eSeasonal Sales Volume\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n\u003cdiv class=\"left-row1\"\u003e\n\u003ch3\u003ePeak Window Sales\u003c\/h3\u003e\n\u003cp\u003eSeasonal sales volume is the cash engine here. In the model, weekly visitors rise from \u003cstrong\u003e525\u003c\/strong\u003e in Year 1 to \u003cstrong\u003e1,005\u003c\/strong\u003e in Year 5, conversion improves from \u003cstrong\u003e150%\u003c\/strong\u003e to \u003cstrong\u003e250%\u003c\/strong\u003e, and average order value rises from \u003cstrong\u003e$28125\u003c\/strong\u003e to \u003cstrong\u003e$718\u003c\/strong\u003e. That mix drives owner pay because most annual profit is made in a few holiday and event windows, not in the quiet weeks.\u003c\/p\u003e\n\u003cp\u003eHere’s the catch: weather, holiday timing, local event demand, and checkout speed all hit the same short peak. Missed peak days can cut annual owner draw more than a slow off-season week, because the store still carries fixed costs while demand is time-sensitive and hard to recover once the window closes.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"right-row1\"\u003e\n\u003cdiv class=\"tips-box\"\u003e\n\u003ch3\u003eTrack Peak Demand Daily\u003c\/h3\u003e\n\u003cp\u003eTrack \u003cstrong\u003evisitors\u003c\/strong\u003e, \u003cstrong\u003econversion\u003c\/strong\u003e, \u003cstrong\u003eaverage order value\u003c\/strong\u003e, and \u003cstrong\u003eorders per checkout hour\u003c\/strong\u003e by day. Those four inputs tell you if traffic is turning into cash fast enough. If traffic is up but lines are slow, owner income stalls even when demand is strong.\u003c\/p\u003e\n\u003cp\u003eUse staffing and checkout capacity to protect peak days. Add labor before weather breaks, holiday weekends, and local events, then test bundle pricing to lift basket size. A small gain in peak conversion matters more here than a minor off-season lift, because the season is short and the draw depends on capturing those spikes.\u003c\/p\u003e\n\u003cul class=\"lst_crct_blog\"\u003e\n\u003cli\u003eWatch daily traffic by peak window\u003c\/li\u003e\n\u003cli\u003eMeasure conversion by hour\u003c\/li\u003e\n\u003cli\u003eTrack orders lost to line length\u003c\/li\u003e\n\u003cli\u003eStaff up before weather-driven surges\u003c\/li\u003e\n\u003cli\u003ePrice bundles for faster checkout\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;\"\u003eLocation And Legal Market\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"right-row2\"\u003e\n    \u003ch3\u003eLocation and Legal Market\u003c\/h3\u003e\n    \u003cp\u003eA fireworks store makes money when the site is \u003cstrong\u003elegal\u003c\/strong\u003e, \u003cstrong\u003evisible\u003c\/strong\u003e, and \u003cstrong\u003eeasy to reach\u003c\/strong\u003e. This model depends on \u003cstrong\u003evisitor count\u003c\/strong\u003e, so weak access cuts orders before product mix can help. Fixed costs still hit cash flow, including \u003cstrong\u003e$3,500\u003c\/strong\u003e rent, \u003cstrong\u003e$700\u003c\/strong\u003e utilities, \u003cstrong\u003e$400\u003c\/strong\u003e insurance, and \u003cstrong\u003e$250\u003c\/strong\u003e for permits.\u003c\/p\u003e\n    \u003cp\u003eOwners also have to verify \u003cstrong\u003efederal, state, and local rules\u003c\/strong\u003e before trusting any forecast. Limits can change \u003cstrong\u003eselling days\u003c\/strong\u003e, \u003cstrong\u003estorage\u003c\/strong\u003e, \u003cstrong\u003eproduct mix\u003c\/strong\u003e, \u003cstrong\u003eadvertising\u003c\/strong\u003e, and \u003cstrong\u003einsurance\u003c\/strong\u003e. If competition pushes discounts or raises site costs, gross margin drops and owner pay follows.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"left-row2\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eCheck the Market Before You Lease\u003c\/h3\u003e\n      \u003cp\u003eBuild the forecast from \u003cstrong\u003elegal selling days\u003c\/strong\u003e, daily visitors, conversion, average order value, rent, insurance, and permit costs. Here’s the quick math: if the site loses traffic, orders fall with it, but fixed costs keep running. Use the location only if expected traffic can cover overhead and still leave profit for owner draw.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eVerify all sales rules first.\u003c\/li\u003e\n        \u003cli\u003eMeasure drive-by and parking access.\u003c\/li\u003e\n        \u003cli\u003eCheck nearby competitor pricing.\u003c\/li\u003e\n        \u003cli\u003eTest ad limits and storage rules.\u003c\/li\u003e\n        \u003cli\u003eReforecast after rule changes.\u003c\/li\u003e\n      \u003c\/ul\u003e\n      \u003cp\u003e\u003cstrong\u003eOne weak location\u003c\/strong\u003e can turn a busy season into thin cash flow, especially when discounting starts or peak-day visitors are missed.\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;\"\u003eProduct Mix And Gross Margin\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"left-row3\"\u003e\n    \u003ch3\u003eProduct Mix And Gross Margin\u003c\/h3\u003e\n    \u003cp\u003eGross margin improves when the store sells more bundles and higher-ticket items, not just more units. In this model, mix shifts from \u003cstrong\u003e300%\u003c\/strong\u003e aerial shells, \u003cstrong\u003e300%\u003c\/strong\u003e cakes, \u003cstrong\u003e250%\u003c\/strong\u003e fountains, and \u003cstrong\u003e150%\u003c\/strong\u003e bundles in Year 1 to \u003cstrong\u003e200%\u003c\/strong\u003e, \u003cstrong\u003e250%\u003c\/strong\u003e, \u003cstrong\u003e200%\u003c\/strong\u003e, and \u003cstrong\u003e350%\u003c\/strong\u003e in Year 5, while weighted unit price rises from \u003cstrong\u003e$5625\u003c\/strong\u003e to \u003cstrong\u003e$8975\u003c\/strong\u003e.\u003c\/p\u003e\n    \u003cp\u003eThat matters because discounting, damaged stock, and unsold items hit gross margin before owner pay. If the shelf mix moves up in value but markdowns rise too, the paper margin won’t reach cash. The owner should watch category mix, average ticket, and shrink together, not one by one.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"right-row3\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eTrack Mix, Then Protect Margin\u003c\/h3\u003e\n      \u003cp\u003eMeasure each category’s share of sales, the weighted unit price, and the percent of stock sold at full price. The key inputs are product mix, pricing, bundles, discounts, damaged stock, and carryover inventory. One clean target: raise bundle share while keeping markdowns low.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eTrack full-price sell-through weekly\u003c\/li\u003e\n        \u003cli\u003eFlag damaged stock fast\u003c\/li\u003e\n        \u003cli\u003eTest bundle prices by event\u003c\/li\u003e\n        \u003cli\u003eCut dead stock before peak ends\u003c\/li\u003e\n      \u003c\/ul\u003e\n      \u003cp\u003eIf bundles lift average order value but weaken gross margin, keep the bundle, change the contents, or cap the discount. The real test is simple: after product cost and markdowns, is there enough gross profit left to cover fixed costs and owner draw?\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;\"\u003eInventory Buying And Sell-Through\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"right-row4\"\u003e\n    \u003ch3\u003eInventory Sell-Through\u003c\/h3\u003e\n    \u003cp\u003eThis driver is the gap between what you buy and what you turn into cash before the season ends. In Year 1, inventory cost is \u003cstrong\u003e100% of revenue\u003c\/strong\u003e, then drops to \u003cstrong\u003e80% in Year 5\u003c\/strong\u003e, while shipping and duties fall from \u003cstrong\u003e20%\u003c\/strong\u003e to \u003cstrong\u003e15%\u003c\/strong\u003e. Weak sell-through traps cash on shelves, lifts markdowns, and cuts owner take-home.\u003c\/p\u003e\n    \u003cp\u003eHere’s the quick math: slow stock can look fine on paper, but it still ties up money in storage, shrinkage, and next-season carryover. The inputs are order size, SKU mix, sell-through rate, freight, duties, markdowns, and reserve cash. One line: buy for peak demand, not for guesswork.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"left-row4\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eTrack Sell-Through, Not Just Sales\u003c\/h3\u003e\n      \u003cp\u003eMeasure units sold versus units received by SKU each week, then cut reorders fast on slow lines. If a product misses plan before the peak dates pass, push bundles, discount early, or stop buying it. That protects cash and keeps inventory from turning into dead stock.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003eTrack sell-through by SKU.\u003c\/li\u003e\n        \u003cli\u003eWatch freight and duty landed cost.\u003c\/li\u003e\n        \u003cli\u003eSet a leftover cash reserve.\u003c\/li\u003e\n        \u003cli\u003ePrice down slow items early.\u003c\/li\u003e\n        \u003cli\u003ePlan for storage and shrinkage.\u003c\/li\u003e\n      \u003c\/ul\u003e\n      \u003cp\u003eThe model’s \u003cstrong\u003e20%\u003c\/strong\u003e to \u003cstrong\u003e15%\u003c\/strong\u003e shipping and duty range helps margin, but only if buying stays tight. Use a season-end exit plan for leftovers, because profit only helps owner income when it becomes cash, not when it sits in inventory.\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;\"\u003eCompliance 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\u003eCompliance Cost Load\u003c\/h3\u003e\n    \u003cp\u003eFireworks stores carry a fixed base before one sale lands: \u003cstrong\u003e$3,500\u003c\/strong\u003e rent, \u003cstrong\u003e$700\u003c\/strong\u003e utilities, \u003cstrong\u003e$400\u003c\/strong\u003e insurance, \u003cstrong\u003e$150\u003c\/strong\u003e monitoring, \u003cstrong\u003e$300\u003c\/strong\u003e accounting and legal, \u003cstrong\u003e$100\u003c\/strong\u003e supplies, and \u003cstrong\u003e$250\u003c\/strong\u003e permits. That adds to \u003cstrong\u003e$5,400\u003c\/strong\u003e a month, or \u003cstrong\u003e$64,800\u003c\/strong\u003e a year, before payroll. If seasonal sales miss peak days, this cost hits owner pay fast.\u003c\/p\u003e\n    \u003cp\u003eCompliance also changes the store model. Rules vary by jurisdiction and format, so inspections, safety needs, storage, advertising, and insurance can add cost or block selling days. If monthly gross profit stays below fixed burn, cash goes out before the owner can draw income. One clean rule: bigger compliance load means a higher break-even sales target, not just more paperwork.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"right-row5\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n\u003ch3\u003eTrack the Burn Rate\u003c\/h3\u003e\n      \u003cp\u003eBuild a monthly compliance budget before you sign the lease. Track each line item, then update it for permit renewals, inspection fees, and insurance changes. If a site needs extra storage or security, price that into the forecast up front so owner draw is based on real margin, not hope.\u003c\/p\u003e\n      \u003cp\u003eUse a simple break-even check: \u003cstrong\u003efixed costs ÷ gross margin\u003c\/strong\u003e. If a location adds \u003cstrong\u003e$1,000\u003c\/strong\u003e a month in extra compliance and storage cost, annual burden rises by \u003cstrong\u003e$12,000\u003c\/strong\u003e. That is the kind of cost that can erase owner income even when holiday sales look strong.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"timeline\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"step-circle step5\"\u003e5\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003ch3\u003e\u003cspan style=\"color: #126CFF;\"\u003eOwner Staffing Model\u003c\/span\u003e\u003c\/h3\u003e\u003cbr\u003e\n\u003cdiv class=\"container_new_design_timeline\"\u003e\n  \u003cdiv class=\"right-row6\"\u003e\n    \u003ch3\u003eOwner Labor vs. True Profit\u003c\/h3\u003e\n    \u003cp\u003eWhen the owner covers management, buying, setup, sales, and closeout, reported profit can look stronger because payroll is lower. But unpaid work is not free; it is hidden labor that should be counted against take-home income. In this model, payroll rises from \u003cstrong\u003e$137.5k\u003c\/strong\u003e in Year 1 to \u003cstrong\u003e$225k\u003c\/strong\u003e in Year 5, so the business only improves owner income if added staff lifts sales and keeps service safe.\u003c\/p\u003e\n    \u003cp\u003eSeparate \u003cstrong\u003eowner salary\u003c\/strong\u003e, \u003cstrong\u003eowner draw\u003c\/strong\u003e, and \u003cstrong\u003ereinvested profit\u003c\/strong\u003e. That split tells you whether cash is paying the owner, staying in the business, or just replacing labor the owner used to do. If peak-season coverage depends on unpaid owner hours, the P\u0026amp;L overstates real return. One clean rule: count labor before you count profit.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"left-row6\"\u003e\n    \u003cdiv class=\"tips-box\"\u003e\n      \u003ch3\u003eTrack Labor by Role\u003c\/h3\u003e\n      \u003cp\u003eBuild payroll from the work, not from a guess. Track hours for \u003cstrong\u003emanagement\u003c\/strong\u003e, \u003cstrong\u003epurchasing\u003c\/strong\u003e, \u003cstrong\u003esetup\u003c\/strong\u003e, \u003cstrong\u003esales\u003c\/strong\u003e, and \u003cstrong\u003ecloseout\u003c\/strong\u003e, then compare that load to seasonal traffic and store hours. If the store needs longer hours or safer floor coverage, staff must rise before peak demand hits, or owner pay gets squeezed by overtime and missed sales.\u003c\/p\u003e\n      \u003cul class=\"lst_crct_blog\"\u003e\n        \u003cli\u003e\n\u003cstrong\u003eMeasure\u003c\/strong\u003e staffed hours by role.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eTest\u003c\/strong\u003e payroll against peak weeks.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eSeparate\u003c\/strong\u003e salary from owner draws.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eForecast\u003c\/strong\u003e added sales per labor dollar.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eDocument\u003c\/strong\u003e unpaid owner hours monthly.\u003c\/li\u003e\n      \u003c\/ul\u003e\n      \u003cp\u003eThe quick math is simple: if payroll climbs but gross profit does not, owner take-home falls. If staffing supports more volume, cleaner closeout, and safer sales, the higher payroll can still be worth it. The key is to know which hours create revenue and which hours only protect the store.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"timeline\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"step-circle step6\"\u003e6\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003ch2\u003e\u003cspan style=\"color: #126CFF;\"\u003eCompare lean, base, and high fireworks store owner income scenarios\n\u003c\/span\u003e\u003c\/h2\u003e\n\u003csection class=\"fml-scenario-table\" aria-label=\"Fireworks Store Owner Income Scenarios\" data-site-name=\"Financial Models Lab\" data-site-url=\"https:\/\/financialmodelslab.com\" data-source-title=\"Fireworks Store Owner Income Scenarios\" data-note-label=\"Planning note\" data-note-text=\"Scenario ranges are researched planning assumptions, not guaranteed earnings, salary promises, tax advice, or distributions.\"\u003e\u003cdiv class=\"fml-scenario-table-card\"\u003e\n\u003cheader class=\"fml-scenario-table-header\"\u003e\u003cdiv\u003e\n\u003cp class=\"fml-scenario-table-eyebrow\"\u003eOwner income scenario table\u003c\/p\u003e\n\u003cp class=\"fml-scenario-table-description\"\u003eFireworks income swings with traffic, basket size, and seasonal mix, so the low, base, and high cases show how owner income changes when sell-through and staffing move around.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"fml-scenario-table-actions\"\u003e\u003cbutton class=\"fml-scenario-table-export\" type=\"button\" data-scenario-export\u003eEXPORT XLSX\u003c\/button\u003e\u003c\/div\u003e\u003c\/header\u003e\u003cdiv class=\"fml-scenario-table-wrap\"\u003e\u003ctable class=\"fml-scenario-table-grid\"\u003e\n\u003ccaption\u003eLow, base, and high cases for owner income.\u003c\/caption\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth class=\"fml-scenario-table-stub\" scope=\"col\" data-export-value=\"Scenario\"\u003eScenario\u003c\/th\u003e\n\u003cth class=\"fml-scenario-table-column\" scope=\"col\" data-export-value=\"Low Case\"\u003e\n\u003cspan class=\"fml-scenario-column-title\"\u003eLow Case\u003c\/span\u003e\u003cspan class=\"fml-scenario-badge is-soft\"\u003eLow Case\u003c\/span\u003e\n\u003c\/th\u003e\n\u003cth class=\"fml-scenario-table-column\" scope=\"col\" data-export-value=\"Base Case\"\u003e\n\u003cspan class=\"fml-scenario-column-title\"\u003eBase Case\u003c\/span\u003e\u003cspan class=\"fml-scenario-badge is-soft\"\u003eBase Case\u003c\/span\u003e\n\u003c\/th\u003e\n\u003cth class=\"fml-scenario-table-column\" scope=\"col\" data-export-value=\"High Case\"\u003e\n\u003cspan class=\"fml-scenario-column-title\"\u003eHigh Case\u003c\/span\u003e\u003cspan class=\"fml-scenario-badge is-warning\"\u003eHigh Case\u003c\/span\u003e\n\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr data-scenario-row\u003e\n\u003cth class=\"fml-scenario-row-heading\" scope=\"row\" data-export-value=\"Launch model\"\u003e\u003cspan class=\"fml-scenario-row-heading-inner\"\u003e\u003cspan class=\"fml-scenario-row-icon is-launch\" aria-hidden=\"true\"\u003e\u003cimg class=\"fml-scenario-row-icon-img\" src=\"\/cdn\/shop\/files\/scenario-launch-model.svg\" alt=\"Launch model icon\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan\u003e\u003cspan class=\"fml-scenario-row-title\"\u003eLaunch model\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/th\u003e\n\u003ctd data-export-value=\"This is the cautious start case with lower traffic and tighter owner income.\"\u003eThis is the cautious start case with lower traffic and tighter owner income.\u003c\/td\u003e\n\u003ctd data-export-value=\"This is the modeled middle case with steadier traffic and stronger owner income.\"\u003eThis is the modeled middle case with steadier traffic and stronger owner income.\u003c\/td\u003e\n\u003ctd data-export-value=\"This is the stronger earnings path if traffic, conversion, and repeat buying all run hot.\"\u003eThis is the stronger earnings path if traffic, conversion, and repeat buying all run hot.\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 assumptions hold near the launch mix, with 15.0% visitor-to-buyer conversion, 5 units per order, 10.0% inventory cost, and full payroll.\"\u003eYear 1 assumptions hold near the launch mix, with 15.0% visitor-to-buyer conversion, 5 units per order, 10.0% inventory cost, and full payroll.\u003c\/td\u003e\n\u003ctd data-export-value=\"Year 3 assumptions drive the case, with $535M revenue, 89.2% gross margin, 19.0% conversion, 6 units per order, and fuller staffing.\"\u003eYear 3 assumptions drive the case, with $535M revenue, 89.2% gross margin, 19.0% conversion, 6 units per order, and fuller staffing.\u003c\/td\u003e\n\u003ctd data-export-value=\"Year 5 assumptions push the upside case, with $2.289B revenue, 90.5% gross margin, 25.0% conversion, 8 units per order, and 40.0% repeat customers.\"\u003eYear 5 assumptions push the upside case, with $2.289B revenue, 90.5% gross margin, 25.0% conversion, 8 units per order, and 40.0% repeat customers.\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=\"Lower weekday traffic; 15.0% conversion; 5 units per order; 10.0% inventory cost; full payroll\"\u003e\u003cul class=\"fml-scenario-list\"\u003e\n\u003cli\u003eLower weekday traffic\u003c\/li\u003e\n\u003cli\u003e15.0% conversion\u003c\/li\u003e\n\u003cli\u003e5 units per order\u003c\/li\u003e\n\u003cli\u003e10.0% inventory cost\u003c\/li\u003e\n\u003cli\u003efull payroll\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/td\u003e\n\u003ctd data-export-value=\"Steadier traffic; 19.0% conversion; 6 units per order; 89.2% gross margin; fuller staffing\"\u003e\u003cul class=\"fml-scenario-list\"\u003e\n\u003cli\u003eSteadier traffic\u003c\/li\u003e\n\u003cli\u003e19.0% conversion\u003c\/li\u003e\n\u003cli\u003e6 units per order\u003c\/li\u003e\n\u003cli\u003e89.2% gross margin\u003c\/li\u003e\n\u003cli\u003efuller staffing\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/td\u003e\n\u003ctd data-export-value=\"Peak traffic weeks; 25.0% conversion; 8 units per order; 90.5% gross margin; 40.0% repeat customers\"\u003e\u003cul class=\"fml-scenario-list\"\u003e\n\u003cli\u003ePeak traffic weeks\u003c\/li\u003e\n\u003cli\u003e25.0% conversion\u003c\/li\u003e\n\u003cli\u003e8 units per order\u003c\/li\u003e\n\u003cli\u003e90.5% gross margin\u003c\/li\u003e\n\u003cli\u003e40.0% repeat customers\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=\"$103M\"\u003e\n\u003cstrong class=\"fml-scenario-range\"\u003e$103M\u003c\/strong\u003e\u003cspan class=\"fml-scenario-badge is-soft\"\u003eLow case\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd data-export-value=\"$424M\"\u003e\n\u003cstrong class=\"fml-scenario-range\"\u003e$424M\u003c\/strong\u003e\u003cspan class=\"fml-scenario-badge is-soft\"\u003eBase case\u003c\/span\u003e\n\u003c\/td\u003e\n\u003ctd data-export-value=\"$1.94B\"\u003e\n\u003cstrong class=\"fml-scenario-range\"\u003e$1.94B\u003c\/strong\u003e\u003cspan class=\"fml-scenario-badge is-warning\"\u003eHigh case\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-scenario-row\u003e\n\u003cth class=\"fml-scenario-row-heading\" scope=\"row\" data-export-value=\"Best fit\"\u003e\u003cspan class=\"fml-scenario-row-heading-inner\"\u003e\u003cspan class=\"fml-scenario-row-icon is-fit\" aria-hidden=\"true\"\u003e\u003cimg class=\"fml-scenario-row-icon-img\" src=\"\/cdn\/shop\/files\/scenario-best-fit.svg\" alt=\"Best fit icon\" loading=\"lazy\"\u003e\u003c\/span\u003e\u003cspan\u003e\u003cspan class=\"fml-scenario-row-title\"\u003eBest fit\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/th\u003e\n\u003ctd data-export-value=\"Use this to stress-test the store if traffic and basket size stay near the launch-month mix.\"\u003eUse this to stress-test the store if traffic and basket size stay near the launch-month mix.\u003c\/td\u003e\n\u003ctd data-export-value=\"Use this as the core plan for lender, investor, or owner draw checks.\"\u003eUse this as the core plan for lender, investor, or owner draw checks.\u003c\/td\u003e\n\u003ctd data-export-value=\"Use this to test upside if the store scales fast and keeps mix moving into bundles.\"\u003eUse this to test upside if the store scales fast and keeps mix moving into bundles.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\u003c\/div\u003e\n\u003cdiv class=\"fml-scenario-table-note\"\u003e\n\u003cspan class=\"fml-scenario-table-note-icon\" aria-hidden=\"true\"\u003e!\u003c\/span\u003e\u003cp\u003e\u003cstrong\u003ePlanning note:\u003c\/strong\u003e Scenario ranges are researched planning assumptions, not guaranteed earnings, salary promises, tax advice, or distributions.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e","brand":"FinancialModelsLab","offers":[{"title":"Default Title","offer_id":49303792222451,"sku":"fireworks-owner-makes","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6191\/2762\/files\/fireworks-owner-makes.webp?v=1782682627","url":"https:\/\/financialmodelslab.com\/products\/fireworks-owner-makes","provider":"Financial Models Lab","version":"1.0","type":"link"}