Vincze MártonÍrj nekem

Cikkek ·

Excelből Excelbe: flottakövetés és munkaidő összevetése

A céges autók heti útkimutatását rögzített szabályok szerint vetjük össze a mért munkaidővel. Miért nem a mesterséges intelligencia dönt, ha emberek munkaidejéről van szó.

A legtöbb cégben az Excel a közös nyelv. Excelben kéri az adatot a bérszámfejtő, Excelben küld kimutatást a flottakövető cég, és Excelben akarja látni az ügyfél is, hány órát dolgoztak a projektjén. Egy munkaidő-nyilvántartó rendszer ezért nem lehet sziget: be kell tudnia fogadni és ki kell tudnia adni ezeket a táblázatokat.

A kérés

Egy hétfő délelőtt az iroda átküldött egy táblázatot: a céges autók flottakövetőjének heti kimutatását. Autónként egy munkalap, rajta minden út indulással, érkezéssel, címmel, kilométerrel és állásidővel. A kérés így szólt: vessük össze a dolgozók munkaidejével, és emeljük ki, hol nincs összhang.

A feladatot egy feltétellel vállaltam, és ezt a vezető is így kérte: rendes feldolgozó és rendes logika kell, nem találgatás.

Miért nem a mesterséges intelligencia dönt?

A fejlesztésben sokat segít a mesterséges intelligencia, ezt a programot is azzal írtam. A döntést viszont, hogy egy sor eltérés-e, nem bízom rá. Ha egy riport arról szól, hogy valaki ott volt-e, ahol a munkaideje szerint lennie kellett, akkor annak minden sorát meg kell tudni magyarázni. Egy nyelvi modell válasza lehet meggyőző, de nem mindig ugyanaz kétszer, és nem lehet sorról sorra visszavezetni az eredeti adatra.

Ha egy riport emberek munkaidejéről szól, minden sorának visszakereshetőnek kell lennie.

Ezért a feldolgozó szigorú. Minden sort a formája alapján sorol be (út, napi összeg, teljes összeg, üresjárat), és ha valamit nem ismer fel, megáll, és megmondja, melyik munkalap melyik sora a gond. A beolvasott utakat a táblázat saját napi és heti összegeivel is összeveti. Ha a kilométerek nem jönnek ki, nem megy tovább.

A szabályok

Az összevetés hét rögzített szabály szerint dolgozik, fix küszöbökkel. Közérthetően:

  • Az autó mozgott egy napon, amikor a sofőrjének nincs mért munkaideje (például szabadságon volt).
  • Az autó legalább tíz percig egy munkahelyszínen állt, de a sofőr telefonja nem volt ott.
  • A telefon szerint a dolgozó egy helyszínen volt, miközben az autója negyedóránál tovább úton volt, vagy máshol állt.
  • A telefon szerint helyszíni munka volt, de az autó aznap nem mozdult.
  • Az autó aznapi útjai egyetlen KlipTrack-felhasználóhoz sem köthetők.
  • A sofőr telefonja aznap egy másik autóval mozgott.
  • A sofőr helyett egy másik kolléga telefonja kísérte végig az autót.

Minden eltérésnél ott van, melyik szabály jelzett, hány perc van mögötte, és az eredeti táblázat melyik sorából jön.

Ki vezette az autót?

Az első akadály az volt, hogy a kimutatásból nem derül ki, ki vezetett. A munkalapok neve csak egy rendszám és egy becenév. Ezt sem találgattam. Az autókat az iroda munkatársa megmondta, ahol pedig közös autóról volt szó, ott az adat döntött: ha az autó egy munkahelyszínen állt, megnéztem, kinek a telefonja volt ugyanakkor ugyanott. Akinek a megállások legalább felénél egyezett, az volt aznap a sofőr. Ha nem volt egyértelmű, a riport ezt is kiírja, nem talál ki egy nevet.

A címeket egy nyílt térképszolgáltatás (OpenStreetMap) segítségével koordinátára fordítottam, így az is kiderül, ha egy autó nem pont a helyszín címén, hanem a sarkon parkolt. A geokódolás eredménye el van mentve, így a heti futtatás nem kérdezi le újra ugyanazokat a címeket.

Mit mutatott az első hét?

A legfontosabb eredmény az volt, hogy a mért munkaidő és az autók mozgása között nem volt ellentmondás. Ahol mindkét forrásból volt adat, ott percre együtt mozogtak. Ami kiderült, az az autók használatáról szólt: egy autóval valaki más tett meg egy hosszabb utat, akinek nincs appja; egy másik autó egy szabadságnapon is mozgott.

Egy dolgot tanulságként is leírok. Az egyik esetnél az autó két órát állt egy helyszín mellett, miközben a telefon ott nem mért jelenlétet. Az első gondolatom az volt, hogy túl szűk a helyszín körzete. Mielőtt ezt kijelentettem volna, megnéztem, milyen messze volt a telefon ténylegesen: több száz méterre, egy másik épület közelében. A körzet jó volt, a feltevés nem. Ezért kell, hogy minden állítás mögött ott legyen az adat.

Mi megy vissza az ügyfélnek?

Két változat készül. Egy belső, teljes riport minden úttal és megállással, és egy, ami az ügyfélhez megy: csak a tisztázandó sorok, sárgával kiemelve, rövid magyarázattal. Ebben a lakcímeknek tűnő megállásoknál csak a település vagy a budapesti kerület szerepel. A vezetőnek arra van szüksége, hogy lássa az eltéréseket, nem arra, hogy tudja, hol lakik a kollégája.

Az összevetés azóta heti rutin: jön a kimutatás, lefut a feldolgozás, és megy vissza a rövid lista.

Excelből Excelbe, a másik irányban is

Ugyanez a gondolkodás van a KlipTrack saját exportjai mögött is. A munkaidő-nyilvántartás aláírási oszlopokkal és dolgozónkénti részösszegekkel készül, a bérfeladás egy soronként egy dolgozós fájl, az útnyilvántartás a helyszínek közötti utakat sorolja fel. Mindegyik ugyanabból a mért adatból jön, amit az irodai felület is mutat, így a táblázat és a képernyő soha nem mond mást.

Egy jó export és egy megbízható feldolgozó gyakran többet ér egy cégnek, mint egy új képernyő. Az Excel marad. A feladat az, hogy jó adat kerüljön bele.

A következő részben arról írok, miért kapcsolható ki a rendszerben szinte minden: Kapcsolók, nem csomagok.

Hasonlón gondolkodsz?

Írj pár sort arról, mit szeretnél megoldani, és megnézzük, mi lenne a legjobb következő lépés. Az első óra ingyenes.

hello@vinczemarton.dev

+36 70 881 5882linkedin.com/in/martonvincze