Hopp til innhold
FrammeLive leveringssporing for transportører

Slik beregner Framme leveringsvinduet — og hvorfor det blir mer presist jo nærmere bilen kommer

Framme-teametPublisert 3 min lesetid
Framme-logo over et leveringsvindu som smalner inn mot et stopp
Kort fortalt

Leveringsvinduet vises alltid som et tidsrom, ikke et eksakt klokkeslett — bredden er ±15 minutter tidlig i ruta og smalner til ±4 minutter når kunden er neste stopp. Hysterese hindrer at vinduet hopper frem og tilbake ved små svingninger: det flyttes ikke fremover for avvik under 5 minutter, og ikke bakover for avvik under 8 minutter. Service-tiden læres løpende fra fullførte stopp, og urealistiske GPS-hopp filtreres automatisk bort.

Et eksakt klokkeslett — «bilen kommer 14:37» — høres presist ut, men er nesten alltid en løgn. Trafikk, en kunde som tar litt lengre tid enn vanlig, en rundkjøring med kø: alt dette gjør et enkelt klokkeslett til noe som stort sett viser seg feil. Framme viser derfor alltid et vindu — og bredden på vinduet er i seg selv informasjon.

Formelen

ETA-en for hver gjenstående kunde beregnes som:

nå + Σ kjøretid for gjenværende etapper + (gjenstående stopp foran × servicetid)

Kjøretiden per etappe hentes enten fra en selvhostet OSRM-tjeneste for ekte veidata, eller fra en innebygd heuristikk (luftlinje × 1,3 som veifaktor, med fartsprofil tilpasset stoppenes tetthet — by eller land) hvis ingen OSRM-tjeneste er satt opp.

Bredden er ikke tilfeldig — den følger en fast formel

Halvbredden på vinduet (hvor mange minutter til hver side av midtpunktet) beregnes som 4 + antall gjenstående stopp foran kunden × 2,2 minutter, med et tak på 15 minutter. Er kunden neste stopp (null stopp foran), blir vinduet ±4 minutter. Er det ti stopp igjen før kunden, blir vinduet bredere — men aldri bredere enn ±15 minutter, uansett hvor langt unna kunden er i køen.

Logikken er enkel: usikkerheten i en ETA vokser med antall stopp som skal unnagjøres før den aktuelle kunden, siden hvert stopp underveis kan ta litt kortere eller lengre tid enn forventet. Et smalt vindu tidlig i ruta ville gitt et løfte Framme ikke kan holde.

Hysterese: hvorfor vinduet ikke hopper frem og tilbake

Uten en demping ville vinduet endre seg ved hver eneste GPS-oppdatering — irriterende for kunden, og lite tillitvekkende. Framme bruker derfor to ulike terskler:

  • Fremover (senere): vinduet flyttes ikke frem med mindre avviket er over 5 minutter.
  • Bakover (tidligere): vinduet trekkes ikke tilbake med mindre avviket er over 8 minutter.

Den ulike terskelen er bevisst: å love et tidligere tidspunkt og så måtte skyve det er en dårligere opplevelse enn en liten forsinkelse, så terskelen for å love noe tidligere er høyere. Vinduet starter dessuten aldri i fortiden — det korrigeres automatisk mot nåtid hvis beregningen skulle tilsi det.

Service-tiden læres, den er ikke en fast gjetning

Hvor lang tid tar et gjennomsnittlig stopp — to minutter, eller åtte? Framme starter med en standardverdi og oppdaterer den løpende som et glidende gjennomsnitt over fullførte stopp, per sjåfør og per organisasjon. Enkeltmålinger klippes til mellom 30 sekunder og 30 minutter, slik at en glemt app eller et unormalt langt opphold ikke forskyver hele gjennomsnittet. Etter et par ukers drift er service-tiden i praksis skreddersydd til hvordan akkurat din bedrift faktisk leverer.

GPS-hopp filtreres automatisk

GPS-signaler hopper av og til — en refleksjon fra en bygning, en midlertidig svak posisjon. Framme regner ut den implisitte farten mellom to påfølgende posisjoner, og forkaster oppdateringer som ville tilsvart en hastighet over 160 km/t. Det stopper ETA-beregningen fra å bli forstyrret av en enkelt urealistisk måling.

Forsinkelsesvarsel — uten spam

Avviker det nye vinduet mer enn 15 minutter fra sist varslede vindu, sendes en oppdatering til kunden — men bare én gang per terskel, ikke ved hver eneste liten justering underveis. Hele denne motoren er enhetstestet med kjente input mot kjente forventede vinduer, inkludert kanttilfeller som null stopp igjen og GPS-hopp.

Se leveringsvinduet i praksis: live leveringssporing, eller kom i gang med din egen rute.

Ofte stilte spørsmål

Hvorfor får jeg et tidsvindu og ikke et eksakt klokkeslett?

Fordi et eksakt klokkeslett gir et falskt inntrykk av presisjon. Vinduet reflekterer den faktiske usikkerheten, som er størst tidlig i ruta og minst når bilen er nesten fremme.

Hvor smalt kan vinduet bli?

Ned mot ±4 minutter når kunden er neste stopp i ruta.

Hvorfor endrer ikke vinduet seg ved hver GPS-oppdatering?

Hysterese demper små svingninger — vinduet flyttes ikke frem for avvik under 5 minutter, og ikke tilbake for avvik under 8 minutter.

Hva skjer hvis en sjåfør bruker uvanlig lang tid på et stopp?

Service-tiden er et glidende gjennomsnitt, og enkeltmålinger klippes til mellom 30 sekunder og 30 minutter, slik at ett avvikende stopp ikke forskyver hele beregningen.