Quick answer
Year over year (YoY) is a comparison of a metric in one period with the same period one year earlier, usually expressed as a percentage change, which removes most of the effect of seasonal patterns.
Formula: YoY % = (this period − same period last year) / same period last year × 100
What is year over year?
Year over year (YoY) compares a metric in a period with the same period one year earlier:
YoY % = (this period − same period last year) / same period last year × 100
Because both periods sit at the same point in the year, most seasonal effects (summer slowdowns, December peaks, back-to-school) cancel out. That is why YoY is the standard growth comparison for businesses with strong seasonality.
A worked example
October website visitors (sample numbers):
| Period | Visitors |
|---|---|
| October last year | 40,500 |
| October this year | 48,600 |
YoY = (48,600 − 40,500) / 40,500 × 100 = +20.0%.
Calendar months contain different numbers of weekends from year to year. Comparing four full weeks aligned by weekday (Monday to Sunday, same week of the year) gave +17.3% in the same data: the calendar month had one more weekday than last year, which inflated the simple figure.
YoY vs MoM vs YTD
| Comparison | Compares with | Good for | Weak point |
|---|---|---|---|
| YoY | Same period a year earlier | Growth with seasonality removed | Slow to show recent changes |
| MoM | Previous month | Spotting recent changes | Mixed up with seasonal swings |
| YTD | Sum since January 1 | Progress towards an annual target | Not a growth rate by itself |
| WoW | Previous week | Operational monitoring | Noisy |
Five pitfalls with traffic and product data
- Weekday mix. Align by weekday or use full weeks, as above.
- Moving holidays. Easter, Black Friday, Lunar New Year and Ramadan change dates. Compare the event windows, not the calendar weeks.
- Tracking changes. A new consent banner, a script added to more pages or bot filtering between the two years changes the numbers without any real growth.
- Base effects. Growth from a very small or very bad base looks enormous (or a strong base makes this year look weak).
- Compounding. Two years of +20% is +44% over two years, not +40%. Use compound growth for multi-year comparisons.
Running YoY in TapCub
The comparison menu in TapCub's web analytics offers the previous period and the same period last week; there is no one-click "last year". For YoY, set a custom date range for this year, note the totals, then set the same range a year earlier (aligned by weekday where it matters). Daily aggregates contain no personal data and are not deleted by the retention timers, so aggregate reports can go back further than raw event rows. Add annotations for tracking changes, so a jump caused by new tracking is visible on next year's chart too.
See also
Was this explanation clear?
We use your answers to fix and expand this page.
Couldn’t send. Please try again in a minute.
Thanks for the feedback. We’ll use it to improve this page.You’ve already sent feedback on this page. Thanks.

Data Analyst
Explores traffic sources, conversion funnels, and retention, using clear metric definitions and concrete examples to explain what the numbers mean.