Il bisogno
Il problema da risolvere era concreto e quotidiano: stimare in modo affidabile e continuo quante persone si trovano a bordo degli autobus urbani. Le rilevazioni manuali, sebbene accurate, sono estremamente costose e difficili da sostenere nel lungo periodo. I sistemi automatici installati sugli autobus spesso forniscono dati parziali o non rappresentativi. In questo scenario, l’obiettivo era progettare un sistema che potesse essere installato facilmente, fosse economico e non violasse la privacy degli utenti.
Afliant ha accettato la sfida partendo da un’intuizione semplice ma potente: i dispositivi mobili che le persone portano con sé (smartphone, tablet, wearable) emettono segnali WiFi anche quando non connessi a una rete. Rilevando questi segnali è possibile stimare, con un buon grado di approssimazione, quante persone si trovano in un certo ambiente. A partire da questa intuizione, l’obiettivo era costruire un modello predittivo che trasformasse il numero di segnali WiFi captati in una stima affidabile del numero di passeggeri.
Un vincolo fondamentale del progetto era l’anonimato: nessun dato personale doveva essere raccolto o trattato.
Il sistema doveva inoltre adattarsi a mezzi e linee differenti, in orari diversi e in condizioni di traffico variabili. Questo ha richiesto un disegno algoritmico flessibile e una strategia di modellazione capace di tener conto di molteplici variabili.
La soluzione
Afliant ha progettato e implementato l’intera pipeline dati, dalla sensoristica all’algoritmo predittivo. Il primo passo è stata l’installazione a bordo di alcuni autobus delle linee 6, 9 e 11 a Ferrara di sensori composti da Raspberry Pi con sistema operativo Unix e schede WiFi esterne. Questi dispositivi hanno raccolto oltre 185.000 indirizzi MAC anonimi in tre giornate di test, rilevando l’intensità del segnale (RSSI), il timestamp e altre informazioni.
Contemporaneamente, operatori di Dedagroup hanno effettuato rilevazioni manuali del numero di passeggeri saliti e scesi ad ogni fermata. Questi dati hanno costituito la “ground truth” su cui calibrare il modello predittivo. Dopo la raccolta, i dati sono stati sottoposti a un rigoroso processo di pulizia: sono stati filtrati i pacchetti con segnale debole (probabilmente esterni al bus), eliminati i dispositivi presenti troppo a lungo (come quelli degli autisti), o troppo brevemente (passanti, auto vicine). Anche le tabelle orarie sono state ripulite per allineare orari teorici e reali.
Sono stati sperimentati due approcci di Machine Learning: uno generalista, basato su un unico modello con variabili corollarie (giorno, ora, linea), e uno segmentato, con modelli distinti per ciascuna combinazione. Il secondo approccio ha portato a risultati nettamente migliori: coefficiente R² pari a 0,79 e errore relativo medio del 2,9% sulle corse più affollate.