Do you want to know more about the cutting-edge technology behind eCabs’ innovative solutions? Follow our Tech blog, where our expert team dives deep into the fascinating world of technology and mobility.

Utilizzare l'apprendimento automatico per la previsione delle serie temporali

Utilizzare l’apprendimento automatico per la previsione delle serie temporali con SARIMAX nel Python

In questo blog esploreremo come utilizzare SARIMAX, un potente metodo statistico, insieme alle tecniche di apprendimento automatico per la previsione di serie temporali utilizzando Python nel settore della mobilità.

Con l’introduzione dell’apprendimento automatico, i metodi statistici tradizionali sono stati migliorati per fornire previsioni più accurate e robuste.

Nel ride-hailing, prevedere i volumi dei clienti è essenziale per ottimizzare le operazioni, gestire le risorse in modo efficiente e migliorare l’esperienza del cliente. Ciò può essere ottenuto con tecniche di previsione delle serie temporali come SARIMAX.

Le tecniche di previsione delle serie temporali come SARIMAX possono svolgere un ruolo cruciale in questo senso.

Dimostreremo come possiamo applicare SARIMAX per prevedere i volumi dei clienti nel settore della mobilità.

Cos’è SARIMAX?

La media mobile integrata autoregressiva stagionale con regressori esogeni (SARIMAX) è un metodo statistico comunemente utilizzato per l’analisi e la previsione di serie temporali.

Estende il modello ARIMA incorporando parametri aggiuntivi per variazioni stagionali e variabili esogene.

I modelli SARIMAX sono ampiamente utilizzati in settori quali finanza, economia e sanità per prevedere valori futuri sulla base di modelli di dati storici.

Lo usiamo anche nel settore della mobilità.

Come si può vedere nell’istantanea seguente dei possibili input per questo metodo statistico, il pacchetto Python ha un numero diverso di possibili variabili che l’analista può utilizzare per personalizzare lo strumento.

Quelli più comunemente modificati con valori specifici dell’azienda sono “ordine” e “ordine stagionale”, mentre gli altri vengono comunemente lasciati con i valori predefiniti come descritto qui.

Leveraging machine learning

Formulazione matematica

Leveraging machine learning for time series prediction and forecasting 2

Per chi ha una mentalità matematica, questo è il modo in cui il metodo viene definito utilizzando tre serie di parametri.

I tre set di parametri:

  • Parametri stagionali (p, d, q, P, D, Q, s):
  • p: Ordine autoregressivo della componente stagionale.
  • d: Grado di differenziazione della componente stagionale.
  • q: Ordine della media mobile per la componente stagionale.
  • P: Ordine autoregressivo stagionale.
  • D: Grado di differenziazione della componente stagionale.
  • D: Ordine delle medie mobili stagionali.
  • s: periodo stagionale (ad esempio, 24 per dati orari, 7 per dati settimanali, 12 per dati mensili e 4 per dati trimestrali)

Parametri non stagionali (p, d, q):

  • p: Ordine autoregressivo per la componente non stagionale.
  • d: Grado di differenziazione per la componente non stagionale.
  • q: Ordine della media mobile per la componente non stagionale.

Variabili esogene (X):

  • Variabili aggiuntive incorporate nel modello per catturarne l’influenza sulle serie temporali.

La componente stagionale in SARIMAX tiene conto dei modelli stagionali nei dati delle serie temporali. La stagionalità si riferisce a modelli ripetitivi che si verificano a intervalli regolari, ad esempio cicli giornalieri, settimanali o annuali. Incorporando parametri stagionali, SARIMAX può catturare e modellare questi modelli in modo efficace.

La componente autoregressiva (AR) di La componente autoregressiva di SARIMAX modella la relazione tra un’osservazione e un numero di osservazioni ritardate (ovvero, valori passati della serie temporale). Questo componente cattura la dipendenza del valore corrente dai suoi valori precedenti.

La componente integrata (I): la componente integrata di SARIMAX tiene conto della non stazionarietà dei dati delle serie temporali mediante differenziazione. La non stazionarietà si riferisce alla presenza di tendenze o modelli irregolari che cambiano nel tempo. Differenziando i dati, SARIMAX li trasforma in una serie stazionaria, rendendola adatta alla modellizzazione.

La componente media mobile (MA): la componente media mobile di SARIMAX modella la dipendenza tra un’osservazione e un errore residuo da un modello di media mobile applicato alle osservazioni ritardate. Questo componente aiuta a catturare fluttuazioni e rumore a breve termine nei dati.

Le variabili esogene (X) in SARIMAX consentono l’inclusione di variabili esogene, che sono fattori esterni che possono influenzare la serie temporale ma non fanno parte della serie temporale stessa. Queste variabili potrebbero essere indicatori economici, condizioni meteorologiche o qualsiasi altro fattore rilevante che influenza il fenomeno studiato.


Flusso di lavoro della modellazione

SARIMAX Raccolta e preparazione dei dati:

  • È necessario prima raccogliere dati storici sui volumi dei clienti dal database dell’azienda o da altre fonti pertinenti. Questi dati potrebbero includere parametri come il numero di richieste di corse o prenotazioni per ora/giorno. Questi dati devono quindi essere pre-elaborati gestendo i valori mancanti, rimuovendo i valori anomali e convertendo i timestamp in oggetti datetime appropriati.

Analisi esplorativa dei dati (EDA):

  • È quindi necessario condurre un’analisi esplorativa dei dati per comprendere eventuali modelli o tendenze sottostanti nei volumi dei clienti. I dati delle serie temporali vengono quindi visualizzati utilizzando grafici a linee, istogrammi e scomposizione stagionale per identificare stagionalità, tendenze ed eventuali anomalie da utilizzare nella fase successiva.

Costruzione di modelli:

  • La parte del processo di Machine Learning (ML) inizia qui suddividendo il set di dati in set di training e test, garantendo il mantenimento dell’ordine temporale. Un modello SARIMAX viene adattato ai dati di addestramento, specificando i parametri appropriati come ordine e ordine stagionale in base ai modelli identificati nei dati nel passaggio precedente. Si possono includere anche variabili esogene come condizioni meteorologiche, festività o eventi che possono influenzare i volumi dei clienti in questa fase.

Valutazione del modello:

  • Le prestazioni del modello SARIMAX vengono quindi valutate utilizzando parametri quali errore assoluto medio (MAE), errore quadratico medio (MSE) ed errore quadratico medio radice (RMSE) sul set di test. I volumi di clienti previsti vengono confrontati con i valori effettivi per valutare l’accuratezza del modello.

Previsione:

  • Il modello SARIMAX addestrato viene quindi utilizzato per generare previsioni per periodi di tempo futuri, catturando le variazioni nei volumi dei clienti. I volumi di clienti previsti vengono visualizzati insieme agli intervalli di previsione per fornire informazioni sull’incertezza associata alle previsioni.

Conclusione

Prevedere parametri importanti nel modo più accurato possibile è fondamentale per prendere decisioni basate sui dati all’interno delle aziende, in particolare quelle del settore della mobilità, poiché consente l’ottimizzazione delle operazioni e dell’esperienza del cliente.

Sfruttando al massimo gli strumenti a disposizione, in particolare pacchetti come SARIMAX in Python per la previsione delle serie temporali, le aziende di ride-hailing come eCabs possono provare ad anticipare le fluttuazioni della domanda e dell’offerta all’interno di un mercato così volatile.

 Mastering data visualisation

Julia è Senior Data Analyst presso eCabs Technologies. Ha una laurea in Matematica e Fisica e una laurea magistrale in Apprendimento Automatico, Riconoscimento dei Pattern e Elaborazione di Immagini/Segnali. I suoi studi l’hanno portata all’Organizzazione Europea per la Ricerca Nucleare, più comunemente nota come CERN. Qui ha lavorato nell’analisi dei dati grezzi ottenuti dalle collisioni protone-piombo nel più grande e potente collider di particelle del mondo. Ha lavorato come analista di pagamenti e frodi e ha iniziato la sua carriera di analista dei dati presso una delle ‘Big Four’. Ha anche ricoperto il ruolo di analista di ricerca e supporto per l’Università di Oxford. Quando non sta facendo calcoli, la puoi trovare ad arrampicare su pareti rocciose, in palestra o a giocare ai videogiochi.

Una passione per la ricerca e lo sviluppo continuo

Una passione per la ricerca e lo sviluppo continuo

La Product Owner di eCabs Technologies, Stephanie Farrugia, fornisce una prospettiva interna su come lei e il suo team navigano nel paesaggio in continua evoluzione del settore della mobilità e su come il suo ruolo cruciale le permetta di indulgere nella sua passione per lo sviluppo continuo e la ricerca.ole allows her to indulge on her love of continuous development and research.

Puoi fornire una panoramica del tuo ruolo come Product Owner presso eCabs Technologies?

Il mio ruolo all’interno di eCabs Technologies è piuttosto dinamico. Sono la Product Owner dei Dati, che è un abilitatore aziendale cruciale, poiché consente agli stakeholder chiave di prendere decisioni tempestive e informate da un punto di vista sia strategico che operativo.

Per realizzare tutto ciò, le responsabilità principali includono assicurarsi che l’infrastruttura dati sottostante funzioni correttamente, nonché effettuare una continuativa prioritizzazione delle richieste di dati in arrivo convalidando l’impatto commerciale rispettivo.

Nel mio ruolo, devo anche fornire supporto a tutti gli altri Product Owner nel fornire le necessarie analisi dei dati come prerequisito per progettare nuove funzionalità.

Come Product Owner, e insieme al team quando specifiche richieste di reportistica dati pongono una sfida tecnica, ci assicuriamo di investigare e cercare l’approccio tecnico corretto per fornire il livello di visibilità atteso.

Durante la prima parte del mio entusiasmante viaggio con eCabs, ho lavorato principalmente sull’app per i clienti, identificando e analizzando nuove funzionalità che avrebbero facilitato il percorso del cliente.

Supportati dal nostro team di UI/UX, abbiamo facilitato il processo di prelievo, rendendo più semplice per i clienti selezionare i punti di prelievo nelle aree affollate e durante eventi speciali, tra molte altre innovazioni.

È molto gratificante utilizzare le stesse funzionalità come cliente alla fine, cosa che ho sicuramente fatto!

Come eCabs stabilisce le nuove funzionalità o i prodotti su cui lavorare, e quale ruolo svolgi nella definizione di tali decisioni?

Come team di prodotto siamo responsabili della pianificazione strategica di tutti i nostri prodotti.

Basiamo l’ordine di priorità nello sviluppo delle funzionalità elencate sulla scala dell’impatto che una funzionalità avrebbe sugli stakeholder, supportata da ricerche di mercato e analisi dei dati, poiché vogliamo fornire le funzionalità e i prodotti che contano di più.

Consideriamo anche il costo e lo sforzo necessari per sviluppare una determinata nuova funzionalità rispetto al suo valore commerciale.

Puoi parlare di recenti innovazioni o tendenze tecnologiche che eCabs sta abbracciando per rimanere all’avanguardia nel settore della mobilità?

eCabs e Google, con il supporto di TIM Italia e Noovle Malta Ltd, hanno recentemente collaborato per sfruttare l’uso del machine learning e le modalità attraverso questo concetto tecnico eCabs sarebbe in grado di fornire un’esperienza personale unica ai nostri stimati clienti.

Ciò sarebbe possibile attraverso l’applicazione di algoritmi su dati storici e in tempo reale che predirebbero le preferenze dei clienti basandosi su modelli comportamentali identificati e dinamiche esterne che influenzano tali modelli.

Ci vantiamo anche di essere tra le prime piattaforme globali di ride-hailing a sfruttare le capacità distintive della piattaforma di mobilità di Google Maps. Sfruttando i dati in tempo reale, garantiamo una spedizione precisa, tempi di arrivo stimati accurati (ETAs), un’ottimizzazione del percorso iperintelligente e una tariffe dinamiche. Questo approccio non solo facilita i viaggi rapidi, ma migliora anche l’efficienza dei costi a beneficio dei nostri preziosi passeggeri e autisti.

Puoi raccontarci delle tue interazioni con gli altri team di eCabs Technologies?

Questo è uno degli aspetti più gratificanti del nostro ruolo, poiché ideiamo prima un’idea e la traduciamo in un Documento di Requisiti di Prodotto inclusivo di un’analisi dettagliata su come pianifichiamo di soddisfare il requisito specifico.

Una volta revisionato dal rispettivo Product Owner all’interno del team, avviamo una catena di comunicazione con gli altri team a partire dall’Architetto delle Soluzioni, passando agli sviluppatori quando iniziamo a discutere del nostro prodotto da un punto di vista tecnico, magari discutendo specifiche adattamenti consigliati.

Alla fine, una volta che il prodotto è sviluppato, il nostro team di Assurance della Qualità (QA) viene coinvolto per garantire che il prodotto sia stato consegnato come basato sui scenari di ‘Behaviour-Driven-Development‘ (BDD) che avremmo documentato in precedenza, che descrivono il comportamento atteso in base a una determinata azione.

Una volta completato il testing da parte del QA, il prodotto è pronto per essere rilasciato e tutto il lavoro si concretizza!

Quali sfide hai incontrato durante lo sviluppo del prodotto presso eCabs, e come tu e il tuo team le avete superate?

La prioritizzazione è sempre un gioco complicato poiché il settore della mobilità è un’industria in rapido movimento. Essere avanti rispetto alla curva è l’unico modo per rimanere avanti alla concorrenza e stabilire le tendenze anziché seguirla.

Come team di prodotto rimaniamo sensibili agli sviluppi di mercato e, seguendo i criteri di prioritizzazione precedentemente spiegati, adattiamo la nostra pianificazione dei prodotti quando ciò è evidentemente richiesto.

eCabs Technologies opera in vari mercati. Puoi condividere alcune intuizioni su come adattate la vostra strategia di prodotto alle diverse regioni geografiche o alle preferenze dei clienti?

Investire in strumenti di localizzazione, a partire dalla traduzione della lingua, è fondamentale, mentre la ricerca su specifici requisiti di conformità normativa pertinenti alle regioni di destinazione è cruciale.

La nostra visione sottostante la nostra strategia di prodotto è quella di garantire la facilità di adattamento nell’offrire una piattaforma dinamica mirata a potenziare i nostri futuri inquilini per consentire loro di decidere o meno di implementare determinate funzionalità, compreso il supporto per diverse strategie di prezzo adatte a paesaggi di mercato diversi.

La nostra strategia operativa è focalizzata sull’accelerare e perfezionare il processo per portare rapidamente sul mercato i cambiamenti e i requisiti specifici del prodotto per ciascun paese.

Puoi evidenziare storie di successo o traguardi memorabili dal tuo periodo come Product Owner?

Come Product Owner e abilmente consegnato dal team dei dati e ben guidato dagli stakeholder chiave, abbiamo ideato un cruscotto di reportistica che sfrutta i nostri 14 anni di esperienza operativa per supportare i nostri attuali e futuri inquilini.

In questo modo, una volta a bordo, ottengono immediatamente visibilità sulle loro performance operative in quasi tempo reale.

Come ti mantieni aggiornato sulle tendenze del settore e sulle migliori pratiche per garantire che i tuoi prodotti rimangano all’avanguardia?

L’analisi continua della concorrenza e del mercato, insieme all’iscrizione a risorse tecniche rilevanti, è fondamentale per tenere il passo con l’impeto di questa industria in rapido movimento.

La condivisione di conoscenze tra i team è anche estremamente utile, un concetto ben incoraggiato e facilitato dall’azienda.

Cosa ti entusiasma del futuro di eCabs Technologies nell’industria della mobilità?

L’integrazione senza soluzione di continuità delle tecnologie all’avanguardia da parte di leader del settore come Google Cloud permette alla nostra piattaforma di navigare e capitalizzare non solo sulle opportunità di mercato attuali, ma garantisce anche la nostra prontezza per le sfide e le innovazioni che il futuro potrebbe portare, come ad esempio i veicoli autonomi.

Il fatto che ci siano crescenti pressioni per la sostenibilità e l’implementazione di politiche ambientali significa che io percepire l’industria della mobilità come un attore chiave nel sostenere questo cruciale cambiamento di mentalità supportato da un impegno serio da parte di tutte le parti interessate.

Stephanie è un’appassionata di matematica e informatica che ha lavorato in vari ruoli IT per il governo maltese, la compagnia aerea nazionale e l’industria delle telecomunicazioni. Attualmente si diverte nel ruolo di Product Owner presso eCabs Technologies. Nel tempo libero, Stephanie ama leggere autobiografie, guardare serie coinvolgenti e partecipare a corsi di fitness. Ha una passione per viaggiare, visitare cattedrali e spazi aperti, e crede nel mettersi alla prova e imparare cose nuove ogni giorno. Stephanie è mamma di una ragazza di 12 anni e ‘genitore’ di un Shih-poo di tre anni.

Driving digital transformation with Google Cloud

Guidare la trasformazione digitale con Google Cloud

eCabs ha collaborato con Google Cloud e TIM Enterprise per realizzare la propria visione, posizionando la piattaforma come un’opzione sempre attiva, contribuendo in modo positivo non solo a eCabs, ma anche ai suoi clienti e utenti finali.

L’ascesa delle app per smartphone ha ridefinito l’industria del ride-hailing, presentando sfide e opportunità per gli attori consolidati.

eCabs ha navigato con successo questa trasformazione digitale, combinando decenni di esperienza con tecnologia all’avanguardia. Ha creato una robusta piattaforma personalizzabile, progettata non solo per la propria operatività ma anche per aprire la strada all’evoluzione digitale delle compagnie di taxi tradizionali in tutta Europa e personalizzata per soddisfare le diverse esigenze degli operatori in tutto il mondo.

Mentre l’azienda proseguiva il suo percorso di trasformazione digitale, la migrazione verso Google Cloud è stata una progressione naturale, consentendo flessibilità, scalabilità e affidabilità migliorata.

Una partnership strategica

Nel intricato processo di migrazione, eCabs ha trovato un prezioso alleato inTIM Enterprise, partner di Google Cloud.

La partnership ha agevolato una transizione senza intoppi da un’infrastruttura bare metal all’architettura GKE, sbloccando soluzioni aggiuntive come BigQuery.

Con la guida di TIM Enterprise, eCabs massimizza BigQuery per un’analisi dati completa, offrendo preziosi insight ai clienti per la pianificazione e le revisioni delle prestazioni.

Sfruttando Google Kubernetes Engine (GKE), eCabs alimenta la propria architettura di microservizi, fornendo ambienti unici per gli inquilini internazionali. Questa mossa consente una rapida replicazione degli ambienti, consentendo a eCabs di acquisire rapidamente nuovi clienti e dimostrare il valore della propria piattaforma.

Google Cloud e TIM Enterprise svolgono un ruolo cruciale nel consentire a eCabs di cogliere le opportunità di mercato attuali e prepararsi per il futuro.

Mentre eCabs continua la sua espansione internazionale, utilizzando gli strumenti di Google Cloud, eCabs potenzia le compagnie di taxi tradizionali e i nuovi entranti, consentendo loro di competere con i giganti digitali del ride-hailing.

Esplora la storia di successo di eCabs sul blog di Google Cloud.

Padroneggiare la visualizzazione dei dati

Padroneggiare la visualizzazione dei dati: scegliere il giusto grafico per i tuoi dati

In questo blog, approfondiremo gli aspetti matematici e pratici della scelta del metodo di visualizzazione dati più appropriato. Offriremo insights su quando e perché dovresti utilizzare ognuno di essi.

Come senior data analyst che lavora in un’azienda di mobilità tecnologica, ho incontrato vari tipi di dati. Ho scoperto che la scelta del giusto grafico, plot o diagramma può influenzare significativamente il modo in cui si percepiscono e interpretano i dati.

Grafici a linee per dati di serie temporali

I dati di serie temporali, che rappresentano informazioni raccolte nel tempo, sono diffusi in quasi ogni settore.

Nell’industria dei taxi, monitoriamo volumi di corse giornalieri, ricavi settimanali e tendenze delle ore dei conducenti. Questo rende i grafici a linee un’ottima scelta.

La ragione è radicata nel concetto fondamentale di continuità. I grafici a linee rappresentano visivamente i punti dati connessi da linee, evidenziando la sequenza e le tendenze nei dati.

Matematicamente, i grafici a linee interpolano tra i punti dati, rendendoli adatti ai dati basati sul tempo in cui i valori intermedi sono importanti. L’interpolazione assume un cambiamento continuo nei valori tra i punti.

Creando un grafico a linee per dati di serie temporali, ricordati di assicurarti che gli intervalli di tempo tra i punti dati siano costanti, rendendolo adatto per operazioni matematiche come la differenziazione o l’integrazione, che possono essere utilizzate per l’analisi delle tendenze o le previsioni.

Il grafico a linee qui sotto illustra una crescita continua fino a un picco, scemando a una posizione relativamente simile a quella di partenza. Questo potrebbe essere un indicatore di modelli dipendenti dall’ora del giorno.

Padroneggiare la visualizzazione dei dati

Grafici a barre per dati categorici

I dati categorici, che consistono in categorie o etichette discrete, giocano un ruolo vitale nell’industria dei taxi quando si analizzano feedback dei clienti, valutazioni dei conducenti o tipi di corse.

I grafici a barre sono la scelta ideale per visualizzare dati categorici. Rappresentano ogni categoria come una barra separata, con l’altezza della barra corrispondente alla frequenza o proporzione delle occorrenze di quella categoria.

Matematicamente, i grafici a barre utilizzano un asse discreto e non continuo. Ciò significa che non c’è interpolazione tra le barre, rendendolo la scelta ideale per categorie discrete.

Inoltre, i grafici a barre sono versatili e possono essere visualizzati sia come barre orizzontali che verticali, a seconda delle preferenze.

Consentono facili confronti tra le categorie e possono essere utilizzati per illustrare tendenze o modelli nei dati. I grafici a barre qui sotto utilizzano dati fittizi identici relativi alle posizioni di prelievo degli utenti.

Le barre orizzontali e verticali sono selezionate a discrezione dell’analista e in base a ciò che è meglio per comunicare i risultati finali.

Pie chart per parti di un intero

Quando devi visualizzare la composizione di un intero set di dati, i pie chart sono uno strumento imprtante.

Nell’industria dei taxi, potresti utilizzare i grafici a torta per mostrare la suddivisione percentuale delle fonti di ricavo, delle spese o delle demografie dei clienti.

Matematicamente, rappresentano un cerchio diviso in fette, con ciascuna fetta che corrisponde alla parte di un componente dell’intero. L’angolo di ciascuna fetta è proporzionale alla dimensione del componente rispetto al tutto.

Sono particolarmente utili quando vuoi enfatizzare il rapporto parte-tutto e fornire una chiara rappresentazione visiva delle proporzioni.

Tuttavia, è importante utilizzarele con parsimonia e assicurarsi che i dati non siano troppo complessi, poiché può essere difficile confrontare più grafici a torta.

Qui sotto illustro la suddivisione degli utenti provenienti da diversi paesi, determinata dal prefisso del numero di telefono. Questo può essere utile quando si cerca di comprendere le demografie degli utenti.

Padroneggiare la visualizzazione dei dati

Diagrammi di dispersione per correlazione e relazioni

Nell’industria dei taxi, comprendere la relazione tra diverse variabili è cruciale. I diagrammi di dispersione sono un modo potente per visualizzare la correlazione tra due variabili continue.

Ciò è particolarmente utile quando si studiano fattori come la durata della corsa rispetto alla distanza percorsa o le valutazioni dei conducenti rispetto alla frequenza delle corse.

Matematicamente, i diagrammi di dispersione mostrano i punti dati come singoli punti su un piano bidimensionale, con una variabile sull’asse x e l’altra sull’asse y.

Tracciando i punti dati in questo modo, puoi valutare visualmente la presenza e la forza di eventuali relazioni lineari o non lineari tra le due variabili.

I diagrammi di dispersione ti consentono anche di individuare i valori anomali e i raggruppamenti di punti dati. Ciò può essere essenziale per rilevare anomalie o identificare specifici modelli nei tuoi dati.

Il diagramma di dispersione qui sotto illustra la relazione tra volumi e ricavi. Qui possiamo vedere una chiara relazione lineare. Possiamo facilmente estrarre un’equazione. E ora può essere utilizzata per apportare cambiamenti a favore delle esigenze dell’azienda.

Mastering data visualisation

Istogrammi per la distribuzione dei dati

Comprendere la distribuzione dei dati è cruciale nell’industria dei servizi di taxi.

Gli istogrammi sono uno strumento chiave per visualizzare la distribuzione di frequenza di una variabile continua, come tariffe delle corse, valutazioni dei clienti o tempi di attesa.

Matematicamente, gli istogrammi dividono l’intervallo di una variabile continua in intervalli o bin e rappresentano la frequenza o la densità dei punti dati che cadono in ciascun bin utilizzando barre.

La larghezza e il numero di bin possono essere regolati per perfezionare il livello di dettaglio nella visualizzazione.

Gli istogrammi ti aiutano a identificare la forma della distribuzione, compreso se è normale (a forma di campana), asimmetrica o multimodale.

Queste informazioni possono essere preziose per prendere decisioni basate sui dati e identificare aree di miglioramento.

Diagrammi a scatola per la distribuzione dei dati e gli outliers

I diagrammi a scatola, noti anche come diagrammi a scatola e baffi, forniscono un modo compatto per visualizzare la distribuzione di un set di dati e identificare potenziali outliers e confrontare le distribuzioni di gruppi diversi.

Nell’industria dei taxi, possiamo utilizzare i diagrammi a scatola per analizzare guadagni dei conducenti, tempi di attesa dei clienti o distanze delle corse in diverse città.

Matematicamente, un diagramma a scatola è composto da una scatola rettangolare e due baffi. La scatola rappresenta l’intervallo interquartile (IQR), con la mediana all’interno. I whiskers si estendono ai valori minimi e massimi entro un certo intervallo (tipicamente, 1,5 volte l’IQR).

I diagrammi a scatola sono ideali per mostrare la dispersione, l’asimmetria e la presenza di outliers nei dati.

I diagrammi a scatola sono ideali per mostrare la dispersione, l’asimmetria e la presenza di outliers nei dati.

Mappe di calore per la densità dei dati e la correlazione

Le mappe di calore sono uno strumento di visualizzazione versatile per mostrare relazioni complesse tra i dati, la densità dei dati e le correlazioni.

Nell’industria dei taxi, potresti utilizzarle per esplorare i modelli di viaggio dei clienti, identificare le ore di punta o analizzare distribuzioni geografiche e geospaziali.

Matematicamente, rappresentano i dati come una griglia di celle colorate, con l’intensità del colore di ciascuna cella che indica il valore o la densità. Le mappe di calore sono particolarmente utili per visualizzare dati su due dimensioni, come tempo e posizione.

Le mappe di calore possono rivelare tendenze, cluster o punti caldi nei tuoi dati. Questo le rende uno strumento potente per il riconoscimento di modelli e l’identificazione di aree che richiedono attenzione.

Sono particolarmente preziose quando si lavora con grandi set di dati o dati multidimensionali.

La mappa di calore qui sotto mostra la densità di volumi intorno alla nostra isola, come parte di un progetto che aveva bisogno di determinare percorsi ottimali utilizzando quantità specifiche di taxi.

Mastering data visualisation

Grafici radar per dati multivariati

Quando si tratta di dati multivariati nell’industria dei taxi, come le prestazioni dei conducenti in varie categorie o la soddisfazione dei clienti su diversi attributi, i grafici radar sono una scelta preziosa.

Matematicamente, i grafici radar rappresentano ogni variabile come un asse che si irradia dal centro. Colleghiamo i punti dati per formare un poligono. La forma del poligono fornisce un riepilogo visivo dei valori attraverso più variabili.

I grafici radar sono eccellenti per visualizzare i modelli complessivi e le differenze tra entità (ad esempio, conducenti, città o segmenti di clientela). Possono rivelare punti di forza e debolezza nelle prestazioni di ciascuna entità in modo chiaro e intuitivo.

In conclusione, la visualizzazione dei dati e i grafici sono strumenti preziosi per sbloccare gli insight nascosti nei vasti set di dati e trasmettere informazioni complesse in modo comprensibile.

Sia che tu sia un data scientist, un analista o semplicemente una persona curiosa che cerca di capire meglio il mondo intorno a te, il potere della narrazione visiva non può essere sopravvalutato.

Scegliendo il tipo giusto di visualizzazione per i tuoi dati, padroneggiando l’arte della chiarezza e della semplicità e abbracciando il mondo sempre in evoluzione delle tecnologie di visualizzazione dei dati, puoi sfruttare appieno il potenziale dei tuoi dati.

Buona visualizzazione!

Mastering data visualisation

Julia è Senior Data Analyst presso eCabs Technologies. Ha una laurea in Matematica e Fisica e una laurea magistrale in Apprendimento Automatico, Riconoscimento dei Pattern e Elaborazione di Immagini/Segnali. I suoi studi l’hanno portata all’Organizzazione Europea per la Ricerca Nucleare, più comunemente nota come CERN. Qui ha lavorato nell’analisi dei dati grezzi ottenuti dalle collisioni protone-piombo nel più grande e potente collider di particelle del mondo. Ha lavorato come analista di pagamenti e frodi e ha iniziato la sua carriera di analista dei dati presso una delle ‘Big Four’. Ha anche ricoperto il ruolo di analista di ricerca e supporto per l’Università di Oxford. Quando non sta facendo calcoli, la puoi trovare ad arrampicare su pareti rocciose, in palestra o a giocare ai videogiochi.

Dietro al codice menti innovative corse fluide

Dietro al codice: menti innovative, corse fluide

Esplora la storia, le sfide e le soluzioni ‘dietro al codice’ con il Responsabile del Team di Backend di eCabs Technologies.

Quali sono le principali responsabilità di un sviluppatore di backend nel tuo team?

Lavorando nello sviluppo del backend in eCabs, mi concentro sulla progettazione, sviluppo e manutenzione della logica lato server e dei database. Scrivo codice pulito, efficiente e riutilizzabile per garantire il corretto funzionamento della piattaforma.

La mia routine quotidiana coinvolge la collaborazione, le revisioni del codice, la formazione e l’ottimizzazione per prestazioni, scalabilità e sicurezza. Risolvo anche i problemi e mi mantengo aggiornato sulle tendenze del settore per implementare soluzioni all’avanguardia.

Come contribuisce il lavoro del tuo team al raggiungimento della missione di eCabs e al miglioramento dei servizi di trasporto?

Il lavoro del mio team è fondamentale per il raggiungimento della missione di eCabs. Ci concentriamo sull’infrastruttura di backend, garantendo che sia robusta e allineata agli obiettivi aziendali.

Con la consegna di soluzioni scalabili e di alta qualità, offriamo un’esperienza utente senza soluzione di continuità, rivoluzionando i servizi di trasporto. La nostra enfasi sulla qualità del codice e sull’ottimizzazione delle prestazioni ci posiziona per il successo e la crescita a lungo termine.

Puoi condividere un progetto specifico di cui sei orgoglioso e le sfide affrontate durante la sua implementazione?

Un progetto di cui sono particolarmente orgoglioso è la nostra transizione a multi-tenancy. Inizialmente, le nostre operazioni erano esclusive a Malta, ma questo progetto segnò un significativo passo avanti nella nostra strategia di espansione.

Ci ha permesso di estendere la nostra tecnologia sia in Grecia che in Romania, aprendo numerose possibilità entusiasmanti per il futuro.

Tuttavia, questa transizione è stata accompagnata dalle sue sfide. Adattare la nostra piattaforma al multi-tenancy richiedeva un approccio meticoloso.

Abbiamo dovuto garantire che ogni inquilino potesse accedere ai propri dati e servizi in modo fluido e sicuro, mantenendo prestazioni e affidabilità ottimali in tutte le regioni.

Quali strategie e azioni hai adottato per affrontare queste sfide? Per affrontare queste sfide, abbiamo condotto un’analisi completa della nostra infrastruttura esistente.

Questo ha informato la nostra strategia per implementare il multi-tenancy, che ha coinvolto una quasi completa ridisegnazione della nostra architettura di backend, l’ottimizzazione degli schemi di database e l’istituzione di robusti meccanismi di controllo degli accessi.

Inoltre, abbiamo messo in atto rigorosi protocolli di test per convalidare la scalabilità e la sicurezza del sistema.

L’esecuzione di successo di questa transizione non solo ha ampliato la nostra portata operativa, ma ci ha anche posizionato per ulteriore crescita ed espansione verso nuovi mercati.

Puoi descrivere le tecnologie e gli strumenti che usi nel tuo stack tecnologico per lo sviluppo del backend?

Come sviluppatore di backend, l’arsenale di tecnologie a mia disposizione è vario e adattato per soddisfare le specifiche esigenze della nostra piattaforma. Il nostro stack tecnologico è accuratamente tarato per garantire l’efficienza, la scalabilità e la robustezza dei nostri servizi.

Per i servizi legacy, Java 8 rimane un componente essenziale del nostro set di strumenti, consentendoci di mantenere stabilità e supporto per i sistemi esistenti. Per i servizi più recenti, abbiamo adottato Java 17, sfruttando le sue funzionalità all’avanguardia per costruire soluzioni innovative in linea con le migliori pratiche del settore.

Come assicurate la scalabilità nella vostra piattaforma di mobilità tecnologica, e quale ruolo giocano l’architettura cloud-native e i microservizi in questa scalabilità?

I framework giocano un ruolo centrale nel nostro processo di sviluppo. Spring Boot è un pilastro, consentendo lo sviluppo rapido di applicazioni e l’integrazione senza soluzione di continuità con vari componenti.

Inoltre, abbiamo abbracciato Quarkus, sfruttando la sua architettura leggera e reattiva per migliorare ulteriormente le prestazioni delle nostre applicazioni.

Per quanto riguarda i database, ci affidiamo a Postgres per la sua affidabilità e le robuste funzionalità. Per requisiti di dati più specializzati, abbiamo integrato MongoDB, offrendo flessibilità e scalabilità per casi d’uso specifici. E per la messaggistica e la comunicazione, utilizziamo RabbitMQ per facilitare la comunicazione asincrona tra diverse parti del nostro sistema.

Sfruttiamo anche meccanismi di pubblicazione/sottoscrizione per garantire aggiornamenti e notifiche in tempo reale.

La containerizzazione e l’orchestrazione sono fondamentali per la nostra strategia di distribuzione. Kubernetes è la spina dorsale della nostra orchestrazione dei container, fornendo un ambiente scalabile e resiliente per i nostri servizi.

Questo, in congiunzione con la nostra infrastruttura cloud, è ospitato su Google Cloud Platform (GCP), garantendo un ambiente sicuro e performante per le nostre applicazioni.

In sostanza, il nostro stack tecnologico è una miscela attentamente curata di tecnologie comprovate e soluzioni innovative. Ci consente di offrire una piattaforma ad alte prestazioni mantenendo la flessibilità per adattarci agli standard e alle esigenze in evoluzione del settore.

Come contribuiscono a questa scalabilità l’architettura nativa del cloud e i microservizi?

La scalabilità è fondamentale per la nostra piattaforma tecnologica di mobilità. Adoptiamo un’architettura nativa del cloud e microservizi, che ci consentono di scalare indipendentemente i componenti in base alla domanda.

L’auto-scaling e lo scaling orizzontale garantiscono una gestione senza intoppi dell’incremento dell’attività degli utenti. Test rigorosi e bilanciamento del carico perfezionano le prestazioni. Il nostro team esplora continuamente le nuove tecnologie per potenziare la scalabilità.

Il nostro processo di sviluppo si basa su una collaborazione efficace. Lavorando a stretto contatto con i responsabili del prodotto, i designer, gli sviluppatori frontend e gli sviluppatori mobile, assicuro una chiara comprensione degli obiettivi del progetto. La comunicazione continua, compresi i meeting giornalieri e le revisioni di design, ci mantiene allineati.

Con gli sviluppatori frontend e mobile, stabiliamo un’integrazione senza soluzione di continuità e risolviamo i problemi insieme. La condivisione di conoscenze e la formazione incrociata potenziano ulteriormente la nostra competenza collettiva, portando a soluzioni di alta qualità.

Nel campo in continua evoluzione dello sviluppo software, quali passi intraprendi per rimanere aggiornato sulle tecnologie emergenti e le tendenze del settore?

L’apprendimento continuo è fondamentale nello sviluppo software. Mantenere aggiornate le conoscenze sulle tecnologie emergenti è imperativo.

Nel dinamico campo dello sviluppo software, la compiacenza non è un’opzione. Tenere il passo con le tecnologie emergenti è cruciale.

Recenti avanzamenti come le architetture serverless e l’ampia adozione di Kubernetes hanno ridefinito il modo in cui sviluppiamo e distribuiamo. Questa adattabilità assicura che le nostre soluzioni rimangano all’avanguardia.

Il nostro processo di sviluppo prospera sulla collaborazione efficace. Lavorando a stretto contatto con product manager, designer, sviluppatori frontend e sviluppatori mobile, assicuro una chiara comprensione degli obiettivi del progetto.

Aykan Ürer, Responsabile del Team di Backend di eCabs Technologies

Abbracciare i microservizi permette una risposta rapida alle esigenze mutevoli. Un costante focus sull’osservabilità e rigorose misure di sicurezza garantiscono l’affidabilità del sistema e l’integrità dei dati.

L’impegno nell’apprendimento continuo non solo potenzia le nostre capacità, ma porta a soluzioni software innovative ed efficaci.

Nel mercato frenetico e competitivo dei servizi di ride-hailing, sostenere l’innovazione e l’agilità è cruciale. Cerchiamo attivamente il feedback dei clienti e coltiviamo una cultura di sperimentazione.

Le metodologie agili ci consentono di adattarci rapidamente alle esigenze mutevoli. Inoltre, teniamo un occhio vigile sulle tendenze del settore e investiamo nell’apprendimento continuo.

Questo approccio completo garantisce che restiamo all’avanguardia nello sviluppo, rimanendo sia competitivi che reattivi alla nostra base clienti.

Quale consiglio offriresti agli aspiranti sviluppatori di backend che entrano nell’industria della mobilità tecnologica?

Consiglierei agli aspiranti sviluppatori di backend che desiderano entrare nell’industria della mobilità tecnologica di concentrarsi su alcune aree chiave.

Innanzitutto, padroneggiare le tecnologie di base del backend è cruciale. Questo forma la base della tua competenza tecnica.

Inoltre, familiarizzati con le piattaforme cloud come AWS o Google Cloud, poiché sono fondamentali per creare un’infrastruttura scalabile e affidabile.

La comprensione dell’architettura a microservizi è altrettanto importante, poiché consente flessibilità e scalabilità in sistemi complessi.

Le API sono un pilastro nei servizi di mobilità, quindi diventare competenti nel progettare e lavorare con esse è essenziale.

Dato il carattere sensibile dei dati degli utenti, prioritizzare la conoscenza della sicurezza dei dati, della crittografia e delle normative sulla privacy è primario.

Infine, ricorda che l’apprendimento continuo non è negoziabile. L’industria tecnologica è in continua evoluzione, quindi rimanere curiosi e aperti all’adozione di nuovi strumenti e framework è imperativo.

Questa combinazione di competenza tecnica, capacità di risolvere problemi e passione per l’apprendimento aprirà senza dubbio la strada al successo nell’industria della mobilità tecnologica.

Aykan è nato e cresciuto a Tekirdag, in Turchia, ed è lì che ha iniziato il suo percorso nello sviluppo software dopo aver completato una Laurea in Ingegneria Informatica. Dopo aver acquisito qualche anno di preziosa esperienza, ha preso la decisione di trasferirsi a Malta. Attualmente, ricopre il ruolo di sviluppatore backend dedicato e responsabile del team presso eCabs. Fuori dal lavoro, si diletta in musica, provando strumenti come l’armonica, il kalimba e l’ukulele. Viaggiare, soprattutto perdersi in città sconosciute, è uno dei suoi passatempi preferiti.

Sticking to what works in ride-hailing apps

Attenersi a ciò che funziona nelle app di ride-hailing

Cosa distingue l’app di eCabs Technologies tra le migliori app di ride-hailing al mondo oggi?

Le applicazioni moderne sono incentrate sull’utente, e noi non facciamo eccezione a questa regola.

Invece di reinventare la ruota, abbiamo applicato le nostre approfondite conoscenze ed esperienze per garantire un’esperienza in-app standardizzata e senza soluzione di continuità.

Il panorama delle interfacce digitali è in costante evoluzione. Tuttavia, c’è qualcosa da dire nel rimanere fedeli a ciò con cui gli utenti sono familiari, specialmente nel mondo frenetico delle app di ride-hailing.

Nella nostra ricerca per progettare l’esperienza utente ottimale, abbiamo stabilito alcuni principi chiave che guidano le nostre decisioni.

Sticking to what works in ride-hailing apps

Un’esperienza senza soluzione di continuità ed intuitiva

Diamo la massima priorità a un’esperienza utente (UX/UI) senza soluzione di continuità che riduca l’attrito per gli utenti. Invece di cercare di essere eccessivamente innovativi, crediamo nel costruire su ciò a cui gli utenti sono già abituati nelle strutture delle app di ride-hailing. Questo approccio garantisce un’esperienza intuitiva e naturale per il nostro utente finale. Ciò assicura che i clienti possano adottare facilmente l’app di eCabs ovunque la nostra tecnologia venga utilizzata, senza incontrare curve di apprendimento ripide.

Movimenti e azioni coerenti

Proprio come ci si aspetta che un libro si apra dal lato anziché dall’alto, o che una porta si apra, le funzionalità dell’app dovrebbero seguire schemi familiari. Da eCabs, rispettiamo la “memoria muscolare mentale” che gli utenti sviluppano nel tempo. Riprodurre i movimenti esistenti significa che gli utenti non saranno colti alla sprovvista o sentiranno la necessità di imparare un nuovo modo per navigare in un’app. Ciò contribuisce anche a ridurre gli abbandoni e ad aumentare le conversioni.

Riduzione del carico cognitivo

Ogni secondo conta quando si cerca di prenotare un viaggio. Riducendo il tempo e lo sforzo di pensiero richiesti per utilizzare la nostra app, ci assicuriamo che tu possa prenotare un taxi rapidamente e senza problemi. Inoltre, ciò garantisce che i tuoi clienti finali riducano il “toggling” tra altre piattaforme di ride-hailing. Quando gli utenti sanno intuitivamente cosa fare dopo, rimangono coinvolti.

Sticking to what works in ride-hailing apps

In sostanza, la nostra filosofia di design è rendere l’esperienza di eCabs così fluida ed effortless che diventa la scelta principale quando hai bisogno di prenotare un taxi, ogni singola volta.

Abbiamo ragione?

Scarica la nostra app e facci sapere.

Kristen Jim è una designer UX/UI autodidatta di Mangalore, India, che attualmente contribuisce con la sua esperienza di progettazione a eCabs a Malta. Con una laurea in Applicazioni informatiche e un Diploma post-laurea in Gestione aziendale, ha costruito un background versatile che gli consente di connettere perfettamente i mondi del design, della tecnologia e degli affari. Kristen è appassionato di sperimentazione, cosa che lo ha portato a completare con successo numerosi progetti volti a migliorare l’esperienza degli utenti. Cresce in team diversificati e collaborativi e il suo stile di vita attivo riflette il suo approccio dinamico sia al lavoro che al gioco.

Using machine learning for cost optimisation

Utilizzare l’apprendimento automatico per l’ottimizzazione dei costi

L-importanza dell’l’apprendimento automatico.

Come analista dei dati che opera nell’industria della mobilità tecnologica, lavoro principalmente su attività incentrate sulle esigenze e i requisiti del Dipartimento Marketing.

Tuttavia, ho anche l’opportunità di collaborare con diverse squadre e lavorare su progetti che richiedono la mia competenza tecnica e scientifica.

Di recente sono stata contattata da Ruslan Golomovzy, responsabile dello sviluppo commerciale internazionale, nell’ambito di un progetto su larga scala.

L’obiettivo: pianificare una soluzione di mobilità permanente per trasportare centinaia di persone in varie destinazioni da una posizione centrale iniziale. E poi riportarle alle loro destinazioni originali.

Lo scopo: assistere il cliente in un esercizio di riduzione dei costi, riducendo il tempo di viaggio (del 50%) per garantire la soddisfazione dei dipendenti.

Si trattava di un compito impegnativo che presentava una serie unica di sfide. Proprio il tipo di sfida che mi piace affrontare.

Non potevamo semplicemente fornire un numero infinito di corse agli utenti. Poiché ciò avrebbe sforato le risorse di bilancio e interferito con le restrizioni imposte dal nostro cliente.

Quindi, cosa potevamo fare al suo posto? Alla fine, la discussione si è concentrata sul l’apprendimento automatico (machine learning).

Utilizzando il modello predittivo che ho creato, sono stata in grado di approssimare il volume degli utenti durante la finestra temporale del progetto. Puoi trovare una spiegazione di questo modello predittivo nel mio blog precedente.

Pertanto, avevo una stima approssimativa di quante vetture avremmo potuto utilizzare per questo progetto.

Indicherò questo numero di vetture disponibili (e massime) con la lettera K.

Algoritmo di ‘K-means clustering’

A una prima occhiata, sembrerebbe un esercizio relativamente semplice, giusto? Raggruppare le posizioni entro una certa distanza radiale e fornire un trasporto sufficiente a contenere ciascun cluster.

L’ottimizzazione del numero di veicoli garantisce costi minimi delle risorse e un’esperienza massima per il cliente.

Su piccola scala, ciò può essere fatto manualmente o visualmente. Ma questo esercizio in particolare coinvolgeva centinaia di passeggeri, provenienti da diverse destinazioni sparse in tutta Malta.

Così, ho esaminato il mio set di strumenti scientifici. E ho deciso di utilizzare una tecnica di apprendimento non supervisionato chiamata algoritmo di clustering K-means.

Questo algoritmo basato su centroidi è ampiamente utilizzato nell’Apprendimento Automatico. È utilizzato per raggruppare insiemi di dati non etichettati sulla base della minimizzazione della somma delle distanze tra i dati e i loro corrispondenti K cluster.

Identificare i percorsi di viaggio più efficienti

Raggruppando le posizioni di prelievo e riconsegna dei nostri clienti, siamo in grado di identificare i percorsi di viaggio più efficienti insieme al numero ottimale di vetture per questo evento particolare, garantendo anche un tempo di attesa minimo.

Machine learning Julia Vella eCabs Technologies Marketing Data Analyst
Nell’immagine di sopra è presente una schermata con una piccola parte delle posizioni geografiche per il prelievo, mostrando come non sia semplice come raggruppare punti visualmente.

Per iniziare, ho raccolto le posizioni geografiche dei punti di prelievo e riconsegna in coordinate di latitudine e longitudine al fine di elaborare preliminarmente i dati.

Li ho posizionati su una mappa per visualizzare la distribuzione in tutta Malta. In modo da poter fare una prima ipotesi sul numero di cluster che ritenevo sufficienti. Garantendo così che fosse inferiore (o uguale) al valore K che avevo determinato in precedenza.

Tuttavia, è importante notare che nella maggior parte dei casi sarebbe necessario utilizzare il metodo ‘Elbow per trovare il numero ottimale di cluster.

Dove avviene la ‘magia’

Ho scritto uno script Python per addestrare l’algoritmo di clustering K-means sul mio set di dati. E ha raggruppato queste posizioni in K cluster in base alla loro vicinanza reciproca.

L’addestramento è dove avviene la magia. In questo caso, l’addestramento è stato eseguito assegnando ciascun punto dati al cluster con il centroide più vicino. E la varianza è quindi calcolata per ciascun punto in modo tale da posizionare un nuovo centroide all’interno di ciascun cluster.

Si tratta di una procedura interattiva che si ripete fino a quando si verifica una riassegnazione. In tal caso, il modello si interrompe e i K cluster vengono definitivamente stabiliti.

Sono arrivata a un numero inferiore di cluster rispetto a quanto avevo precedentemente stimato, il che è stato soddisfacente.

I risultati finali del clustering sono stati rappresentati sulla mappa per visualizzare la proposta dell’algoritmo.

È stato interessante notare che alcuni cluster contenevano molte persone e richiedevano quindi un veicolo più grande. Mentre alcuni cluster contenevano solo due persone, quindi un veicolo più piccolo era sufficiente.

A prima vista, volevamo raggruppare questi piccoli cluster in altri più grandi per ridurre la quantità di vetture necessarie. Ma ispezionandoli attentamente, aveva più senso lasciarli isolati a causa della loro distanza dalla posizione centrale di prelievo e quindi di un tempo di guida molto più lungo, che è stata una suggerimento molto apprezzato dal metodo.

Risparmiare di tempo, denaro e risorse attraverso l’apprendimento automatico

È importante notare che alla fine della giornata, questi modelli sono suggerimenti oggettivi. Tali che se vengono fatti determinati richieste dagli utenti o se un cliente B2B ha ulteriori restrizioni, limitazioni o requisiti, possono facilmente sovrascrivere questi risultati nella fase di pianificazione finale.

In conclusione, l’algoritmo di clustering K-means si è dimostrato uno strumento prezioso per ottimizzare i percorsi di viaggio e il numero di risorse necessarie per il nostro progetto collaborativo su larga scala.

Utilizzando questa tecnica di apprendimento automatico, sono stata in grado di offrire al team B2B una soluzione per risparmiare tempo, denaro e risorse. Continuando comunque a fornire un servizio eccellente ai nostri clienti, riducendo il tempo di attesa del 50%.

Riferimenti:

Julia è Senior Data Analyst presso eCabs Technologies. Ha una laurea in Matematica e Fisica e una laurea magistrale in Apprendimento Automatico, Riconoscimento dei Pattern e Elaborazione di Immagini/Segnali. I suoi studi l’hanno portata all’Organizzazione Europea per la Ricerca Nucleare, più comunemente nota come CERN. Qui ha lavorato nell’analisi dei dati grezzi ottenuti dalle collisioni protone-piombo nel più grande e potente collider di particelle del mondo. Ha lavorato come analista di pagamenti e frodi e ha iniziato la sua carriera di analista dei dati presso una delle ‘Big Four’. Ha anche ricoperto il ruolo di analista di ricerca e supporto per l’Università di Oxford. Quando non sta facendo calcoli, la puoi trovare ad arrampicare su pareti rocciose, in palestra o a giocare ai videogiochi.