Avatar photo Alex Thompson
|
Aug 11, 2026
How to Handle Seasonality Without Changing Your Price

If you run PPC for HVAC, roofing, or landscaping clients, you’ve had the talk. The client’s revenue swings hard by season, and if your fee is a share of it, you’re renegotiating every few months.

You don’t have to be. A flat monthly retainer is one number the client pays every month, and it holds because of how it’s built. It starts from the client’s attributable revenue, meaning the sales you can trace back to a lead your marketing produced, rather than to a walk-in or a referral.

You estimate twelve months of it, agree a share, and divide by twelve. The busy-season peaks and the slow-season troughs are already inside that yearly total, so no single month can move the fee. Your power company prices a swinging year the same way.

This is about your agency’s own fee. Campaign budgets and media pacing across the season are a different question. If you’ve never had a clean way to explain why one number covers a swinging year, that explanation is below.

Home-Services Demand Swings 90-600% Across the Year

The concern is legitimate. A modeled $2 million HVAC contractor earns $250,000 in July and $85,000 in October. That’s a 66% drop in 90 days, while payroll, rent, insurance, and truck payments stay flat the entire year. That $165,000 gap is roughly three months of payroll for a 10-person shop.

A fee calculated from monthly revenue lurches right alongside that swing. Ad costs swing by season too, and we’ve covered why a seasonal CPC swing tells you almost nothing about how well the ads are working. Park that one for now, since it’s a question about reading your reports, and it doesn’t move your price. The revenue swing is the one that sets your price.

How far does it go? HVAC search terms vary 90% to 600% between their busiest and quietest months, and they peak twice a year:

  • AC repair searches climb 266% into July.
  • Furnace repair climbs 137% into January.

Those search swings track real service demand. An analysis of 65 million HVAC service trips found the actual peak month is October, not July, because lingering cooling demand overlaps with furnaces turning on for the first time all year. September is the quiet month in between, after AC winds down and before heating starts.

The trades don’t swing equally

Roofing is the calm one. Its search demand varies 25% to 70% across the year, well under HVAC’s range. Spring and fall are the peaks, winter is the slow stretch. That whole swing is gentler than most agency owners expect.

Plumbing is the strange one. Its baseline barely moves, but a single service line can go vertical on its own. That line is “frozen pipe repair,” which spikes 609% from August to January, the widest single-keyword swing across the four trades. Everyday plumbing work barely moves next to it, and “plumber near me” drifts only 36% between its July peak and its December low. The numbers below put each trade side by side.

Peak-to-valley search demand
Search demand swings hardest in HVAC, least in roofing
90% to 600%HVAC terms swing this much from peak month to valley25% to 70%Roofing terms swing least of the four trades+609%Plumbing’s frozen pipe repair, August low to January peak

Source: WebFX seasonal search trends for home services.

So the worry is real, and it isn’t the same size in every trade. A roofing account’s revenue moves enough to notice. An HVAC or plumbing account can redraw the revenue picture every quarter, and a fee pinned to monthly revenue moves with it, quarter after quarter.

Ramping the Retainer With Demand Backfires Every Season

The standard advice is to move the fee with the season, and it costs more than it saves. One marketing-agency pricing guide puts it plainly, “If you’re a landscaper who only advertises April through October, paying a flat retainer year-round doesn’t make sense.” That guide’s fix is to “ramp up during your busy season and scale back during slower periods.”

Picture a landscaper on that arrangement. Their retainer ramps up in April when campaigns kick in and scales back in November when they wind down. Each switch takes advance notice, a conversation about scope, and a new number on the invoice.

You’re looking at four to six pricing talks a year. Every one surfaces the same question from the client. Am I paying for results, or am I subsidizing the agency’s peak season?

Two frictions that fire every cycle

The math mismatch. Ramping usually means pegging the fee to the client’s ad spend, so your fee is a fixed percentage of their budget. When peak season pushes the budget up, your fee rises the same day, before a single extra job is sold. The client puts up the extra capital and carries the risk while you manage more campaigns. One pricing analysis puts their objection plainly, “You’re asking us to take more risk while you take none.”

The trust question. Every peak season you recommend raising spend, and every peak season the client has to decide whether that advice serves their results or your fee. That doubt ends up in the contract language. One documented clause reads, “If client’s ad spend increases more than 25%, we’ll review scope and fees,” and a client whose demand swings 90% to 600% a year trips that wire on a schedule.

In a business that isn’t seasonal, those are one-time growth conversations. In home services they come back every year, on the same schedule as the weather, and each one reopens how you structure what you charge.

What this doesn’t mean

Your fee can still change. You rebuild the estimate once a year, and the retainer moves with it. A retainer that steps up when the business crosses a growth milestone is normal too.

Two ways to price a seasonal client
Ramping the fee means four to six pricing talks a year
 Option ARamp with the seasonOption BHold one price
The fee each monthMoves up in spring, down in fallThe same number all twelve months
Pricing talks a yearFour to sixOne, at the yearly re-forecast
What the client asks“Am I subsidizing your peak season?”The question does not come up
When the work dipsA smaller fee means less work in slow monthsCampaigns keep running through slow months
Over one yearA renegotiation every seasonOne price, revisited once a year

What backfires is repricing inside the year to chase demand. Scaling the fee down in slow months usually means scaling the work down with it, which is the opposite of keeping campaigns alive through the slow months. What you want is a number that holds through the seasons and changes only when the business does.

Budget Billing Turns a Variable Cost Into One Flat Number

Your utility company solved this problem a long time ago with budget billing. It averages your past usage over twelve months and charges the same amount every month, even when summer AC spikes or a cold January triples your heating.

That flat monthly charge is built like this:

  • A provider projects $1,800 in yearly usage.
  • You pay a flat $150 per month, regardless of how much you actually use.
  • The flat number gets recalculated every six to twelve months, and you get a credit or a bill for the gap if the flat charge ran above or below what you actually used.

That flat number doesn’t reduce what you owe, and nobody sells it as a discount. You pay one predictable figure across a usage curve that swings hard by season, and it reads as fair because the whole year’s usage sits inside it.

The pattern repeats outside utilities

Utilities aren’t the only ones doing this. The USDA insures farm revenue against a five-year average of what the farm has actually earned. Farm income is about as weather-dependent as income gets, and one bad year shouldn’t reset the policy. Both the utility company and the USDA build their number from a long average instead of from the most recent result.

The matrix below lines up four versions of that move, the utility bill, the USDA policy, a whole life premium, and your own agency retainer. None of the four redo the customer’s number every time the cost underneath it moves. Each one anchors to a wider window, so a single bad stretch can’t force a price change.

Flat prices built on a wider window
Each of these turns a swinging cost into one flat number
The flat priceWhat swings underneathAveraged over
Utility budget billSummer AC, a cold January12 months of past usage
USDA crop insuranceFarm revenue, one weather year to the nextFive-year average historic income
Whole life premiumThe real cost of coverage, rising every yearA whole lifetime
Your agency retainerThe client’s revenue, season to seasonA 12-month revenue estimate

Sources: Experian and EnergyBot (utility budget billing), USDA whole-farm revenue protection, Guardian and Fidelity Life (whole life).

The 12-Month Number Contains the Peaks and Troughs

A fair question is how one flat number can work when the months swing this hard. Because the yearly total doesn’t ignore the swing; it already contains it.

A forecasting method called the seasonal index shows exactly how. You work out what a typical month brings in, then score every month against it. A busy month scores above 1 and a slow month below 1.

Run the modeled HVAC contractor’s numbers through the index. A $2 million year averages about $167,000 a month, so July at $250,000 scores 1.5 and October at $85,000 scores 0.51. Multiply that $167,000 average by each month’s score and you get that month’s real revenue back. The swing was inside the yearly total the whole time, and the index just shows you where it sits.

Building the index for your client

A bookkeeping firm serving HVAC contractors walks through the process, and the steps work for any home-services trade:

  1. Pull three years of monthly revenue from the client’s accounting records.
  2. Express each month as a share of that year’s total.
  3. Average the three years’ shares per month to build the index.
  4. Multiply the client’s projected yearly revenue by each month’s index to get the correct monthly figure.

For a business with three or more years of history, those monthly shares hold steady, and each July lands within 5% to 10% of what July averaged in the years before it. That consistency is what makes the 12-month figure reliable enough to price against.

Why the flat total is fair

The modeled contractor’s $250,000 July and its $85,000 October are both inside the yearly total, so a fee built from that total has already accounted for both. The same is true of any twelve-month stretch you pick. It contains one January, one July, and one of every other month. The busy months and the slow months are both in there, so neither one can push the total around on its own.

That’s what an agency is doing when it builds a 12-month attributable revenue total and prices a retainer against it. The total already holds the client’s packed July and quiet February. When every month’s revenue is inside the number the fee comes from, no month is the one that makes it unfair.

Revenue Retainers Price the Whole Year at Once

A Revenue Retainer prices the whole year in one move. Take the 12-month attributable revenue estimate, multiply by the agreed share, and divide by twelve. No single month triggers a repricing.

Go back to the modeled $2 million contractor. Its packed July and quiet February are both summed into that $2 million. The retainer is the same number in July as it is in February, and you set it once, before the year starts.

What each side gets:

  • The agency gets stable recurring revenue through the slow months, with no income dip every time the client’s demand drops.
  • The client gets a predictable number and no peak-season “are you upselling me?” friction.

In a booming July the client isn’t overpaying, and in a dead February they aren’t either. Both months were already in the total the fee came from, which is why neither one needs a phone call about the fee.

How the flat retainer gets built
The whole year is priced once, then divided by twelve
Step 1Twelve months of the client’s revenueA packed July, a quiet February, and everything between
Step 2One 12-month attributable revenue estimateThe packed July and the quiet February are both inside
↓  multiply by the agreed share
Step 3The fee for the whole yearOne number covering all twelve months at once
↓  divide by twelve
Step 4One flat monthly Revenue RetainerThe same figure in July and in February

When the number does change

You rebuild the number once a year. If the business grew 20% year over year, next year’s retainer reflects that growth and steps up. Between those yearly checks it stays put, the same way a utility bill stays flat until the provider compares the flat charge against a year of real usage and settles the difference.

A flat retainer doesn’t fit every client. Some of them genuinely shut down for part of the year, which leaves no year-round marketing to build a full-year number from. For those clients a flat fee spread over twelve months isn’t the right shape. A landscaper who really does close from November to March needs a fee built a different way.

For everyone else, pricing on outcomes instead of tasks is the stronger move, and a 12-month revenue figure is what makes the outcome stable enough to price against.

Hold One Price and Defend It

The landscaper’s slow February and the HVAC company’s packed July are both inside the 12-month total, and the flat retainer is that total divided by twelve. That division accounted for the peaks and the troughs before the year started. Rebuilding the number once a year catches real growth. Nothing is left to renegotiate every quarter, because the whole year got priced at once.

They will ask why the fee doesn’t move with the season. Point at their own power bill, which is built the same way. The flat number comes from the whole year.

What to do next:

  1. Pull three years of your client’s monthly revenue and build the index. Express each month’s average as a share of the yearly total, averaged across three years.
  2. Set the 12-month estimate using the index. Multiply the projected yearly revenue by each month’s share to confirm the peaks and troughs are inside the number.
  3. Divide by twelve to get the flat monthly retainer.
  4. Show the client the yearly total and walk them through why both the peak months and the slow months are part of it.

Ready to build seasonality into your retainer? Try the Revenue Engine now, for free.

Win Revenue-Based Retainers that Grow with Clients The Revenue Engine connects Jobber revenue with marketing spend so you can prove your value, grow your ROI, and scale your agency.
Get Free Beta Access
Lead Magnet Image

Get a FREE presentation of WhatConverts

One of our marketing experts will give you a full presentation of how WhatConverts can help you grow your business.

Schedule a Demo
WhatConverts mascot next to a calculator that says ROI
Monthly marketing spend:
Total number of monthly leads:
Total monthly sales value:
ready to get marketing clarity?

Grow your business with WhatConverts

14 days free trial Easy setup Dedicated support
G2 Best Results Summer 2026 Badge
G2 Best Relationship Summer 2026 Badge
G2 Best Usability Summer 2026 Badge
G2 Most Implementable Summer 2026 Badge
G2 Momentum Leader Summer 2026 Badge