If you run PPC for HVAC, roofing, or landscaping clients, you’ve had this conversation. The client’s revenue changes with the season, so a fee tied to monthly revenue looks as though it should change too. Does that mean you have to renegotiate every few months?
No. You can build one flat monthly retainer that already accounts for the client’s busy and slow seasons. Start with annual attributable revenue—the sales you can trace to leads your marketing generated, rather than to walk-ins or referrals.
Estimate twelve months of that revenue, multiply it by the agreed percentage, and divide the annual fee by twelve. The busy-season peaks and slow-season troughs are already inside the yearly estimate, so no single month changes the fee. Utility budget billing uses the same averaging principle to turn seasonal usage into one predictable monthly payment.
This article is about your agency’s fee, not the client’s campaign budget. Media spend and campaign pacing may still change with demand. Here’s how to explain why your retainer doesn’t have to.
Seasonality Is Real, but It Doesn’t Require Seasonal Pricing
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 three months, while payroll, rent, insurance, and truck payments stay steady. The $165,000 difference is roughly three months of payroll for a 10-person company.
If you recalculate the agency fee from each month’s revenue, your income follows the same curve. Ad costs also move with the season, but that’s a separate issue. We’ve covered why a seasonal CPC change says little on its own about campaign performance. Here, the question is how to keep the agency fee stable while client revenue moves.
How large can that swing be? HVAC search terms vary 90% to 600% between their busiest and quietest months, with separate cooling and heating peaks:
- AC repair searches climb 266% into July.
- Furnace repair climbs 137% into January.
Search demand doesn’t map perfectly to completed revenue, but service data confirms that the underlying demand is seasonal. An analysis of 65 million HVAC service trips found that October was the busiest month because lingering cooling work overlapped with furnaces turning on. September was the quieter month between the cooling and heating seasons.
Each trade has a different seasonal pattern
Roofing has a narrower range. Its search demand varies 25% to 70% across the year, well below HVAC’s range. Demand peaks in spring and fall, with a slower stretch in winter.
Plumbing is steadier overall, but individual services can spike. “Frozen pipe repair” rises 609% from August to January, the largest single-keyword swing across the four trades. By comparison, “plumber near me” changes only 36% between its July high and December low.
Search demand swings hardest in HVAC, least in roofing
| 90% to 600%HVAC terms swing this much from peak month to valley | 25% 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.
The takeaway is simple: seasonality is real, but it isn’t uniform. A fee recalculated from monthly revenue would move differently for every trade and service line. That’s especially difficult for HVAC and plumbing accounts, where one seasonal spike can change the revenue picture for an entire quarter.
Changing the Fee With the Season Creates the Wrong Conversation
One common response is to raise and lower the retainer with demand. A marketing-agency pricing guide makes the case directly: “If you’re a landscaper who only advertises April through October, paying a flat retainer year-round doesn’t make sense.” Its recommendation is to “ramp up during your busy season and scale back during slower periods.”
Let’s picture a landscaper on that arrangement. Their retainer rises in April when campaigns ramp up and falls in November when demand slows. Each change requires notice, a scope discussion, and a new number on the invoice.
That can mean four to six pricing conversations a year. And every one raises the same question for the client: Am I paying for results, or am I paying more because the agency is busier?
Two problems return every season
The fee rises before the result does. Seasonal pricing often pegs the agency fee to ad spend. When the client increases the budget for peak season, your fee rises immediately—before the additional spend produces a single job. The client supplies the capital and carries the performance risk while the agency earns more for managing a larger budget. One pricing analysis summarizes the objection: “You’re asking us to take more risk while you take none.”
The incentive becomes harder to trust. Every peak season, you recommend raising spend. If your fee rises with that spend, the client has to decide whether the recommendation serves their results or your revenue. That concern often appears in contract language. One documented clause says, “If client’s ad spend increases more than 25%, we’ll review scope and fees.” A seasonal client can trigger that review every year.
For a business with steady demand, that may be a one-time growth conversation. In home services, it returns with the weather. Every cycle reopens how you structure the fee.
A flat fee doesn’t mean the price never changes
Your fee can still change when the client’s business changes. Rebuild the annual estimate once a year, then adjust the retainer for the next period. You can also define growth milestones that trigger a review. The goal isn’t to freeze the fee forever; it’s to stop normal seasonality from reopening it every few months.
Ramping the fee means four to six pricing talks a year
The problem is repricing the account just to follow a predictable seasonal curve. Lowering the fee during slow months can also mean reducing the work, which is the opposite of keeping campaigns active through the slow season. A better fee holds through normal seasonality and changes when the client’s underlying business changes.
Read the Article – Introducing the Revenue Retainer: A New Way to Price Agency Work
Budget Billing Shows How to Average a Seasonal Year
Your utility company uses a familiar version of this idea: budget billing. It estimates a full year of usage and spreads the cost across equal monthly payments, even though summer cooling and winter heating can push individual months far above the average.
Here’s the basic calculation:
- The provider estimates $1,800 in charges for the year.
- You pay $150 each month instead of paying the exact seasonal charge.
- The provider reviews the estimate every six to twelve months and settles any difference through a credit or additional bill.
Budget billing doesn’t reduce the total cost. It makes the timing predictable by putting the whole year inside one monthly average. That’s the part that maps to a Revenue Retainer. The settlement mechanics don’t: a Revenue Retainer doesn’t retroactively bill or refund normal forecast variance. It uses the annual review to set the next period’s fee.
Other seasonal models also use a wider time window
Utilities aren’t the only example. The USDA insures farm revenue using a five-year average of what the farm has earned. Farm income is highly dependent on weather, so one unusual year shouldn’t define the entire baseline. Both models use a wider window instead of treating the latest result as normal.
The matrix below compares four ways of using a wider window: utility budget billing, USDA crop insurance, a whole life premium, and an agency retainer. The mechanics aren’t identical. What they share is a refusal to reset the customer’s number every time the underlying cost or revenue changes.
Each model uses a wider window to smooth short-term swings
Sources: Experian and EnergyBot (utility budget billing), USDA whole-farm revenue protection, Guardian and Fidelity Life (whole life).
The Annual Estimate Already Includes the Peaks and Troughs
How can one flat fee work when the months look so different? Because the annual estimate doesn’t ignore seasonality. It includes every busy and slow month before you calculate the fee.
A seasonal index makes that pattern visible. First, calculate the average month. Then compare each month with that average. A busy month receives an index above 1, while a slow month receives an index below 1.
For the modeled HVAC contractor, $2 million in annual revenue averages about $167,000 a month. July’s $250,000 produces an index of 1.5, while October’s $85,000 produces an index of 0.51. Multiply the average month by either index and you recover that month’s revenue. The index doesn’t add seasonality to the forecast; it shows where seasonality already sits inside the annual total.
How to build the client’s seasonal pattern
A bookkeeping firm serving HVAC contractors outlines a process you can adapt to any home-services trade:
- Pull three years of monthly revenue from the client’s accounting records.
- Calculate each month’s share of its year’s total revenue.
- Average the same month across all three years to estimate its typical share of annual revenue.
- Multiply projected annual revenue by each monthly share to estimate the next year’s seasonal pattern.
For a business with at least three years of history, those monthly shares can remain fairly stable. Each July may land within 5% to 10% of the previous July average. That consistency makes the annual pattern useful for forecasting, while the yearly total provides the basis for the fee.
Why the annual calculation is fair
The modeled contractor’s $250,000 July and $85,000 October both contribute to the same annual total. A fee based on that total has already accounted for both months. A full calendar year contains every part of the client’s normal seasonal cycle, so no single peak or slowdown determines the fee by itself.
That’s what you’re doing when you forecast 12 months of attributable revenue and price a retainer from it. The estimate includes the client’s packed July and quiet February. The client pays the same monthly fee because the calculation is annual, not because the agency is pretending every month performs the same.
Calculate the Revenue Retainer From the Whole Year
The calculation is straightforward: estimate 12 months of attributable revenue, multiply that estimate by the agreed percentage, and divide the annual fee by twelve. The result is one monthly retainer that already includes expected seasonality.
Go back to the modeled $2 million contractor. Its busy summer and slower months are both included in that $2 million. Once you apply the agreed share and divide the annual fee by twelve, the monthly retainer is the same in July and February.
Both sides gain something:
- The agency gets predictable recurring revenue instead of an income drop every time demand slows.
- The client gets a predictable fee without having to question a peak-season increase.
The client isn’t paying for July in isolation or February in isolation. They’re paying one-twelfth of a fee based on the full year. That’s why neither month needs its own pricing conversation.
The whole year is priced once, then divided by twelve
Read the Article – What Percentage Should You Charge? 5%, 10%, or 15% of Revenue
When should the fee change?
Rebuild the forecast once a year. If the business grew 20%, use the new data to set the next year’s retainer. Between annual reviews, the fee stays in place. Utility providers also compare estimates with actual usage, but remember the difference: utilities may settle the old period with a credit or bill, while a Revenue Retainer uses actual results to improve the next period’s forecast.
A 12-month retainer won’t fit every client. Some businesses truly stop operating or advertising for part of the year. If there’s no year-round marketing program, spreading the fee across twelve months may not make sense. A landscaper that closes from November through March needs a different structure.
For clients with year-round operations, pricing outcomes instead of tasks can still work in a seasonal business. The 12-month revenue estimate gives you a stable basis for the fee.
Real Results: 2x Ad Budget, 2x Clients – ROI Reporting Fuels Growth
Build Seasonality Into the Fee Once
A slow February and a packed July can both belong in the same annual forecast. Apply the agreed percentage to that 12-month attributable-revenue estimate, then divide the annual fee by twelve. You’ve accounted for normal peaks and troughs before the year begins. An annual reforecast captures real growth without reopening the fee every season.
When the client asks why the fee doesn’t move with the season, show them the annual calculation. Utility budget billing can help explain the averaging principle, but the strongest proof is their own forecast: every month is already inside the number.
What to do next:
- Pull three years of monthly revenue and calculate each month’s typical share of the annual total.
- Build the 12-month attributable-revenue forecast and use the monthly shares to confirm that the expected peaks and troughs are represented.
- Multiply the annual attributable-revenue estimate by the agreed percentage to calculate the fee for the year, then divide that fee by twelve.
- Show the client the annual calculation so they can see that both peak and slow months are included.
Ready to build seasonality into your retainer? Try the Revenue Engine for free.

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