- 10,4 %keskimääräinen kuukausivirheviikkosummat koottuna kuukausiksi
- 42/48kuukaudesta poikkesi yli 5 %
- +20,3 %pahin kuukausihuhtikuu 2024
- −15,9 %huhtikuun 2025 kasvu oikopolullatodellisuudessa +3,7 %
Maanantain ongelma
Kuvitelkaa kuukausiraportti, jonka mukaan maaliskuu oli heikko, ja viikkonäkymä, jonka mukaan mitään ei tapahtunut. Taloushallinto luottaa toiseen, kaupallinen tiimi toiseen, ja datatiimi käyttää viikon selittäessään, että molemmat ovat ”oikeassa”.
Tämän ristiriidan taustalla oleva kalenterivaikutus on niin suuri, että tilastovirastot ja kauppayhtiöt nostavat sen esiin julkaistessaan myyntilukujaan:
- Ruotsin tilastokeskuksen mukaan päivittäistavarakaupan myynnin määrä kasvoi huhtikuussa 2025 7,2 % edellisvuodesta mutta kalenterikorjattuna vain 1,9 %, pääosin koska pääsiäinen osui vuonna 2025 huhtikuulle ja vuonna 2024 maaliskuulle. SCB, toukokuu 2025 (avautuu uudessa välilehdessä)
- Keskon päivittäistavarakaupan myynti kasvoi maaliskuussa 2026 11,3 %, ja yhtiö arvioi pääsiäisen ajoituksen vaikutukseksi ruokakauppoihin myytäessä noin 6–7 prosenttiyksikköä. Kesko, huhtikuu 2026 (avautuu uudessa välilehdessä)
- Ison-Britannian vähittäiskaupan kokonaismyynti kasvoi huhtikuussa 2025 7,0 %. British Retail Consortium raportoi maalis- ja huhtikuun yhdessä, 4,3 %, tasoittaakseen pääsiäisen siirtymisen maaliskuulta huhtikuulle. BRC, toukokuu 2025 (avautuu uudessa välilehdessä)
- Ison-Britannian tilastovirasto ONS korjasi tavan, jolla sen neljän ja viiden viikon keruujaksot sovitetaan kalenterikuukausiin (samalla tarkistettiin kausitasoitus). Huhtikuun 2025 myynnin määrän kasvu muuttui +1,7 %:sta −0,4 %:iin ja tammikuun 2025 +1,4 %:sta −0,4 %:iin. ONS, syyskuu 2025 (avautuu uudessa välilehdessä)
Nämä ovat julkaistuja lukuja, ja selitys on kerrottu niiden rinnalla. Sisäiset raportit altistuvat samoille kalenterivaikutuksille aina, kun niissä verrataan viikkoja kuukausiin tai kuukautta toiseen, mutta selitys kulkee mukana vain, jos joku lisää sen jokaiseen raporttiin. Tekninen ratkaisu on rakentaa kalenterilogiikka alustaan kerran, jolloin jokainen raportti perii sen.
Rajaus. Kalenteriluvut perustuvat yhteen julkiseen aikasarjaan: Tanskan korttimaksujen päivittäiseen summaan (Danmarks Nationalbank, taulu DNBSK1) jokaiselta päivältä tammikuusta 2022 joulukuuhun 2025. Se kattaa kaikki maan korttimaksut, ei yhden kauppiaan myyntiä. Asiakas- ja kampanjaluvut tarvitsevat asiakastason myyntiä, jota mikään tuore maksuton aineisto ei tarjoa, joten niissä käytetään UCI Online Retail II -aineistoa (brittiläinen verkkokauppa, joulukuu 2009 – joulukuu 2011).
Yksi viikko, kaksi kuukautta
Kaupalliset tiimit tarkastelevat lukuja usein viikoittain, kun taas taloushallinto sulkee kirjat kalenterikuukausittain. Viikko ei mahdu kuukauden sisään, joten jonkin säännön on ratkaistava, mihin kuukauteen rajaviikko kuuluu. Yksinkertainen sääntö on laskea yhteen viikot, jotka alkavat kuukauden aikana (tässä maanantaista sunnuntaihin). Se on helppo rakentaa ja läpäisee jokaisen summien tarkistuksen, ja juuri siksi se on riskialtis. Tällä sivulla sitä kutsutaan oikopoluksi.
Viikon summa on sama kummallakin tavalla. Vain kuukausi, jolle se kirjautuu, muuttuu, joten mikään summatarkistus ei epäonnistu.
| Kuukausi | Oikein | Oikopolku | Virhe |
|---|---|---|---|
| Maaliskuu 2024 | 47 383 | 41 652 | −12,1 % |
| Huhtikuu 2024 | 48 224 | 58 020 | +20,3 % |
| Huhtikuu 2025 | 48 165 | 45 481 | −5,6 % |
48 täyden kuukauden aikana kuukausi poikkesi keskimäärin 10,4 %, ja 42/48 kuukaudesta poikkesi yli 5 %. Yksikään päivä ei katoa eikä tule lasketuksi kahdesti: oikopolku vain siirtää päiviä viereisten kuukausien välillä, minkä vuoksi virhe voi jäädä huomaamatta tarkastuksessa.
Huhtikuu 2024 · 5 viikkoa alkaa tässä kuussa
- Oikein
- 48 224 milj. DKK
- Oikopolku
- 58 020 milj. DKK
- Virhe
- +20,3 %
- Muutos maaliskuusta
- +1,8 % oikein · +39,3 % oikopolku
Kaikki 48 kuukautta taulukkona
| Kuukausi | Alkavia viikkoja | Oikein (milj. DKK) | Oikopolku (milj. DKK) | Virhe |
|---|---|---|---|---|
| Tammikuu 2022 | 5 | 40 076 | 47 817 | +19,3 % |
| Helmikuu 2022 | 4 | 41 206 | 41 572 | +0,9 % |
| Maaliskuu 2022 | 4 | 45 590 | 41 572 | −8,8 % |
| Huhtikuu 2022 | 4 | 48 765 | 44 935 | −7,9 % |
| Toukokuu 2022 | 5 | 49 760 | 57 363 | +15,3 % |
| Kesäkuu 2022 | 4 | 47 917 | 44 095 | −8,0 % |
| Heinäkuu 2022 | 4 | 49 819 | 44 137 | −11,4 % |
| Elokuu 2022 | 5 | 49 167 | 56 390 | +14,7 % |
| Syyskuu 2022 | 4 | 45 306 | 41 567 | −8,3 % |
| Lokakuu 2022 | 5 | 45 647 | 52 221 | +14,4 % |
| Marraskuu 2022 | 4 | 48 752 | 46 334 | −5,0 % |
| Joulukuu 2022 | 4 | 52 791 | 46 326 | −12,2 % |
| Tammikuu 2023 | 5 | 42 461 | 47 416 | +11,7 % |
| Helmikuu 2023 | 4 | 38 398 | 40 912 | +6,5 % |
| Maaliskuu 2023 | 4 | 47 303 | 42 565 | −10,0 % |
| Huhtikuu 2023 | 4 | 48 404 | 44 498 | −8,1 % |
| Toukokuu 2023 | 5 | 50 375 | 54 896 | +9,0 % |
| Kesäkuu 2023 | 4 | 47 474 | 46 894 | −1,2 % |
| Heinäkuu 2023 | 5 | 49 717 | 54 519 | +9,7 % |
| Elokuu 2023 | 4 | 48 075 | 45 279 | −5,8 % |
| Syyskuu 2023 | 4 | 44 083 | 40 063 | −9,1 % |
| Lokakuu 2023 | 5 | 46 662 | 53 089 | +13,8 % |
| Marraskuu 2023 | 4 | 49 440 | 47 428 | −4,1 % |
| Joulukuu 2023 | 4 | 53 272 | 46 930 | −11,9 % |
| Tammikuu 2024 | 5 | 41 435 | 48 324 | +16,6 % |
| Helmikuu 2024 | 4 | 39 832 | 38 675 | −2,9 % |
| Maaliskuu 2024 | 4 | 47 383 | 41 652 | −12,1 % |
| Huhtikuu 2024 | 5 | 48 224 | 58 020 | +20,3 % |
| Toukokuu 2024 | 4 | 52 460 | 46 640 | −11,1 % |
| Kesäkuu 2024 | 4 | 51 509 | 47 533 | −7,7 % |
| Heinäkuu 2024 | 5 | 50 183 | 57 918 | +15,4 % |
| Elokuu 2024 | 4 | 51 143 | 45 384 | −11,3 % |
| Syyskuu 2024 | 5 | 46 317 | 55 021 | +18,8 % |
| Lokakuu 2024 | 4 | 47 762 | 42 875 | −10,2 % |
| Marraskuu 2024 | 4 | 49 958 | 46 532 | −6,9 % |
| Joulukuu 2024 | 5 | 51 518 | 56 339 | +9,4 % |
| Tammikuu 2025 | 4 | 43 698 | 40 175 | −8,1 % |
| Helmikuu 2025 | 4 | 41 140 | 40 810 | −0,8 % |
| Maaliskuu 2025 | 5 | 46 465 | 54 075 | +16,4 % |
| Huhtikuu 2025 | 4 | 48 165 | 45 481 | −5,6 % |
| Toukokuu 2025 | 4 | 52 274 | 45 986 | −12,0 % |
| Kesäkuu 2025 | 5 | 49 958 | 59 115 | +18,3 % |
| Heinäkuu 2025 | 4 | 50 000 | 44 931 | −10,1 % |
| Elokuu 2025 | 4 | 51 125 | 45 065 | −11,9 % |
| Syyskuu 2025 | 5 | 46 701 | 55 954 | +19,8 % |
| Lokakuu 2025 | 4 | 48 744 | 43 408 | −10,9 % |
| Marraskuu 2025 | 4 | 51 271 | 47 355 | −7,6 % |
| Joulukuu 2025 | 5 | 53 774 | 59 267 | +10,2 % |
Päätöksiin voi vaikuttaa ennen kaikkea kasvu. Oikopolun mukaan huhtikuu 2024 kasvoi maaliskuusta +39,3 %; todellisuudessa kasvua oli +1,8 %. Vuotta myöhemmin oikopolku näytti huhtikuulle 2025 laskua 15,9 %, vaikka todellisuudessa myynti kasvoi +3,7 %. Asiakkaissa ei muuttunut mikään: huhtikuussa 2024 oli viisi maanantaita ja maaliskuussa neljä, ja vuonna 2025 tilanne oli päinvastainen.
Loppu erosta on itse kalenteria: pääsiäinen, karkauspäivät ja viikonpäivien jakauma. Juuri sitä edellä mainitut ruotsalaiset, suomalaiset ja brittiläiset luvut mittaavat. Kun maaliskuuta verrataan edellisen vuoden maaliskuuhun, osa muutoksesta johtuu pelkästä kalenterista.
Miten se on rakennettu
Korjaus ei ole parempi kaavio. Se on kalenteri-, asiakas- ja mittauslogiikka, joka rakennetaan alustaan kerran, jolloin jokainen raportti perii sen. Kukin luku näyttää, miten se tehdään, dataputken omien kaavioiden ja tarkistusten avulla.
Yksi konfiguraatio tuottaa kalenterit. Jokaisella kalenteripäivällä on viikkonsa ja vähittäiskaupan jaksonsa, ja kalenterikuukaudet muodostetaan pelkistä päivämääristä. Faktat liitetään tapahtumapäivään. Joka ajossa error-tason tarkistukset varmistavat, että jokainen tapahtumapäivä kuuluu täsmälleen yhteen viikkoon ja jaksoon ja että summat säilyvät kaikissa kolmessa konfiguroidussa kalenterissa. Viikko-, jakso- ja kuukausiraportit koostavat sitten samat päivittäiset faktat.
- KonfigurointiYksi kalenteritiedostoKuvio, viikon aloituspäivä ja vuoden päättyminen määritellään kerran.
- calendars.
toml
- calendars.
- GenerointiPäivämäärärunkoJokaisella päivällä on viikkonsa ja jaksonsa; kuukaudet muodostetaan vain päivämääristä.
- calendar_
date
- calendar_
- LiitosFaktat päivämääräänJokainen myyntirivi liitetään runkoon päivämääränsä, ei koskaan viikkonsa perusteella.
- fct_
transaction_ line
tarkistetaan joka ajossapoikkeama pysäyttää ajon - fct_
- RaportointiViikko, jakso, kuukausiJokainen näkymä koostaa samat päivittäiset faktat, joten ne täsmäävät.
- 01Kalenterin korjausYksi kalenteri, rakennettu kerran, todennettu joka ajossaYksi konfiguraatio tuottaa jokaisen kalenterin, jolla liiketoiminta raportoi. Faktat liitetään päivämäärään, ja kolme tarkistusta ajetaan oikealla datalla ennen kuin mikään päätyy raporttiin.Yksi konfiguraatio · Päivämääristä jokaiseen kalenteriin · 53. viikko · Tarkistetaan joka ajossa · 504 kalenteria, 40 vuottaLue luku 1
- 02AsiakashistoriaAsiakasmäärät, jotka eivät muutu huomaamattaAsiakkaan attribuutit versioidaan, tila johdetaan ostopäivistä ja konfiguraatiossa pidetyistä raja-arvoista, ja testi epäonnistuu, jos myyntirivi osuu kahteen asiakasversioon.Versiot, ei päällekirjoitusta · Tila ostopäivistä · Historian tarkistusportitLue luku 2
- 03Kampanjoiden mittausMenetelmän testaus kampanjoilla, joilla ei ollut vaikutustaSimuloidut kampanjat, joiden vaikutus tiedetään nollaksi. Ensimmäinen estimaattori ei läpäissyt tätä testiä, sitä muutettiin kerran ilmoitetusta syystä, ja jäljelle jäänyt poikkeama raportoidaan.Simulaatio · Estimaattori · Nollatesti · Mitä raportoidaanLue luku 3
- 04AlustaKiinnitetystä julkisesta tiedostosta testattuihin Gold-tauluihinHaku, Bronze, Silver, Gold ja vienti Databricksissä: laatuportit pysäyttävät ajon, hylätyt rivit siirtyvät karanteeniin eikä niitä pudoteta hiljaa, ja infrastruktuuri on koodina.Päästä päähän · Data · Laatuportit · Käyttöönotto ja CILue luku 4
Mitä tämä ei todista
Yhden maan korttimaksut eivät ole kauppaketjun myyntiä, jossa on myymälöitä, alueita ja kanta-asiakasohjelma. Kalenterivirheen suuruus riippuu kalenterista, viikon aloituspäivästä ja siitä, miten myynti jakautuu viikon sisällä; teidän lukunne poikkeavat näistä. Mekanismi ja sen paljastavat tarkistukset pätevät silti.
Neljä kysymystä omaan raportointiinne
- Muodostetaanko kuukausilukunne päivämääristä vai kokoamalla viikkoja?
- Jos ajatte viime vuosineljänneksen asiakasmäärät uudelleen tänään, muuttuvatko ne ja osaako kukaan sanoa, miksi?
- Ovatko asiakaspoistuman ja aktiivisuuden määritelmät versioidussa konfiguraatiossa vai raporttilogiikan sisällä?
- Onko koskaan osoitettu, että kampanjamittauksenne antaa tulokseksi nollan kampanjalle, jolla ei ollut vaikutusta?
Jos jokin vastaus sai teidät epäröimään, ottakaa yhteyttä.
Data ja lähteet
Kalenteriluvut: Danmarks Nationalbank, taulu DNBSK1 (korttimaksut päivittäin, DKK); omat laskelmat. Asiakas- ja kampanjaluvut: Chen, D. (2012). Online Retail II [Dataset]. UCI Machine Learning Repository. doi.org/10.24432/C5CG6D (avautuu uudessa välilehdessä) (CC BY 4.0).