TL;DR
Det finns ingen ruttoptimerare i den här produkten. Den står som planerad på den översta nivån och är medvetet inte beviljad, vilket betyder att ingenting i systemet lägger om din dag efter körtid. Det här inlägget handlar om vad en verksamhet med fem till femton bilar faktiskt gör i stället, och vilka delar av schemat som gör handplaneringen till mindre av en gissning än det låter.
Varför det här inte är en funktionssida
De flesta schemaleverantörer säljer ruttoptimering med en kartbild och ett tal. Talet är oftast en procentsats bränsle eller körtid, och det är oftast räknat på ett scenario leverantören själv valt.
Vi har inte byggt det. Att säga så är billigare än alternativet, som är att en kund upptäcker det efter påskrift.
Det är också värt att säga att optimering sällan är flaskhalsen för ett lag av den här storleken. Ett riktigt ruttoptimeringsproblem — dussintals fordon, hundratals stopp, tidsfönster, lastkapacitet — är genuint svårt och genuint värt att lösa med programvara. Fem bilar och trettio stopp i en stad, där hälften av stoppen har en fast tid kunden gått med på, är ett problem en människa med lokalkännedom löser bra på en kvart. Flaskhalsen i ett företag av den storleken är nästan aldrig ordningen på stoppen. Den är att timmarna aldrig skrevs ned och att bilen åkte till adressen på förra månadens jobb.
Fasta hållpunkter först
Metoden, i den ordning den fungerar.
1. Lägg ut hållpunkterna. Varje jobb med en tid som lovats kunden går upp på tavlan först, på den dag som lovades, den timme som lovades. Ett leveransfönster, en hyresgäst som bara är hemma mellan fyra och sex, en installation som kräver att husets hiss är bokad. De flyttar inte. Varje optimerare som lägger om dem löser ett annat problem än det ni har.
Schemat stöder det direkt: ett uppdrag kan bära en tidigaste och en senaste start vid sidan av sin planerade tid, vilket är hur man skriver ned "när som helst mellan åtta och tolv" utan att låtsas att man lovade åtta.
2. Klustra det rörliga arbetet på postnummer. Inte på kund, inte på tjänstetyp — på var det ligger. De flesta serviceföretag upptäcker att fyra eller fem kluster täcker åttio procent av arbetet, och att klustren knappt ändrar sig mellan åren.
3. Tilldela kluster till personer, inte jobb till personer. Någon äger det södra klustret på tisdagar. Lokalkännedom ackumuleras: hon vet vilken gata som saknar parkering, vilket hus som har en snabbare bakväg, vilken fastighetsskötare som är på plats före nio.
4. Fyll varje persons dag utåt från hållpunkterna. Rörligt arbete läggs närmast hållpunkten på ömse sidor.
5. Avsluta dagen närmast hemmet. Dagens sista stopp är det som kostar er betald restid efteråt. Lägg det avlägsna klockan tio på förmiddagen, inte klockan tre på eftermiddagen.
Rapportera restid som restid
Det här är den del de flesta hoppar över och den som gör allt annat mätbart.
Rapporterad tid bär en typ: arbete, restid eller övertid. Att välja restid för körningen kostar personen ett tryck och ger er tre saker.
Timrapporten bryter ned attesterad tid per typ och person, så "hur mycket av veckan var körning" slutar vara en åsikt. Fakturaunderlaget namnger restid på en egen rad, så att en kund som debiteras för den ser vad hon debiteras för och en kund som inte debiteras ändå ser att den fanns. Och en rad restid ni bestämmer er för att inte fakturera bärs med som en nollrad med angiven orsak i stället för att strykas, så att timmarna på underlaget fortfarande summerar till timmarna på tidrapporten.
Den sista regeln låter petig ända till första gången en kund frågar varför fakturan säger sex timmar när laget var där från åtta till fem.
Mät era uppskattningar, i tre högar
Varje uppdrag kan bära en uppskattning i minuter. Varje avslutat uppdrag har en verklig tidsåtgång, om någon stämplade det.
Uppdragsrapporten jämför de två och räknar tre högar: inom uppskattningen, överskred, och går inte att mäta. Den tredje högen är poängen. Ett jobb utan uppskattning, eller utan stämpling, går inte att bedöma åt något håll, och att lägga det i "inom uppskattningen" skulle smickra siffran med precis de jobb ingen mätte.
Det första talet att flytta är alltså inte andelen som överskred. Det är storleken på den tredje högen. Ett företag som konsekvent underskattar med två timmar kan inte upptäcka det på något annat sätt, och ingen ruttoptimerare lagar en uppskattning som var fel innan bilen åkte.
Två praktiska användningar när den tredje högen är liten:
- Katalogens tidsåtgång. Varje tjänst bär en standardtid. Har "fönsterputs, villa" legat 40 % över sin standardtid i ett halvår: ändra standardtiden. Uppskattningen är vad planeraren packar dagen med.
- Restid som andel. Ligger restiden över en fjärdedel av en persons attesterade timmar är hennes kluster fel eller hennes hållpunkter illa placerade. Det är ett planeringssamtal, inte ett körsamtal.
Lämna de luckor ni faktiskt behöver
Två detaljer om hur schemat läser en dag, eftersom de ändrar hur ni bör fylla en.
En paus på högst sextio minuter mellan två pass läses som en arbetsdag. Ni kan alltså skriva ned en riktig lunch — 08:00–12:00 och 13:00–17:00 — utan att varje vanligt middagsjobb flaggar sig självt som utanför arbetstid. Skriv ned lunchen. Systemet räknar med den.
Ett verkligt delat pass — 06:00–10:00 och 18:00–22:00 — slås däremot inte ihop, och ett eftermiddagsjobb i den luckan rapporteras korrekt som utanför personens tider. Det är varningen som fungerar som avsett.
Och konfliktkontrollen är helt tyst om körtid. Två jobb fyra mil isär med tio minuter emellan är ingen krock enligt någon definition systemet har. Glappet mellan stoppen är planerarens ansvar, och att låtsas annat vore den farligare designen.
Vad vi inte påstår
Rakt ut, så att det inte finns något att upptäcka senare:
- Ingen ruttoptimering. Planerad på översta nivån, inte beviljad på någon nivå, inte med i priset i dag.
- Ingen onlinebokning. En kund kan inte välja sin egen tid. Samma status.
- Ingen navigering. Systemet håller adressen och tillträdesanteckningarna. Att ta sig dit gör telefonens kartapp.
- Ingen realtidspositionering av fordon. Positionen läses när någon trycker på en knapp, inte löpande. Det finns ett helt inlägg om vad GPS i en fältapp kan och inte kan.
Den ärliga sammanfattningen
Om er flaskhals verkligen är ruttplanering — ni har över tjugo fordon, hundratals stopp om dagen och kapacitetsbegränsningar — köp en ruttprodukt och integrera den. Det är en riktig kategori och det är inte den här.
Om er flaskhals är att veckan bor i ett kalkylblad, att löftet i telefon aldrig nådde tavlan, och att ingen vet hur många timmar som gick till vilket jobb, då är ruttplaneringen det fjärde problemet på listan. Lös de tre första så upptäcker ni att det fjärde var mindre än det såg ut.