What normalization is trying to answer
A buyer needs to know whether the trailing period represents repeatable earnings. HVAC demand can move with temperature; roofing and restoration can spike after hail, wind or flooding. But weather is not the only cause. Marketing spend, technician count, pricing, supply constraints, insurance relationships and backlog conversion also change. A defensible analysis isolates those variables instead of labeling every favorable month “normal.”
Build the 36-month monthly dataset
| Field group | Minimum fields | Reason |
|---|---|---|
| Financial | Revenue, direct labor, materials, subcontractors and gross profit by service line | Revenue alone can hide margin deterioration |
| Operations | Jobs, average ticket, booked/available calls, technicians, hours, backlog and cancellations | Separates demand from capacity and price |
| Geography | Customer ZIP/county and service territory | Weather must overlap the revenue footprint |
| Marketing | Spend, lead source and conversion rate | Paid demand can mimic weather-driven growth |
| Weather | Temperature measures or documented storm events with date, location and type | Creates an external event record |
Use weather evidence that matches the question
NOAA's Storm Events Database provides documented event records and downloadable CSV files. Use event type, begin/end dates, counties or zones and available narratives to identify candidate periods. For HVAC, use a consistent temperature series or degree-day methodology for the relevant service area. Record station, coverage and extraction date. A statewide weather statistic is a weak match for a contractor operating in two counties.
Monthly variance bridge
For each unusual month, bridge revenue from prior-year comparable month using observable drivers:
- Job volume change × prior comparable average ticket.
- Price/mix change on comparable jobs.
- Capacity change from technician hours or subcontractors.
- Marketing/lead conversion change.
- Weather- or event-associated residual supported by geography and job type.
Then repeat the bridge for gross profit. A storm month with higher revenue and lower gross margin may create receivable, warranty and subcontractor risk rather than durable earnings.
Illustrative normalization example
HVAC-specific considerations
- Separate maintenance agreements, demand service and replacements.
- Compare calls and conversions to temperature, not only revenue.
- Identify deferred installs that shifted revenue between months.
- Analyze overtime, temporary labor, equipment availability and callbacks.
- Do not confuse EPA technician certification with an Illinois statewide HVAC contractor license.
Roofing and restoration considerations
- Map events to customer locations and loss dates.
- Separate retail, insurance and public-work jobs.
- Test signed contracts, supplements, cancellations and expected cost to complete.
- Review claim aging, retainage, subcontractor capacity, permits and complaint/callback trends.
- Track revenue recognition and cash collection separately.
The underwriting output
Show at least three cases: reported trailing results; evidence-adjusted base case; and downside case for weaker demand, collection or margin. Disclose every month changed, the event evidence, the operating explanation and the formula. Keep the unadjusted history visible so another reviewer can reproduce or challenge the judgment.
Clean and align the data
Use a consistent monthly cutoff and retain raw extracts. Remove intercompany activity, duplicate invoices, taxes and pass-through items according to the stated revenue definition. Map customer ZIPs to counties without replacing missing locations with assumptions. Align weather by event date and service location, then distinguish immediate emergency work from jobs sold or completed months later.
Test lead and completion lags
Roofing/restoration revenue may lag a storm through inspection, insurance approval, supplement and scheduling. HVAC replacements may lag a heat event until equipment and crews are available. Analyze leads, signed work, starts, billings and cash by cohort. A same-month correlation can miss the economic relationship or falsely attribute backlog conversion to current weather.
Use statistical tools cautiously
Regression can help describe a stable relationship between demand and temperature or event indicators, but small samples, trend, marketing changes, capacity limits and correlated variables can produce misleading coefficients. Disclose the model, periods, variables, fit, residuals and judgment. Do not present a model-generated adjustment as observed transaction data. A transparent monthly bridge is often more useful for a small contractor.
Storm revenue may create balance-sheet risk
For event-driven jobs, examine receivable aging by carrier/customer, supplements, deductibles, liens, disputes, cancellations, subcontractor balances and warranties. Test subsequent cash and remaining cost. Reported gross profit should not be normalized without evaluating whether the associated cash was collected and obligations closed.
Questions that improve management interviews
- Which services and ZIPs changed during the event period?
- Did call volume exceed capacity, and how many opportunities were lost?
- Were prices, discounts, overtime or subcontractor terms changed?
- How much work remains in backlog, supplements or warranty?
- Did marketing, acquisitions, branch openings or headcount change simultaneously?
- Which event-associated customers became repeat or agreement customers?
Reperformance file
Retain the raw financial/operating exports, weather extract, mapping table, exclusion log, monthly calculations, management explanations and review conclusions. A buyer or lender should be able to recreate each adjusted month. If the data cannot support that standard, show reported results and a qualitative sensitivity instead of a precise normalized number.
Separate demand from capacity
Extreme weather may increase calls without increasing completed work if technicians, equipment, materials or adjusters are constrained. Compare calls, booked jobs, cancellations, wait time, technician hours, subcontracting and average ticket. Lost-call logs and abandoned web leads can show demand that never became revenue; overtime and subcontractor premiums can show why additional revenue did not produce normal margin.
When estimating a steady-state period, do not replace event revenue without also considering capacity released for ordinary work. A crew that performed storm restoration might otherwise have completed maintenance, replacements or backlog. Present gross event contribution, displaced ordinary contribution and remaining warranty/collection exposure as separate lines.
Use scenarios instead of a single weather forecast
Build mild, representative and severe conditions from documented historical observations, then translate each into leads, capacity, revenue, margin and working capital. State what management can control—marketing, staffing, scheduling and inventory—and what remains external. The output is a decision range, not a claim that next year's weather or transaction earnings can be predicted precisely.
Archive the model inputs and raw event extracts so the analysis can be refreshed without reconstructing the methodology.
Primary sources and review notes
- NOAA NCEI - Storm Events Database — Official event records, documentation and bulk CSV access.
- US EPA - Section 608 Technician Certification — Technician certification scope for refrigerant-related work.