Tracking restaurant KPIs throughout the year is like reading a weather map – you need to know the seasonal storms before they hit. Your food costs spike in winter months while revenue dips in February, but these patterns repeat annually. Understanding this rhythm helps you distinguish between normal fluctuations and genuine problems.
What is seasonality of KPIs?
Seasonality measures how much your key figures swing throughout the year. We're talking about food cost, average check, covers served, and profit margins that shift month by month.
💡 Example:
Restaurant The Four Seasons sees these patterns:
- January food cost: 32% (expensive vegetables, little local produce)
- July food cost: 28% (lots of local products)
- December revenue: €45,000 (holiday month)
- February revenue: €28,000 (quiet month)
Seasonality food cost: 14% difference between high and low
Why measure seasonality?
Without this data, you'll panic every January when food costs hit 33%, even though it happens annually. You might think February's terrible performance signals trouble, but it's just your segment's natural rhythm.
- Better planning: You know exactly when cash flow tightens
- Realistic targets: You set 30% food cost for July, 32% for January
- Strategic timing: March is slow? Perfect for renovations and staff vacations
- Supplier strategy: You anticipate price swings and adjust purchasing
The basic formula for seasonality
For each KPI, calculate the gap between your highest and lowest months. Express this as a percentage of your annual average.
Seasonality % = ((Highest month - Lowest month) / Annual average) × 100
💡 Example calculation:
Food cost per month last year:
- Highest: 33% (January)
- Lowest: 28% (August)
- Annual average: 30.5%
Seasonality: ((33 - 28) / 30.5) × 100 = 16.4%
This means: food cost swings 16% around the average due to seasons.
Which KPIs should you track?
Focus on metrics that actually move your bottom line. From years of working in professional kitchens, these five create the biggest impact:
- Food cost %: Swings wildly due to seasonal pricing and availability
- Monthly revenue: Shows your peak and valley periods
- Average check: Guests spend differently in summer versus winter
- Cover count: Pure volume changes throughout the year
- Profit margin: The combined result of all seasonal factors
⚠️ Note:
You need at least 12 months of data. One year might be weird due to COVID, construction, or other disruptions. Best approach: collect 24-36 months for rock-solid patterns.
Calculate seasonal indices
A seasonal index shows each month as a percentage above or below your annual average. This makes year-over-year comparisons much easier.
Seasonal index month = (Value month / Annual average) × 100
💡 Example seasonal indices revenue:
- January: 85 (15% below average)
- April: 105 (5% above average)
- December: 130 (30% above average)
- Annual average: 100
Now you can forecast: if your annual average hits €35,000, expect €29,750 in January and €45,500 in December.
Practical application in your planning
Seasonality data transforms guesswork into smart decisions. Use these patterns to make concrete operational choices.
- Cash flow planning: Bank December profits to cover January and February gaps
- Staff scheduling: Hire seasonal workers for peaks, reduce hours in valleys
- Menu engineering: Build seasonal menus around cheap, available ingredients
- Marketing spend: Boost advertising during naturally slow periods
- Maintenance timing: Schedule major repairs during your quietest months
Digital vs manual tracking
Calculating seasonality in Excel eats up hours and breeds errors. You're constantly collecting monthly data, building formulas, and updating charts manually.
A food cost calculator like KitchenNmbrs automatically reveals seasonal patterns once you've got sufficient data. It builds indices, tracks trends, and flags when you drift outside normal ranges.
How do you calculate seasonality? (step by step)
Collect 12-24 months of data
Record per month your key KPIs: revenue, food cost %, number of covers, average check. At least a full year, preferably two years for reliable patterns.
Calculate annual averages per KPI
Add up all monthly values and divide by number of months. This becomes your baseline that you compare each month to.
Calculate seasonal indices per month
Divide each monthly value by the annual average and multiply by 100. Values above 100 are above average, below 100 is below average.
Calculate total seasonality
Subtract lowest from highest monthly value, divide by annual average and multiply by 100. This gives you the total fluctuation in percent.
Create a seasonal planning
Use the indices to set targets per month, plan cash flow, and schedule staff. Update annually with new data.
✨ Pro tip
Review your seasonal indices every 6 months to catch pattern shifts early. If your March revenue consistently drops 15% below its historical seasonal index, your market dynamics have changed and you need to adjust strategy.
Calculate this yourself?
In the KitchenNmbrs app you can do this in just a few clicks. 7 days free, no credit card.
Was this article helpful?
Frequently asked questions
How much seasonality is normal for restaurants?
Revenue typically fluctuates 20-40% throughout the year. Food cost usually swings 10-20% due to seasonal ingredient pricing. If your revenue fluctuation exceeds 50%, you're either highly seasonal (beach resort, ski lodge) or facing structural issues.
Should I set different targets per season?
Absolutely. Set realistic monthly food cost targets based on your seasonal patterns. A 32% food cost in January might be perfectly acceptable if August runs at 28%. This prevents unnecessary panic and unrealistic expectations.
What external factors influence seasonality beyond weather?
School holidays, local events, economic cycles, and competitor actions all shift your patterns. Track which months deviate from your baseline and investigate why. Understanding these drivers helps you recognize and adapt to changing patterns.
📚 Sources consulted
- EU Verordening 852/2004 — Levensmiddelenhygiëne (2004) — Official source
- EU Verordening 853/2004 — Hygiënevoorschriften voor levensmiddelen van dierlijke oorsprong (2004) — Official source
- EU Verordening 1169/2011 — Voedselinformatie aan consumenten (2011) — Official source
- NVWA — Hygiënecode voor de horeca (2024) — Official source
- NVWA — Allergenen in voedsel (2024) — Official source
- Codex Alimentarius — International Food Standards (2024) — Official source
- FSA — Safer food, better business (HACCP) (2024) — Official source
- BVL — Lebensmittelhygiene (HACCP) (2024) — Official source
- Warenwetbesluit Bereiding en behandeling van levensmiddelen (2024) — Official source
- WHO — Foodborne diseases estimates (2024) — Official source
Food Standards Agency (FSA) — https://www.food.gov.uk
The HACCP standards shown in this application are for informational purposes only. KitchenNmbrs does not guarantee that displayed values are current or complete. Always consult the FSA or your local authority for the latest regulations.
Written by
Jeffrey Smit
Founder & CEO of KitchenNmbrs
Jeffrey Smit built KitchenNmbrs from 8 years of hands-on experience as kitchen manager at 1NUL8 Group in Rotterdam. His mission: give every restaurant owner control over food cost.
All your financial KPIs in one dashboard
Food cost percentage, gross margin, revenue per cover — KitchenNmbrs calculates it all automatically based on your recipes and purchases. Start your free trial.
Start free trial →