Year Over Year Growth: The Formula, the Traps and How to Chart It

Calculate year over year growth with worked examples. Check zero or negative baselines, seasonal effects, partial periods and YTD totals before charting the result.

Published Oct 29, 20264 min read

Year over year growth compares a period with the corresponding period a year earlier. For a seasonal shop, comparing January with last January can be more informative than comparing it with December. It still needs context: a positive YoY figure does not by itself prove that the business is healthy, and a monthly decline should not be dismissed as seasonal without checking.

The year over year growth formula

Take this period, subtract the same period last year, and divide by the same period last year:

YoY growth = (this period − same period last year) ÷ same period last year

Say a shop made $84,000 in December 2025 and $70,000 in December 2024. The difference is $14,000, and $14,000 ÷ $70,000 is 0.20, so December grew 20 percent year over year. The denominator is always last year's figure. Divide by this year's number instead and you get 16.7 percent, which is a different and less useful answer.

How it reduces some seasonal effects

Month over month growth compares neighbours, so every seasonal swing shows up as growth or decline. Suppose the same shop made $60,000 in November 2025. December's month over month change is +40 percent, and if January 2026 comes in at $52,000, January's is about −38.1 percent. Without more context, neither figure separates the seasonal pattern from changes in demand.

Now compare January with January. If January 2025 was $45,000, then January 2026 is up $7,000, or about 15.6 percent. The comparison may reduce a recurring post-holiday pattern, but weather, promotions and working days can differ. YoY does not automatically remove those effects. The two measures answer different questions, and the month over month growth piece covers when the short-term view is the right one.

When last year was zero or negative

The formula breaks when the base is zero: you can't divide by it. If a product line had no sales last March, its growth rate is undefined, not infinite and not 100 percent. Write "new" or "n/a" and show the absolute figures.

Negative bases are sneakier because the formula still returns a number. A company that lost $20,000 last year and made a $10,000 profit this year gets (10,000 − (−20,000)) ÷ (−20,000) = −150 percent, which looks like a collapse. A loss that shrinks from $20,000 to $5,000 comes out at −75 percent, again pointing the wrong way. For profit, cash flow or anything that can cross zero, describe the change in money ("improved by $30,000") or say the business swung from loss to profit. Some analysts divide by the absolute value of the base, but if you do that, say so.

Partial periods, calendar shifts and changed definitions

Comparing the first 28 days of October with all 31 days last year uses unequal periods. Even at identical daily sales, the shorter period has about 9.7% less time; the actual bias depends on the missing days’ sales. Match the days: October 1–28 against October 1–28.

The calendar itself also moves. March 2025 had five Saturdays and March 2026 has four, so a weekend-heavy shop starts March 2026 with one fewer big day. Movable holidays can also shift demand between comparable calendar periods. A leap year gives February an extra day, about 3.6 percent more time than a 28-day February. When the effect matters, compare per trading day or note it beside the chart.

Then there are definition changes. If "active user" meant a login last year and a completed action this year, or if the region gained three new stores, the year over year figure mixes real growth with a change in what is being counted. Restate last year on the new definition, or compare like for like, such as stores open in both years, and label it.

YTD versus single-month YoY

A single month is noisy. Year-to-date growth adds up every month so far and compares the totals. With January to March 2025 at $45,000, $48,000 and $55,000, and 2026 at $52,000, $50,000 and $66,000, the totals are $148,000 and $168,000. That is $20,000 more, or 13.5 percent year to date, while the single-month figures are 15.6, 4.2 and 20 percent. Use YTD for the overall pace and single months to spot when something changed. Never average the monthly percentages to get YTD; sum the values first.

How to chart year over year growth

Show the values, not just the percentages. Put the months on the x-axis and draw two bars per month, last year and this year, side by side. Readers see the size of each month and the gap between years at the same time. Then add the growth rate, either as a small label above each pair when you place the chart in a slide or report, or as a separate line chart of the percentages directly underneath, with the same months on the axis.

In a spreadsheet that means one column for the month, one for last year, one for this year, and a growth column computed with the formula above. Paste the first three into the bar graph maker for the grouped bars, and paste the month and growth columns into the line graph maker for the rate. Keep the bar axis starting at zero. On the growth line, any point below 0 percent is a month that shrank, so make sure the axis range includes zero and those dips are visible.

What this can't do yet

The free bar and line graph makers draw the numbers you paste; they do not calculate year over year growth, align partial periods or adjust for calendar shifts, so add the growth column in your spreadsheet first. Each chart is one type at a time, so values as bars and growth as a line means two charts. There are no scatter, radar, bubble, gauge or heatmap chart types — only bar, horizontal bar, line, area, pie and donut. There is no server-side batch chart generation API. The AI spreadsheet workbench can compute growth rates from an uploaded file, but it requires signing in and uses EndTo credits.

Frequently asked questions

How do you calculate year over year growth?

Subtract the same period last year from this period, then divide by last year's figure. For example, $84,000 this December against $70,000 last December is a $14,000 increase, or 20 percent growth.

What is the difference between year over year and month over month growth?

Year over year compares the corresponding period a year earlier and can reduce recurring seasonal effects. Month over month compares neighbouring months. Both need context about holidays, trading days, promotions and definition changes.

What if last year's value was zero?

The growth rate is undefined because you cannot divide by zero. Label it as new or not applicable, and show the absolute values so readers can still see how big the change was.

Can year over year growth be calculated from a negative number?

The formula gives a number, but the sign is misleading: a loss that turns into a profit can show as a large negative percentage. Describe the change in absolute terms or say it swung from loss to profit.

Should I report YTD growth or single-month growth?

Use year-to-date growth for the overall pace, because it smooths out noisy months. Use single-month figures to find when something changed. Calculate YTD from summed totals, not by averaging monthly percentages.

What is the best chart for year over year comparison?

Grouped bars with last year and this year side by side for each month show both the values and the gap. Add the growth rate as labels or as a separate line chart that shares the same months.

Keep reading