How to account for seasonality in revenue forecasts
Last updated: July 24, 2026
From the SoleOS answers series — written about our own product space; grounded in published definitions and documented behavior, never invented numbers.
Naive trend-fitting assumes whatever happened last month keeps happening — which breaks the moment revenue moves in cycles instead of a straight line. If your business has a real seasonal pattern (holiday gifting, back-to-school, fiscal year-end budget flushes), the fix isn't a fancier trend line, it's comparing the same period across years and being honest about how little data you have to work with.
Why naive trend-fitting breaks for seasonal businesses
Most simple forecasting methods — a linear fit on the last three or six months, or a moving average — assume the recent slope is the future slope. That works fine for a business growing steadily. It fails the moment a chunk of revenue is tied to a calendar event rather than to underlying growth.
Say a small e-commerce or coaching business does $8,000 in MRR most months, then December hits and gift purchases push it to $14,000. A trend-fit model looking at October, November, and December sees a business accelerating hard and extrapolates that slope into January and February — predicting something like $18,000 and $22,000. What actually happens is January drops back toward $8,000, because December pulled forward demand that would otherwise have landed later. The model isn't wrong about the math; it's wrong about the assumption. It read a seasonal spike as a growth trend and extrapolated a fantasy.
This is a common way solo founders get burned by their own projections: a good month gets read as "we've found a new level," a plan gets built around it (a hire, an ad spend increase), and the seasonal pullback makes the plan collapse. The fix isn't to distrust growth — it's to ask why a period moved before extrapolating it. For more on the general failure modes of short-window forecasting, see our piece on why short-window MRR projections drift from what actually happens.
How to recognize seasonality: year-over-year, not month-over-month
The tell for seasonality isn't "this month is different from last month" — some month-to-month variance is normal noise. The tell is a repeating pattern: the same calendar period behaving similarly across multiple years.
Concretely: instead of comparing November to December, compare this December to last December, and last December to the one before that. If a coaching business spikes every December and dips every February, two or three years of that shape repeating is a real signal. One big December with no prior December to compare it to could just as easily be a one-off launch or a single large client — not seasonality at all.
A simple gut-check: plot revenue with each year as its own line, month 1 through 12, laid on top of each other. If the lines rhyme — bumps and dips landing in the same months — you likely have a seasonal pattern. If the lines look unrelated, building a forecast around a "seasonal adjustment" would just be inventing structure that isn't there.
Why you need at least a year of data — ideally more
Here's the uncomfortable part: you cannot reliably detect seasonality from a single cycle. If all you have is one December spike, you have one data point on "what December looks like," not a pattern. Seasonality, by definition, is something that repeats — and you can't confirm a repeat with a sample size of one.
A full year of history tells you a cycle shape existed once. It doesn't tell you whether that shape is a true recurring pattern or a coincidence — a big client renewal that happened to land in December, a marketing push you ran that month, a competitor's pricing change that pushed customers your way temporarily. Two years starts to separate signal from noise: if the same months move the same direction both times, that's a stronger case for a real cycle. Three or more years is where you can start putting rough confidence behind the size of the effect, not just its existence.
This is why seasonal adjustment is one of the last things a solo founder should model formally, not one of the first. If you're less than a year in, you don't have a seasonality question yet — you have a "we don't know what normal even looks like for us" question, and that's a different, more urgent problem to solve first.
Simple, honest approaches for a solo founder
You don't need a statistical model to handle seasonality. A few low-effort habits go a long way:
- Compare to the same period last year, not last month. If you're forecasting December, look at what December did last year (and the year before, if you have it) rather than extrapolating from October and November. Even a rough "last December ran about 40% above baseline, expect something similar" beats a trend line that has no idea December exists.
- Adjust expectations around cycles you already know about, even without formal modeling. If you sell to schools, expect a lull in summer. If you sell to businesses with calendar fiscal years, expect a bump in Q4 as budgets get spent down. You don't need years of your own data to know these broad patterns exist — you do need your own history to know how your business specifically responds, and by how much.
- Don't over-model with thin data. Resist building a month-by-month seasonal index off one year of numbers — that's really just last year's noise wearing a formula. A plain-language note ("expect a seasonal bump here, size unknown") is more honest than a spreadsheet formula implying precision you don't have.
- Separate the seasonal story from the growth story. When you see a spike, ask which you're looking at — an underlying trend with a calendar bump on top, or the calendar effect being the whole story? Tracking both trend and actuals side by side, the way portfolio metrics are meant to be read, keeps the two from collapsing into one number.
The limit: with under a year of history, treat it as a guess
If you have less than twelve months of revenue history, be honest with yourself: any seasonal forecast you produce is a guess dressed up as an estimate. You can note a pattern might exist — "we saw a bump around the holidays, worth watching next year" — but you cannot yet claim to know its size or confirm it's real rather than a one-time event.
The right posture at that stage is humility, not modeling. Keep a plain baseline forecast (recent trend, smoothed over a few months rather than the single best or worst one), flag any period where you have a specific reason to expect a deviation, and wait for a second cycle before you trust the pattern with money — hiring or spend commitments. Forecasting is already an exercise in being usefully wrong; seasonal forecasting off one data point just adds false confidence to it. Our guides section has more on building that baseline, including the difference between tracking ARR and MRR when your revenue is uneven month to month.
SoleOS publishes guides like this one from patterns we see building portfolio-tracking tools for solo founders — treat it as a starting framework, not financial advice specific to your business. If you're already comfortable eyeballing a spreadsheet and mentally adjusting for last December, you probably don't need a dedicated tool to do that for you.
Frequently asked questions
How many years of data do I really need before I trust a seasonal pattern?
There's no magic number, but one cycle isn't enough — it's a single observation. Two repeating cycles start to suggest a real pattern; three or more let you trust both the pattern's existence and its rough size. Under a year, you don't have enough to detect seasonality at all, only to note something worth watching.
My business is only 8 months old but I saw a clear holiday bump. What should I do?
Note it and move on — don't build it into your forecast as a confirmed effect yet. Write down what happened (which months, roughly how much), then check next year whether the same months repeat. Until then, treat the bump as an interesting one-time observation, not a modeled seasonal factor.
Can I borrow seasonality assumptions from my industry if I don't have my own history yet?
Cautiously, yes, for broad direction — a summer slowdown if you sell into schools, or a Q4 bump if you sell to businesses on calendar fiscal years, is reasonable to expect before you've lived through it. But the size of that effect is specific to your business and pricing, and you won't know it until you've measured it over at least one full cycle.
What's the difference between a real seasonal pattern and a one-off spike?
Repetition. A seasonal pattern shows up in the same calendar period across multiple years. A one-off spike — a press mention, a large deal, a referral surge — happens once and doesn't recur the following year in that same window. The only way to tell them apart is watching whether the period repeats next time around.
Should I smooth out seasonal months when calculating my growth trend?
Look at both views rather than picking one. Comparing same-period-year-over-year gives a cleaner read on underlying growth than comparing a peak month to the flat month before it. But don't discard the seasonal months from your actuals — they're real revenue. The goal is separating the seasonal component from the trend component in how you read the numbers, not removing data from the record.