
Imaginează-ți că foaia ta de calcul spune că trimiterea a două palete la Madrid costă 41,13 €, iar noul sistem spune 41,12 €. Un cent. Nimeni nu se ruinează din cauza asta, dar agentul comercial nu mai are încredere în sistem, clientul care păstrează oferta ta anterioară întreabă ce s-a schimbat și cineva ajunge să verifice manual fiecare deviz. Este exact opusul a ceea ce se urmărea prin automatizare.
De aceea prima cerință a modulului de tarife de transport cu IA nu a fost confortul sau chatul. A fost ca prețul să iasă la fel ca în foaia companiei, căsuță cu căsuță. Iată ce am făcut pentru a reuși.
De ce foaia de tarife are ultimul cuvânt
Într-o companie de transport, foaia de tarife este contractul în practică. Se perfecționează de ani de zile: zona fiecărui destinație, prețul fiecărei tranșe de kilograme sau al fiecărui palet, factorul fiecărei baze, discountul convenit cu fiecare client. Dacă noul sistem calculează diferit, compania are două adevăruri și nu știe pe care să îl apere în fața clientului.
Pornim de la premisa că foaia are dreptate. Treaba sistemului este să o reproducă, nu să o corecteze. Dacă foaia are o eroare, aceasta se corectează în tarif, iar sistemul o preia în versiunea următoare.
Formula, și detaliul care strică totul
Prețul unui client rezultă dintr-o formulă simplă: costul celulei, înmulțit cu factorul bazei sale, minus reducerea sa, plus o marjă pe celulă, dacă există. Până aici, oricine. Problema este în rotunjire.
Excel nu rotunjește valoarea exactă. Mai întâi o trunchiază la 15 cifre semnificative și apoi rotunjește la cent. Pare o nuanță și nu este. Un rezultat intermediar precum 1,0049999999999999999 rămâne 1,01 în Excel, în timp ce 1,00499999999999 rămâne 1,00. Dacă rotunjești direct la cent cu funcția obișnuită a unui limbaj de programare, în cazuri ca acestea pierzi un cent, și o faci exact în celulele-limită unde foaia și sistemul ar trebui să coincidă.
Calculul nostru copiază acest comportament: mai întâi cele 15 cifre semnificative și apoi rotunjirea la cent, cu regula foii de calcul. Sumele negative, precum o marjă care scade euro pe celulă, urmează aceeași regulă.
Fără zecimale în virgulă mobilă
A doua decizie a fost să nu folosim niciodată zecimalele în virgulă mobilă ale computerelor. Sunt rapide, dar nu stochează bine cantități precum 0,1 sau 4,43: le aproximează, iar din această aproximare apar diferențele de cent pe care nimeni nu le poate explica. Întregul calcul lucrează cu aritmetică zecimală exactă, iar sumele circulă ca text zecimal între calcul, ofertă și chat. Un număr nu devine aproximativ pe parcurs.
Încă o regulă, de bun-simț: nicio celulă nu poate rămâne la zero euro sau mai puțin. Și dacă prețul unei expedieri ar rămâne sub cost, compania alege din setări dacă sistemul îl blochează sau doar avertizează.
Teste care compară cu foaia de calcul
O formulă bine scrisă nu este suficientă dacă nimeni nu o verifică. Modulul include teste automate care recalculează grile complete de prețuri și le compară cu valorile așteptate: tarife pe kilograme cu zonele, treptele și bazele lor, și tarife pe palet cu zonele și coloanele lor, cu mai multe combinații de bază, reducere și marjă. Sunt sute de celule, iar orice diferență de un cent face testul să eșueze. Există în plus o baterie separată cu douăsprezece cazuri-limită, alese exact pentru că decimalii obișnuiți și rotunjirea uzuală pierd acolo un cent.
Ca să fie clar: cazurile de referință din aceste teste sunt date de exemplu, construite cu aceeași formulă care a reprodus deja la cent tarifele unor companii reale de transport. Datele niciunei companii nu sunt incluse în program. Și înainte ca o companie să îl folosească, acesta este comparat cu propria foaie de calcul: în primele implementări, sute de expedieri au ieșit la fel, până la cent, ca foaia companiei.
O tarifă publicată nu se modifică
Centul nu folosește la nimic dacă mâine cineva schimbă o celulă și oferta de ieri nu mai poate fi explicată. De aceea tarifele funcționează pe versiuni. Cât timp o versiune este în schiță, poate fi revizuită; când este publicată cu data sa de intrare în vigoare, nu poate fi modificată sau ștearsă. Pentru a modifica prețurile, se importă o versiune nouă sau se aplică o reevaluare, iar cea anterioară se închide cu o zi înainte.
Reevaluarea, de exemplu o creștere anuală de 3,5 %, arată mai întâi o previzualizare cu casetele înainte și după, și abia apoi se publică. Clienții își păstrează reducerea, iar condițiile generale continuă să fie valabile.
La fel se întâmplă și cu clienții. Când se schimbă condițiile unuia, cele anterioare se închid și istoricul se păstrează, fără a suprascrie nimic. Iar o ofertă în PDF se salvează exact așa cum a fost emisă: dacă mâine se schimbă costurile, oferta trimisă continuă să spună același lucru. Ofertele deja create nu se schimbă.
ADRI întreabă, calculul răspunde
Aici vine partea care trebuie lămurită cel mai mult. Când o întrebi pe ADRI «cât costă să trimiți 3 paleți la Valencia pentru acest client?», ea nu face calculul. Un model de limbaj poate explica foarte bine un preț, dar nu este un calculator fiabil, iar când e vorba de bani, asta nu se negociază.
ADRI alege clientul, tariful și reducerea, apelează la același calcul pe care îl folosește ecranul și îți arată rezultatul împreună cu avertismentele sale. Dacă lipsește prețul combustibilului pentru luna respectivă, sau destinația este «de consultat», sau serviciul cerut nu există pentru acea zonă, calculul spune acest lucru, iar ADRI îți transmite; nu umple golul cu o estimare. De asemenea, nu publică tarife: asta face o persoană. Este aceeași idee pe care o explicăm în cine decide și cine verifică la ADRI: IA propune și înțelege ce îi ceri, iar regulile care nu pot eșua sunt executate de cod verificat.
Dacă îi ceri o ofertă care combină livrări și servicii din catalogul tău, de exemplu două ambalaje speciale și o livrare de 40 de kilograme la Madrid, livrările se recalculează cu tariful clientului, iar ambalajele merg la prețul lor de catalog, totul într-o singură ciornă. Înainte de a o crea, îți cere confirmarea. Restul parcursului, de la ofertă la încasare, este descris în articolul despre ERP-ul de la ofertă la încasare.
Ce câștigă afacerea ta
- Un singur preț. Ecranul, oferta în PDF, devizul și chatul dau aceeași cifră.
- Mai puține erori de copiere. Nimeni nu mai trage o casetă dintr-o foaie în alta.
- Istoric explicabil. Știi cu ce versiune și cu ce condiții a fost emisă fiecare ofertă.
- Marje protejate. Costul fiecărei casete îl vede doar cine are permisiune pentru costuri.
- Rapiditate. Un agent de vânzări face oferta direct în chat, cu aceeași cifră ca întotdeauna.
Este un modul pentru companiile de transport, nu este activat în toate instalările și se activează la cerere. Dacă vrei să vezi cum se comportă cu una dintre tarifele tale, solicită o demonstrație. Iar dacă cauți restul instrumentelor de vânzări, vezi oferte și contracte cu IA.
- Transport
- Tarife
- Oferte
- ADRI