Ottimizzazione KPI e Operation flotta sharing – Milano, Torino, Bari
Contesto e obiettivi della call
La riunione coinvolge vari responsabili operativi (Gianni, Andrea, Giovanni, Antonella, Roberto, ecc.) impegnati nel car/scooter sharing in diverse città italiane (Milano, Torino, Bari). Gli obiettivi principali sono:
Rivedere le metriche chiave (availability, rotation) e correggere i malfunzionamenti dei calcoli da dashboard.
Confrontare l’esperienza passata in operatori come CitiScoot e Car2Go con l’attuale servizio B2B/B2Ride.
Valutare la copertura reale della flotta, la produttività del personale e l’impatto sui ricavi.
Definire azioni di miglioramento su playground, relocation, battery swap e struttura dei team.
Definizioni e metriche chiave
Availability (o "navalbility" / "vallability"): quota di veicoli realmente noleggiabili in una certa finestra temporale. Per la metodologia proposta va incluso qualsiasi mezzo che in quell’ora non genera revenue: scarico, in manutenzione, sequestrato, in ricarica, ecc.
Misurazione oraria → media giornaliera su 24 datapoint.
Target considerato "buono": \ge 92\,\text{%}; valore fisiologico di indisponibili: 7{-}8\,\text{%}.
Rotation (tasso di rotazione): numero di corse per veicolo.
Due viste utili:
Rotation su flotta totale (indice d’investimento).
Rotation su flotta available (indice di revenue reale).
Buffer di batteria: su CitiScoot il veicolo veniva messo OFF sotto 16\,\text{km} residui (poi aggressivamente abbassato a 8\,\text{km} in fasi di buona operatività).
Situazione flotta per città
Milano
Totale veicoli: \approx 230 (dashboard)
Mezzi fermi per assistenza: \approx 30 ((\simeq13\,\%)).
Dashboard riporta solo 51 available, ma dato ritenuto errato → bug su calcolo.
Rotation attuale molto bassa (non specificato ma «bassissimo» <1); a Bari (auto) vale \approx 0.2{-}0.3 mentre Dacia tocca 3.5.
Personale: 1 operatore multi-task + sub-contractor (Ganar) per battery swap/rebalancing; produttività media 30{-}35 task/turno (7 h).
Torino
Flotta dichiarata: 200 veicoli; operativi stimati da campo: 180, ma dashboard ne rileva solo 60 → errore Vabinity.
Personale: 1 meccanico (Castelnuovo) + problematiche di coordinamento (Spinetti).
Bari
Flotta mista: 100 auto/microcar + 50 scooter ⇒ 150 totali.
Mezzi fermi per assistenza: 10{-}15 (legato a assicurazione “casco” e tempi lunghi presso concessionari); casi di fermo da settembre → marzo.
Esperienze passate e benchmark
CitiScoot (Milano)
Flotta picco: 1350 scooter.
4 team Luper (battery swap) × 5 persone = 20 operatori + supervisore.
Turno 7 h: 3 h lavoro + 1 h pausa + 3 h lavoro → target 60 batterie/turno.
Produttività minima 50, ottima 60.
Relocation notturno con camioncino: 6 scooter a carico; priorità centro → periferia e viceversa in base a picco/off-peak.
Zone ad alta rotazione: Darsena, Bocconi, Largo Raffaele Mattioli (Scala), Via Washington/Piazza Piemonte, City Life.
Indicatore picco rotation: 4.5; media annua \approx 2.8 (ritenuto sostenibile).
Buffer playground limitato alla terza circonvallazione per evitare “annacquamento utenti/flotta”.
Car2Go
Censimento full fleet “ready to rent” disponibile nella dashboard proprietaria.
Criterio out-of-fleet: <40\,\% SOC a Madrid; <10\,\% SOC a Combastian.
Problemi individuati
Bug dashboard (Vabinity): under-count della disponibilità (es. 60/200 a Torino; 51/200 a Milano).
Personale insufficiente o poco specializzato:
Milano/Torino: un solo meccanico; un operatore multitask ⇒ dispersione.
Sub-contractor non affidabili (furgone guasto, organico variabile).
Tempi biblici di officina (assicurazione casco, concessionari ufficiali): casi di 6 mesi di fermo veicolo.
Assenza di sistema di task routing → si valuta integrazione con Switch.io come task manager e routing predittivo.
Rischio di over-deployment: aumentare flotta senza base utenti adeguata diluisce KPI (es. 10 000 utenti / 4 000 mezzi).
Strategie operative proposte
Ricalcolare hourly availability includendo tutti i veicoli non rentabili.
Distinguere rotation totale vs rotation su flotta available.
Zone/spicchi Milano (solo area 90-91) con cashback o placement preferenziale:
Darsena/Area Navigli
Bocconi
Largo Raffaele Mattioli (Scala)
Via Washington – Piazza Piemonte
City Life
Relocation massiva in blocchi da 5{-}6 scooter per stallo (evita incognita residenti e massimizza visibilità/brand awareness).
Incentivi utente (cashback ride gratuita) per spostamento Frigia → Isola, ecc.
Specializzare ruoli: Luper (battery), Meccanico stradale, Relocator; no multitasking.
Modellizzare costo personale vs revenue addizionale da incremento availability (\Delta\text{Rev} = \Delta\text{Avail} \times \text{Rotation} \times \text{ARPU}).
Modellizzazione economica (CapEx, Payback)
Introdotte due leve per migliorare BP a 3 anni:
Markup sulle riparazioni rivendute.
Valore di rivendita veicoli: ipotesi 15\,\% del prezzo d’acquisto dopo 5 anni.
Effetto: riduzione Payback Time e miglioramento cashflow.
Azioni e deliverable per la prossima call (24 / xx)
Fornire KPI aggiornati per ogni città:
Numero veicoli totali
Availability rate orario e medio giornaliero
Rotation (totale e su available)
Costi e produttività personale (task/turno, costo/ora)
Correggere bug dashboard (Roberto De Nicolò in corso) e validare con conteggio manuale.
Presentare analisi playground Milano a spicchi + heatmap rotazione (Andrea).
Inserire nel modello Excel:
Markup riparazioni
Valore rivendita 15\,\% (var parametrica 15{-}25\,\%).
Valutare budget per almeno 1 FTE aggiuntivo in operation e definire ROI.
Analizzare possibilità di chiusura deposito Frigia e migrazione a Milano Fiori (taglio fitto \sim 100\,000€/anno).
Implicazioni pratiche e filosofiche
KPI corretti non sono solo numeri: guidano decisioni d’investimento (flotta, personale) e narrativa con gli stakeholder/finanziatori.
Disponibilità e rotazione elevate alimentano il word-of-mouth e riducono customer acquisition cost (effetto rete vs pubblicità classica).
Specializzazione dei team riduce errori operativi e aumenta efficienza (Taylorismo applicato alla micromobilità).
Espansione geografica va ponderata sul trade-off "minuti per ride" vs "rotazioni/giorno" per massimizzare margine medio €/ride.
Riepilogo numerico principale
Target availability “buona”: >93\,\% – livello fisiologico di "non utilizzabile" 7{-}8\,\%.
CitiScoot: 1350 scooter, 20 Luper, 60 swap/turno, rotation picco 4.5.
Bari: 150 veicoli → 10{-}15 fermi; rotation car 3.5, scooter 0.2{-}0.3.
Milano oggi: 230 veicoli → \sim 30 fermi; rotation «bassissima».
Torino: 200 veicoli ⇒ dashboard errato (riporta 60 avail).
Relocation consigliata: blocchi 5{-}6 mezzi per stallo, zone top Darsena/Bocconi/Scala.