Every seasonal trade has slow weeks. Most owners treat them as weather and wait them out. The shops that grow year over year treat them as a planning problem with a schedule attached. The difference shows up in booked jobs, and it is almost entirely a difference in systems.
Published playbooks cover the surge side: capturing demand when a storm hits or summer peaks. This is the inverse system. It manufactures demand in the dead weeks between surges, using offers, triggers, and your existing customer list. Here is the full workflow, end to end.
Map your slow months from your own job data
Do not guess from a generic industry calendar. Pull three years of booked jobs from your CRM or scheduling software and count them by week. The slow weeks will show up as the same dips, year after year, and they rarely line up with what owners assume.
While you are in the data, separate two kinds of lull. A demand lull means homeowners simply are not buying. A capacity lull means demand exists but your crews are tied up elsewhere. Shaping works best on demand lulls. Capacity lulls call for routing and scheduling fixes, not promotions.
Finish the map with one number: what a fully booked shoulder week is worth. Multiply your average ticket by jobs per crew per day, then by crew days in a week. That figure is your budget ceiling for every promotion in this system. If a campaign cannot plausibly pay for itself against that number, do not run it.
Build the off-peak offer stack
One offer will not carry a slow month. You need a stack of four offer types, each matched to a different kind of shoulder-week buyer.
Pre-season tune-up pushes
Sell the maintenance visit four to eight weeks before the peak season starts. The homeowner gets a better price and a guaranteed slot. You get revenue in a dead week plus a serviced system that often surfaces repair work.
Shoulder-season specials
Discount the work people keep deferring: the non-urgent repair, the upgrade, the second project on the estimate. Frame it as a seasonal rate for flexible timing, and put real dates on it.
Off-peak scheduling incentives
Offer a concrete incentive for booking into your emptiest days, usually midweek. A modest credit, a trip charge waived, or a free add-on works. The customer chooses the discount, and you choose the timing. That is the trade.
Small-project windows
Dead weeks are ideal for the jobs that are too small to prioritize in peak season. Package them: thermostat swaps, fixture replacements, cleanups, tune-ups of any system you service. One technician, half a day, flat price, booked solid.
Fill gaps with weather and calendar triggers
Weather triggers
Build a short trigger list in advance. First sustained cold snap: heater tune-up and safety-check push. First warm stretch: cooling start-up appointments. Dry week after heavy rain: landscaping and drainage work. You write the copy and set the audience now, so deployment is a same-day decision when the trigger fires.
Calendar triggers
Fixed dates create predictable fills. Daylight saving time is the classic reminder hook for system checks. The school calendar opens windows for work that needs a quiet house. Tax season puts money in pockets for deferred projects. Map ten to twelve of these against your own dip weeks and schedule them as recurring campaigns.
Your customer database is the first channel
Past customers are your warmest shoulder-season audience. They already trust you, they already own the system or property you service, and they respond faster than any cold audience you can buy. Segment the list by last service date, equipment age, and service line, then send a specific offer to each segment.
Email and SMS carry most of this. If your customer base skews older, direct mail to the top segment still earns its postage in shoulder months, when response windows are longer. The rule is simple: exhaust the database before you spend a dollar on ads for a slow week.
Set capacity smoothing rules before you launch
A shoulder-season promotion that books three weeks of work in four days is a failure. You filled the wrong weeks and probably discounted work you did not need to discount. Set rules before each campaign goes live.
- Cap redemptions. Set a hard ceiling on discounted bookings and say so in the offer.
- Use booking windows. Valid dates should sit inside your actual dip weeks, two to three weeks out, so crews can absorb the work.
- Define a stop rule. When the ceiling hits, the campaign pauses. Full price resumes.
- Protect peak pricing. Shoulder discounts never carry into surge weeks. Your peak-season rate card stays intact.
Measure booked jobs by week, not by month
Monthly reporting hides the entire point of this system. A month can look flat while two catastrophic weeks hide behind two strong ones. Track booked jobs weekly, stacked against the same week last year and against your target fill rate for that week.
Judge each campaign on the weeks it was designed to fill, not on its own calendar month. A tune-up push that lands bookings in April was a success even if the revenue lands in May. Close the loop by feeding results back into the dip map, so next year starts from better data.
A worked example: the HVAC shoulder-season calendar
HVAC has two surges (heating and cooling) and two shoulders (spring and fall). Here is how a year of demand shaping can run.
- January: Heating peak. No promos. Run the data pull and build the spring dip map.
- February: Database campaign for furnace safety checks, aimed at customers with no heating visit in two years.
- March: Pre-season cooling tune-up push with an early-booking window and a redemption cap.
- April: Shoulder special on indoor air quality: duct sealing, filtration, humidity control, packaged flat.
- May: Maintenance plan enrollment drive. Recurring agreements are the long-term fix for summer peaks.
- June to August: Cooling peak. Promotions off. Full price, full schedule.
- September: Shoulder special shifting to heating: tune-ups and safety checks booked before the first cold snap.
- October: Small-project window: smart thermostats, airflow balancing, vent and register work.
- November: Win-back campaign to lapsed customers, framed around comfort before winter.
- December: Service gift certificates and a light database touch. Plan next year's trigger list.
Every item on that list is scheduled before the year starts, capped before it launches, and judged against the week it was meant to fill.
Run this system this week
- Pull three years of booked jobs and count them by week. Mark your dip weeks.
- Calculate the value of one fully booked shoulder week. That is your ceiling.
- Draft one offer from each stack type: tune-up push, shoulder special, scheduling incentive, small-project window.
- Write your weather trigger list and calendar trigger list, with audiences and copy ready.
- Segment your customer database by last service date and service line.
- Set redemption caps, booking windows, and stop rules for the first campaign.
- Book a weekly thirty-minute review of booked jobs against last year, starting now.
Slow weeks are a solvable problem. The owners who solve them stop riding the season and start planning it.