How to compare Hari Raya sales year on year, fairly
SalesHari Raya moves about 11 days earlier every year, so March vs March misleads. Compare Hari Raya sales year on year by festival week instead. Worked example.
Why the calendar lies at festive time
Most sales reports compare this month with the same month last year. For most of the year that works well. Around the big festivals in Malaysia it can give you exactly the wrong answer.
The reason is simple: the festivals do not stay on the same date. If the festive rush was in April last year and in March this year, then March looks wonderful and April looks terrible, even if the business did not change at all.
How the festivals move
Hari Raya Aidilfitri follows the Islamic calendar, which is based on the moon and is about 11 days shorter than the normal year. So Hari Raya arrives about 11 days earlier each year. Over three years it moves back by about a month.
Chinese New Year follows the lunar calendar too, but with leap months to keep it near the same season. It falls somewhere between late January and mid February.
Deepavali falls in October or November, depending on the year.
So any comparison by calendar month, or by week number, can put the festive rush in one period this year and in a different period last year.
Align by festival, not by date
The fix is to line the periods up by the festival itself. Count the weeks from the festival day: the two weeks before Hari Raya, Hari Raya week, and the two weeks after. Do the same for last year, around last year's festival day. Then compare like with like.
Add one more comparison: the normal weeks just before the rush, this year against last year. That tells you how the business was growing anyway, so you can see whether the festive season did better or worse than your ordinary trend.
The same method works for Chinese New Year and Deepavali. Count from the festival, not from the first of the month.
A worked example: the calendar view
Here is a made-up example. Last year Hari Raya fell in early April. This year it fell 11 days earlier, in late March.
Last year the business sold RM 400,000 in March and RM 520,000 in April. This year it sold RM 540,000 in March and RM 390,000 in April.
By calendar month, March is up RM 140,000, which is 35%, and April is down RM 130,000, which is 25%. One month looks like a triumph and the next like a crisis. Neither is true. The rush simply moved from April into March.
The same example, aligned by festival
Now line up the weeks around each year's Hari Raya.
The two weeks before Hari Raya: RM 200,000 last year, RM 220,000 this year. Up RM 20,000, or 10%.
Hari Raya week: RM 80,000 last year, RM 80,000 this year. No change.
The two weeks after: RM 120,000 last year, RM 114,000 this year. Down RM 6,000, or 5%.
The whole five-week festive period: RM 400,000 last year, RM 414,000 this year. Up RM 14,000, or 3.5%.
Then the normal weeks. The four weeks before the rush sold RM 360,000 last year and RM 378,000 this year, up RM 18,000, or 5%.
This is the real story. The business was growing 5% in ordinary weeks, but the festive period grew only 3.5%. The rush before Hari Raya was good, but the weeks after were weaker. That is worth a look: was there less stock after the festival, fewer staff on duty, or did customers stay away longer for balik kampung?
Small habits that keep it fair
Write down the festival dates for each year next to your sales, so nobody has to remember them later.
Compare outlets separately. An outlet in a town that fills up when people go home for the holidays and an outlet in a city office area that empties out can move in opposite directions in the same week.
Keep promotions in mind. If you ran a festive promotion this year and not last year, part of the lift came from the discount, and the discount has a cost.
Ask it in your own words
This is a question you can ask iSenang, your AI data analyst, in plain words, for example "compare the two weeks before Hari Raya this year with the two weeks before Hari Raya last year". It answers from your own sales data, and if it cannot answer, it says so instead of guessing.