facebook

Tak for din besked!

Vi har modtaget din besked og vil vende tilbage hurtigst muligt.

Menu
Kontakt os:
+45 71 74 28 28
Cecilie's

Cecilie's – vagtplanlægning med AI-prognoser for omsætning og lønprocent

Cecilie's planlægger vagter på tværs af fem centre, hvor omsætningen svinger med vejr, ferier og weekender. Vi har bygget et vagtplansystem, hvor en ML-model forudsiger dagens omsætning, og planlæggeren kan se lønprocenten, før vagterne bliver lagt – ikke bagefter.

Kunde

Cecilie's

Services

Planlægningssystem Algoritmebaseret system Automatisering API Integration Tidsregistrering SMS-verifikation Realtidsopdatering Hosting & vedligeholdelse

Teknologi

Laravel Livewire PHP API Integration Laravel Reverb MySQL Hosting

Link til casen

Besøg Cecilie's

Kundecase

Baggrund og udfordring

Cecilie's driver fem oplevelsescentre med bowling, minigolf, café og sportsbar. Bemandingen er den største enkeltpost i driften, og den skal lægges uger i forvejen – længe før nogen ved, om det bliver en stille tirsdag eller en fuldt booket lørdag.

Konsekvensen af at gætte forkert går begge veje. For få på arbejde giver kø ved kassen, lang ventetid i køkkenet og gæster, der ikke kommer igen. For mange på arbejde æder marginen på en aften, der aldrig blev til noget. Lønprocenten – lønnen målt mod omsætningen – blev først kendt bagefter, når vagtplanen for længst var lagt og timerne var brugt.

Oveni kom det praktiske: en stor gruppe timelønnede unge, vagter der skal byttes i sidste øjeblik, sygemeldinger der skal dækkes, timer der skal registreres korrekt og til sidst blive til løn. Det hele lå i et ældre system, der ikke længere kunne følge med forretningen.

Løsning

Løsningen: en vagtplan, der kender konsekvensen

Vi har bygget et nyt vagtplansystem fra bunden og koblet det sammen med en ML-model, der forudsiger omsætningen. Den afgørende forskel er, at planlæggeren kan se lønprocenten for en dag, mens vagterne bliver lagt – ikke i næste måneds regnskab.

ML-model forudsiger dagens omsætning

En trænet model pr. center leverer et estimat for omsætningen på en given dato sammen med et spænd, der viser, hvor sikker forudsigelsen er. Modellen kaldes direkte fra vagtplanen for hele den uge eller måned, planlæggeren kigger på.

Lønprocenten regnes ud, mens planen lægges

Systemet lægger de planlagte vagttimer sammen med de timelønninger, der faktisk gælder for de medarbejdere, der er sat på, og holder det op mod den forudsagte omsætning. Planlæggeren ser en planlagt lønprocent pr. dag – og på dage, der er gået, den faktiske.

Målsætning pr. dag og advarsler

Hvert center har en mållønprocent, der kan variere med ugedagen. Afviger den planlagte lønprocent for meget, markeres dagen med en advarsel, der peger i den rigtige retning: tilføj folk her, skær ned der. Advarsler vises kun for dage, der stadig kan nås at ændre.

Vagtbørs, medarbejderne selv styrer

Ubemandede vagter kan lægges på en intern vagtbørs, hvor medarbejdere byder på dem. Systemet viser kun vagter til dem, der har den rigtige jobrolle og ikke i forvejen står på en overlappende vagt. Når en byder får vagten, afvises de øvrige automatisk, og alle får besked på sms.

Skabeloner og gentagne vagter

En typisk uge kan gemmes som skabelon og lægges ud på en ny uge med ét klik. Vagtserier oprettes på tværs af flere uger, og systemet nægter at oprette dem, hvis de skaber konflikter for en medarbejder, der allerede er booket.

Check ind og ud – og hvis nogen ikke kommer

Medarbejderne tjekker ind og ud på stedet inden for et tidsvindue omkring vagten. En baggrundsservice holder øje minut for minut og giver besked, hvis en vagt er begyndt, uden at nogen er mødt – én gang, ikke i en løkke.

PIN-login og sms som kanal

Medarbejdere logger på med en personlig PIN i stedet for en adgangskode, de aldrig kan huske. Oprettelse, nulstilling og adgangskodeskift går via sms, og opslag på PIN sker gennem en nøglet hashværdi frem for ved at gennemløbe brugerne.

Fra vagt til løn uden mellemregning

Kun vagter, der er tjekket både ind og ud, kan lønbehandles. Timerne summeres pr. medarbejder og lønart, weekendtillæg lægges på efter reglerne, og resultatet eksporteres som en Danløn-fil. Behandlede vagter låses, så de ikke kan ændres bagefter.

AI i praksis

Modellen gætter ikke på bemanding – den gætter på omsætning

Det er fristende at bede en model om at lægge vagtplanen. Vi har gjort noget mere nyttigt og mere robust: modellen forudsiger det, den kan lære af historikken – omsætningen – og systemet regner konsekvensen ud. Beslutningen bliver hos den planlægger, der kender sine folk.

  • Data kommer fra kassen: Den faktiske omsætning pr. center pr. dag kommer fra Cecilie's eget kasse- og bookingsystem, som vi også har bygget. Modellen trænes altså på virksomhedens egne tal, ikke på et gennemsnit af branchen.

  • Én model pr. center: Herlev opfører sig ikke som Holbæk. Hvert center har sin egen trænede model, så en afdeling med et andet mønster ikke trækker de andre skæve.

  • Usikkerheden vises frem: Estimatet leveres med et spænd. En prognose, der giver sig selv ud for at være mere præcis, end den er, bliver ignoreret af planlæggeren efter tredje gang, den tager fejl.

  • Egen tjeneste bag en nøgle: Modellen kører som en selvstændig tjeneste med nøglebeskyttet adgang, timeout og et sundhedstjek. Er tjenesten nede, mister planlæggeren sin prognose – ikke sin vagtplan.

  • Beregningerne caches: Prognose og nøgletal caches kortvarigt pr. center og periode, så en planlægger, der bladrer frem og tilbage mellem uger, ikke belaster hverken modellen eller databasen unødigt.

Indexed - Peter i gang med udvikling

Et system, der blev skrevet om – ikke lappet

Løsningen afløser en ældre platform, som forretningen var vokset fra. Vi kortlagde det eksisterende system domæne for domæne – adgang og roller, vagter, vagtbørs, fravær, løn, opgaver, lokationer, statistik og prognoser – og beskrev regler, hændelser og de invarianter, der ikke måtte gå tabt, inden en linje blev skrevet.

Det nye system er bygget i Laravel med et modul pr. domæne, hvor hver tilstandsændring er en navngiven handling, der udsender en hændelse. Det er dét, der gør, at en sms om en godkendt vagt eller en nulstillet PIN altid sendes efter, ændringen er gemt – og aldrig i stedet for.

Fordelen ved at skrive om frem for at lappe er, at reglerne nu står ét sted og kan ændres. Da ønsket om lønprocent i vagtplanen kom, var det en tilføjelse – ikke en ombygning.

Indexed - Morten i gang med udvikling
Resultat

Resultater og fordele

Beslutningen om bemanding træffes nu med tal på bordet.

Lønprocenten er kendt før vagten

Planlæggeren ser konsekvensen af sin plan med det samme og kan justere, mens det stadig er en plan. Tidligere var lønprocenten et tal, man forholdt sig til bagefter.

Færre opkald for at dække vagter

Vagtbørsen flytter arbejdet med at finde en afløser fra lederens telefon til medarbejdernes egen skærm – med de rigtige filtre på, så der ikke bydes på vagter, man ikke må tage.

Lønkørslen bygger på registreringer

Timerne kommer fra faktiske ind- og udtjekninger frem for fra hukommelse, og eksporten til Danløn fjerner et manuelt led, hvor der før kunne opstå fejl.

Fem centre i samme system

Medarbejdere kan høre til flere afdelinger med hver sin timeløn og sit lønnummer, og ledelsen kan sammenligne afdelingerne på det samme grundlag.

Prognosen bliver bedre af sig selv

Fordi omsætningen kommer fra deres eget kassesystem, får modellen nye data hver dag uden at nogen skal indsamle dem.

Ét login for medarbejderen

Den samme personlige kode bruges både i vagtplanen og ved kassen, så der kun er ét sted at oprette og spærre en medarbejder.

Systemet bag

Sådan hænger det sammen

Vagtplansystemet står ikke alene. Det er ét af tre systemer, vi har bygget og driver for Cecilie's, og de udveksler netop de data, de skal:

  • Kassesystemet leverer omsætningen: Salget pr. center pr. dag er grundlaget for både prognosen og for den faktiske lønprocent.

  • Vagtplanen leverer løntimer og lønomkostning: Et serverside-API stiller løntimer og lønkroner for en periode til rådighed for de øvrige systemer, beskyttet af en statisk nøgle med tidskonstant sammenligning.

  • Lokationer kobles på tværs: Centre i booking- og kassesystemet knyttes til lokationer i vagtplanen, så tallene kan sammenlignes uden manuel oversættelse.

  • Rå tal ud, nøgletal beregnes hos modtageren: API'et leverer timer og kroner. Lønprocent og omsætning pr. løntime regnes af det system, der skal bruge dem, så definitionen kan ændres ét sted.

  • Alt kører på dansk hosting: Vi hoster, overvåger og videreudvikler alle tre systemer, så der er én leverandør at ringe til, når noget skal rettes.

Indexed - Palle i gang med udvikling
PHP kode i en editor på en bærbar

Fremadrettet samarbejde

Vi driver og videreudvikler løsningen sammen med Cecilie's. Næste skridt handler om at bruge prognosen til mere end lønprocent – blandt andet til at foreslå et bemandingsbehov pr. tidsrum frem for pr. dag, og til at give afdelingslederne det samme overblik på mobilen, som de i dag har på kontoret.

Indexed

Hvorfor vælge Indexed?

  • AI, hvor det gør en forskel: Vi bruger modeller til det, de er gode til, og lader forretningsreglerne blive i kode, hvor de kan efterprøves. Det giver en løsning, man tør bruge til at træffe beslutninger.

  • Vi kan overtage et system: Vi kortlægger det eksisterende, beskriver reglerne og bygger om i etaper frem for at bede jer starte forfra.

  • Én leverandør til hele kæden: Booking, kasse og vagtplan ligger hos os, så der ikke er tre leverandører at koordinere, når data skal flyde mellem dem.

  • Erfarent team: Med mere end 20 års erfaring har vi løst komplekse udfordringer for en lang række kunder.

  • Dansk udvikling – Made in Denmark: Al vores udvikling og hosting foregår i Danmark.

Indexed - Palle & Kristian Gennemgang af udvikling

Mød holdet

Vi er et webbureau med fokus på kvalitet og kundens løsninger. Vores tekniske kunnen matcher vores evne til at levere.

Indexed
Peter Sørensen, Indexed
Direktør

Peter Sørensen

Mathi Kumarathurai, Projektleder hos Indexed.dk
Projektleder

Mathi Kumarathurai

Morten Bak
CTO

Morten Bak

Palle Andersen Houtved
Senior Webudvikler

Palle Houtved

Senior Webudvikler

Kristian Svalgaard

Senior webudvikler

Tue Jensen

Morten Harders
Senior Webudvikler

Morten Harders

Christian Mousten
Senior Webudvikler

Christian Mousten

Kontorets blæksprutte

Mette Blaase

Skal jeres planlægning bygge på tal frem for fornemmelser?

Har I en stor timelønnet medarbejderstab og en omsætning, der svinger, så lad os tage en uforpligtende snak om, hvad en prognose i planlægningen ville være værd hos jer.