Most of our reporting is by week. Depots are measured on weekly sales, buyers forecast in weeks, and the board pack compares each week with the same week last year. Under the standard week numbering that most of our systems use, a year has fifty two weeks, except now and then, when it has fifty three. This year is one of those. Week fifty three of 2026 starts on Monday the twenty eighth of December.
The last such year was 2020, and we found out the hard way. Our sales data warehouse had a table of weeks built in 2015, with fifty two rows for every year, and the overnight load looked up the week for each sale in that table. For the last week of 2020 it found nothing, and it quietly discarded the rows. Five trading days, about nine million pounds of sales, were missing from the warehouse for three weeks.
The board saw December down eleven percent on the year before. Two depots were questioned about a collapse in sales that had not happened. When we found the cause and reloaded the week, the comparisons were still wrong, because the warehouse system and our trading calendar disagreed about which week was the first of 2021, and every year on year figure for January was compared with the wrong week.
None of our systems were faulty in their own terms. Each one had been given a definition of a week by whoever built it and had applied it faithfully. There were simply several definitions.
This summer we listed every system that numbers weeks. There are eleven. Four did not handle a fifty third week, and two use a different rule for where the year starts. Finance, the buyers and IT have now agreed one trading calendar, held in one table and read by all eleven systems instead of their own copies. We loaded a test year with fifty three weeks into each of them in September, and the warehouse load now stops and raises an alert when it meets a date it cannot place, instead of dropping it.
The fault we had in 2020 will come back every five or six years, and the people who remember it will not always be here.
A calendar is reference data like any other, and we had let every system write its own.
– Serguey Shinder
Top comments (0)