Skip to the tool
Just Better Marketing PPC Tools

Free tool · Google Ads · Runs in your browser

Seasonality and demand calendar: your account's own pattern, and whether it is a season or a trend

Every "December is always busier" claim on the internet is somebody else's December. This works from your own history instead, indexes it against your own average, and then does the check almost every free seasonality page skips: whether the variation you are looking at is a repeating season, or just growth that makes later months look better.

✔ Your own average, not an industry one ✔ Trend-versus-season test ✗ No forecast, ever

1. Your own history

One period per line, oldest first. Nothing is uploaded.

A ratio is indexed too, and read the other way round. See below.

One per line as label,value. A bare number works too. Blank lines and lines starting with # are ignored. At least 6 periods, up to 36.

Load 24 sample periods · Clear

Why your own data and not a benchmark. A garden centre and a B2B software company do not share a December, and an index borrowed from either would be confidently wrong for you. Every figure on this page is measured against your own average, so the only thing it can tell you is about your account.

Headline

Waiting
Your peak index — enter 6+ periods
Variation — enter 6+ periods
Season, or trend? — trend or seasonality

The indexed chart, the per-period table with month-on-month change, the budget-shape comparison and the CSV export unlock below.

Unlock the full calendar

Free

Get the indexed chart for every period, the table with month-on-month change and share of the year, the trend check explained, where an even budget runs out first, and a CSV of the lot.

Already unlocked? Reset the gate.

Why most seasonality pages cannot be trusted

Because a curve imported from a category average cannot describe your account, and because most of them finish by drawing a line through the historical points and calling the result a forecast. Both steps are avoidable.

The benchmark problem

A published seasonal index is an average across every advertiser in a category, which mixes a B2B software company with a garden centre and returns a number true of neither. Plotted against your own data it will look authoritative and steer your budget badly, and you will have no way of knowing, because it will not look wrong. This tool has no benchmark at all. It indexes your periods against your own mean, so 100 means "typical for you" and nothing else.

The forecast problem

Extending a line into the future measures the shape of the past, not the behaviour of the market. Demand shifts, competitors appear and leave, and your own conversion rate moves independently of both. A tool that shows you next month as a confident figure is showing you its own assumption with a currency symbol on it. This one refuses, permanently, and says so in the export as well as on the page.

The trend problem

An account that grew steadily for two years has a high coefficient of variation and no seasonality whatsoever. Read as a season, it tells you to spend more in the months that are simply later. The fix is a half-and-half comparison, which this tool does before it says anything about peaks and troughs.

The single-metric problem

One series cannot tell you why a month was strong. Spend, conversions and cost per acquisition can all peak together because demand rose, or separately because you started bidding harder for the same inventory. The tool says which metric you are looking at and refuses to attribute a cause, and the action list tells you to check a second metric before acting.

The method, in full

Every threshold this page uses is written out below, including the ones that are judgement rather than fact. If a number matters to your decision and it is not here, ask before you rely on it.

The formulas

  • Average per period = total ÷ number of periods
  • Standard deviation = sample standard deviation, denominator n−1
  • Coefficient of variation = standard deviation ÷ average
  • Seasonal index = period value ÷ average × 100
  • Share of the year = period value ÷ total × 100
  • Even-spread gap = share of the year − (100 ÷ periods)
  • Peak to trough = strongest period ÷ weakest period
  • Trend ratio = second-half average ÷ first-half average

The bands, and what they are worth

The coefficient-of-variation bands are our judgement, not a published standard. They are here so the number means something specific, and so you can disagree with them. The sample standard deviation uses n−1 because a short series is exactly the case where the spread matters, and the population figure would understate it.

What this tool refuses to do

  • No forecast. Not next month, not next quarter, not a best case. A seasonal pattern is not a prediction, and the export says so in writing.
  • No industry benchmark. A category average describes a category.
  • No cause. One metric cannot separate demand from competition from conversion rate.
  • No index below six periods. With fewer, one unusual month owns the average and every index is a restatement of that month.
  • No upload. Your figures are typed into your own browser and are never transmitted, stored, or logged.

How to read the four numbers

The index answers "is this period usual for you". The coefficient of variation answers "how much does your account move at all". The share of the year answers "where is the money needed". The even-spread gap answers "where does a flat budget run out". None of the four forecasts anything, and each answers a different question, so reading them as one number is the usual mistake.

Index 100 is your own average, not a target

A period at 100 was exactly typical. 150 means half again your average, 70 means 30% below it. The index says nothing about whether that is good. On conversions, 150 is a strong month. On cost per acquisition, 150 is an expensive month wearing the same figure. A month at 110 is also not a problem: most seasonal accounts have several, and treating the top of the range as a crisis is how a normal year gets managed like a bad one.

The coefficient of variation scales, it does not judge

Because it divides the spread by the average, the figure is comparable across accounts of very different sizes, which is what makes it worth printing. It measures movement, not quality: a very stable account on an unprofitable margin is stable. What it is good for is deciding whether your budget needs a seasonal shape at all, and that is a budget question rather than a judgement about the account.

Share of the year is the budgeting number

If a period carries 18% of the year's conversions, an even annual budget gives it 8.3% of the money, and it will be short in exactly the month it can least afford to be short. The share is also the only figure here that adds up to 100%, which makes it the one to hand to whoever sets the annual budget.

The gap is what an even budget gets wrong

The gap is the share minus the even share: positive where a period carries more than its turn, negative where it carries less. It is the most actionable number on the page and the least quoted one, because it requires a denominator. A gap of minus 5 points means that period is being funded at roughly 40% below what its own share of demand justifies.

Which metric to run, and what a ratio means

Run it on conversions first, because that is the series you are actually optimising for. Then run it again on cost per acquisition, and read the two together. A month where both peak together is a month where demand moved. A month where spend peaks but conversions do not is a month where the extra budget bought competition rather than results, and the seasonality there is on the cost side.

Volume metrics: spend, conversions, value

These index the same way and read the same way: high is more of the thing you are optimising for. Spend is the one to be careful with, because spend can be high because demand was high or because you were bidding harder. A spend index of 150 alongside a conversions index of 105 is not a good month; it is a month you paid half again as much for five percent more results.

How to read a ratio

Cost per acquisition and return on ad spend are indexed the same way as volume, but they read in opposite directions. An index of 150 on conversions means a strong month. An index of 150 on cost per acquisition means you paid half again as much per conversion as usual, which is a bad month wearing the same number. Change the metric selector and the page restates which one you are looking at, and reverses the bar colours to match, rather than leaving you to remember.

How to use this without fooling yourself

Start with two full years

Twenty-four periods is the point at which a peak can be told apart from a one-off. With twelve you have one of each calendar month, which shows the shape but cannot show whether it repeats. If you only have twelve, read the indices as a description of the last year rather than as an expectation, and treat the peaks as candidates to confirm rather than facts.

Then check a second metric

Run it on conversions, then on cost per acquisition. If both peak in the same months, the shape is in the demand. If spend peaks while conversions do not, the extra budget was buying competition rather than results, and the seasonality is on the cost side rather than the volume side. That single second run is worth more than any adjustment to the first.

Do not correct for a trend

If the tool flags your series as trend-dominated, the honest response is not to raise January and cut March. It is to budget on your current run rate and stop reading the monthly indices as seasonal. Correcting for growth you can see in the numbers is how budgets get set from arithmetic that was never about the season.

Shape the budget, not the bid

Seasonality is mostly a budgeting question. A period carrying 18% of the year's demand does not want a 30% higher bid; it wants the money to be there when the demand arrives. Seasonal bidding strategies exist, but they are a different decision with different risks, and this tool says nothing about them because your history cannot tell you whether one will pay for itself.

Five ways to get this wrong

Each of these is a way of turning a correct measurement into a wrong decision. None of them is a mistake in the arithmetic, which is why they survive so long.

  1. Reading a growth curve as a season. The most expensive one, and the reason this tool tests the halves before it names a peak. An account growing 5% a month has a high variation figure and no seasonality at all.
  2. Assuming the peak is a problem. A February index of 130 in a seasonal business is the year working. Treating it as a problem leads to cutting the one month that pays for the other eleven. The question is not whether a period is high, but whether the budget is shaped like the demand.
  3. Comparing a peak to a trough instead of to the average. Peak-to-trough is a dramatic number and a bad one to plan with, because it compares the two most extreme points and ignores the other ten. The index and the share are the figures that describe the year.
  4. Applying a seasonal shape to a metric you did not check. The shape of spend and the shape of profit are different questions. A business can be busier and less profitable in the same month, and a budget raised on volume alone will fund that.
  5. Using last year's index as this year's plan. The index describes the series you entered. Carrying it forward assumes the season repeats exactly, which is the assumption a forecast would make, and this page makes it nowhere.

Your numbers never leave the page

What happens to your history

The figures you type are held in the page, in your browser's memory, for as long as the tab is open. They are read by the calculator running on this page and written to nothing. There is no upload of the data, no request carrying it, and no storage of it anywhere. Closing the tab discards it.

The only thing this page sends is the lead form, and only if you fill it in: a name, an email address, and anything you type into the optional fields. The data you pasted into the calculator is not part of that submission.

What it will not do with the data

  • No third-party scripts. No analytics, no tag manager, no fonts, no CDN, nothing loaded from another host.
  • No account connection. Nothing is read from Google Ads, so there is no credential to leak and nothing to revoke.
  • No storage. The series is in a variable in the page. It is not written to local storage, a cookie, or a file.
  • No profile. The calculator does not build anything about you, because the data never leaves the tab.

Everything here is arithmetic you can check by hand, which is the most reliable privacy guarantee available: if the data cannot leave, it cannot be used to profile you.

Seasonality questions, answered properly

What is a seasonal index?

A seasonal index expresses each period as a percentage of your own average across the series. An index of 100 means that period was typical for you, 150 means it was half again as strong as your average, and 70 means it was 30% below it. The average it measures against is your own, not an industry one, so the index describes your account rather than your sector. A peak in February is only a problem if February is not usually your peak.

How is the coefficient of variation used?

The coefficient of variation is the standard deviation of your series divided by its mean, which expresses the size of your swings relative to your typical level. 10% means your periods vary by about a tenth of your average; 100% means they vary by as much again as the average itself. The bands this tool uses are judgement rather than a published standard, and they are printed on the page so you can disagree with them. A high figure on a metric like cost per acquisition means cost pressure, not opportunity.

What is the difference between seasonality and a trend?

Seasonality is variation that repeats, so March is reliably strong whether it is the first March or the third. A trend is movement in one direction over time, so every later month is simply higher than every earlier one. The two are easy to confuse and produce opposite advice. This tool splits your series in half and compares the two halves: if the later half differs from the earlier one by more than 15%, the variation is trend-dominated and the monthly indices are measuring growth rather than season. The only comparison that separates them properly is the same calendar month year on year.

Why does this tool not forecast next month?

Because a seasonal pattern is not a forecast, and the gap between the two is where bad budget decisions come from. Knowing that November has historically been strong does not tell you what next November will do: demand can shift, your competitors can change, and your own conversion rate can move independently of either. Any tool that hands you a next-month figure is projecting a shape, not measuring one. This page gives you the pattern, tells you how much of it to trust, and stops there.

How many months of history do I need?

At least six, and ideally 24. Six is the floor because a shorter series lets one unusual month distort the average that everything is indexed against. 24 gives you two of each calendar month, which is the point at which you can tell a recurring peak from a one-off. With fewer than 24 the tool says so and recommends the comparison instead of pretending the pattern is established.

Sources and method

What comes from standard statistics

The seasonal index is a value divided by its series mean, expressed as an index with the mean at 100. The coefficient of variation is a standard deviation divided by a mean, and is the conventional measure of dispersion for series whose level varies. The sample standard deviation uses n−1. Concentration as a top-n share of a total is a standard measure of how dependent a total is on a few of its parts.

That is the whole of the platform-adjacent input. This tool makes no claim about Google Ads behaviour at all, because seasonality in an account is a property of the account, not of the platform. Nothing here depends on how bidding, budgets or reporting work.

What is judgement, and whose

Standard: the index, the coefficient of variation, the sample standard deviation, the top-3 share, and the even-spread comparison.

Judgement, and marked as such on the page: the coefficient-of-variation bands (flat / mild / noticeable / strong / extreme), the 15% half-and-half threshold for calling a series trend-dominated, the six-period minimum, and the bar-chart scale. These are our choices, stated so they can be argued with.

Not asserted anywhere: any forecast of a future period; any industry or category benchmark; any explanation of why a period is strong or weak; any year-on-year comparison, which needs month labels grouped by calendar month rather than in date order.

Last reviewed 2026. Your own history is the only evidence this page accepts, and if it disagrees with the tool, your history is right.