Articles

Dal dato all'azione: monitorare i KPI a livello globale con Snowflake

Scritto da SDG Group | 19-feb-2025 16.00.21

In questo articolo vediamo un caso concreto di come abbiamo aiutato una multinazionale a vincere la sfida del monitoraggio delle performance aziendali in diverse aree geografiche e con differenti fusi orari, tutto in tempo reale.

Affronteremo nel dettaglio l’architettura cloud di analytics che abbiamo appositamente costruito e gli strumenti utilizzati.

 

Lo scenario

Il cliente aveva bisogno di una piattaforma cloud di analytics affidabile per raccogliere e organizzare tutti i dati aziendali in un unico luogo.

L'obiettivo a livello macro? Migliorare il monitoraggio e l’analisi dei KPI di sell-in relativi a volumi e valori.

Nell'operatività quotidiana, invece, si puntava ad ottenere: 

  • Un modello dati unico, valido per tutti i paesi, per armonizzare informazioni provenienti da sistemi diversi;
  • Una versione uniforme e condivisa dei dati, per poter così confrontare i risultati effettivi sia con budget e forecast, sia con le performance di periodi passati a scelta;
  • L'istituzione di report e dashboard standardizzati su volumi di vendita, valori, budget e performance delle vendite da più prospettive (prodotto, cliente, team, periodo dell'indagine);
  • Lo smantellamento delle soluzioni BI già in uso a localmente;
  • Dati sempre aggiornati e disponibili indifferentemente dai diversi fusi orari;
  • La possibilità di svolgere in maniera semplice a livello locale progetti di analytics e intelligenza artificiale su misura.

 

Le sfide principali

Progettare l'architettura

Trovare una soluzione affidabile, performante e semplice da gestire, rispettando tutte le linee guide richieste.

Gestire la fase di rollout

Rendere più semplice e veloce l'onboarding di nuove country nella piattaforma, utilizzando metodologie chiare e tanta automazione.

 

 

La soluzione: come funziona e gli strumenti utilizzati

 

 

A livello di dati, il design consiste, per ogni country, in un'architettura Medallion in cui i dati provenienti dagli ERP locali vengono prima trasformati poi e arricchiti tramite dati utente (livello bronze), per arrivare così a popolare interamente il modello dati standard.

Al di sopra di questo c'è un'area condivisa a livello globale gold in cui i dati di tutti i paesi vengono integrati per consentire un monitoraggio e un'analisi coerenti dei risultati di tutte le country.

Dal punto di vista tecnico, il design della piattaforma di analytics cloud è stato pensato basandosi su quanto richiesto dal cliente e contemporaneamente sull'esperienza acquisita in altri progetti simili svolti in precedenza; le soluzioni software impiegate sono state identificate come le più adatte dopo un lungo e approfondito processo di selezione.

Complessivamente, la soluzione messa in piedi si poggia su un'architettura affidabile e ad alte prestazioni, a cui è stata aggiunta una combinazione di strumenti sufficientemente flessibili e versatili da poter essere utilizzati per implementare vari casi d'uso.


I tool impiegati e perchè

  1. Snowflake

    Il cuore pulsante della parte di analisi. Snowflake è stato scelto principalmente per la sua velocità di elaborazione, la facilità di ripartizione dei costi e la sua capacità di non richiedere manutenzione. Tra le altre funzionalità utili spiccano il suo modello pay-per-use, il rapido tempo di avvio dei warehouse SQL e lo zero-copy cloning. Quest’ultima caratteristica è particolarmente vantaggiosa per eseguire dei quality check automatici sulla logica di trasformazione del business durante i rilasci in ambienti di test e produzione.

  2. Matillion

    Il SaaS per l’estrazione, il caricamento, la trasformazione e l’orchestrazione dei dati. Matillion è stato scelto principalmente per la sua funzionalità di Change Data Capture, il pushdown completo della logica di trasformazione sull’analytics engine, la completa compatibilità con l'engine di destinazione (in questo caso Snowflake) e l’integrazione nativa con il repository Git.

    Tra le altre caratteristiche utili spiccano l’interfaccia unica e intuitiva, il data lineage e la gestione delle orchestrazioni complesse.

    L’ingestion dai diversi ERP avviene tramite le funzionalità integrate in Matillion. Per Navision e JD Edwards, il processo è gestito direttamente dal Matillion CDC agent, che garantisce una copia quasi in tempo reale delle tabelle sorgenti nel livello bronze, riducendo così la durata complessiva dell’ELT.

    Per SAP ECC, l’estrazione avviene tramite la connessione nativa a Matillion SAP NetWeaver.

    In questo caso l'estrazione dei dati è il primo step del processo di orchestrazione.

    Per l’ingest dei dati degli utenti, solitamente presi da file Excel, è stata sviluppata una soluzione web capace di validare i dati prima che vengano caricati nel livello bronze. Il processo inizia con la definizione dei template, delle categorie e dei permessi utente. Successivamente, gli utenti caricano i file tramite questi modelli, attivando automaticamente dei controlli su struttura del file, formati e tipi di dati delle colonne, chiavi primarie, chiavi esterne e valori nulli. Se il file supera tutti i controlli, i dati vengono caricati nel livello bronze; in caso contrario, viene fornito all’utente un elenco degli errori da correggere prima di poter ricaricare il file.


  3. Atlan

    Il tool per la Data Governance. La scelta è legata principalmente al suo approccio innovativo, che unisce data governance e DataOps. I principi chiave di DataOps sono collaborazione, agilità, affidabilità ed esperienza utente. Grazie a questo approccio business user, analisti e data engineer possono collaborare in modo semplice e migliorare l’efficienza e l’agilità dell'operatività legata ai dati.

  4. Power BI

    Viene usato per definire i modelli della reportistica. La decisione si basa principalmente sulle sue funzionalità, tra cui una UX intuitiva per la creazione di dashboard, un'ampia gamma di opzioni di data visualization, un'interfaccia self-service pensata per essere usata direttamente dagli utenti finali e la disponibilità di un’app mobile dedicata.

  5. GitHub

    GitHub è la piattaforma scelta per l’archiviazione e il versioning del codice sorgente. Il codice è organizzato in branch, con quality e master come principali. La branch master viene inoltre taggata semanticamente. Ogni sviluppo ha una propria feature branch. Le pull request vengono utilizzate per promuovere una specifica branch di sviluppo negli ambienti di quality e production, a cui è automaticamente allegata un’azione per validare il risultato.

    Inoltre, grazie a GitHub Actions, abbiamo automatizzato gran parte delle attività ripetitive della piattaforma:

    Onboarding di nuove country: l’azione esegue il provisioning dei servizi Azure, la creazione di database, schemi, tabelle e ruoli in Snowflake, oltre all’aggiunta del set standard di oggetti in Matillion in base al tipo di ERP.
    Validazione delle trasformazioni Matillion: prima della promozione negli ambienti di quality e production, questa azione verifica la naming convention e il corretto funzionamento di nuovi e modificati oggetti.
    Promozione degli sviluppi in quality e production: l’azione recupera l’elenco di nuovi e modificati oggetti, applicando le modifiche all’ambiente di destinazione ed eseguendo tutti i passaggi necessari per l’allineamento.

 

Implementazione e Rollout

Il progetto ha seguito il cosiddetto "Vanilla Approach".

Questo approccio prevede l’implementazione iniziale della soluzione nella sua forma standard, garantendone così il funzionamento universale, prima di apportare successive ed eventuali personalizzazioni dovute all’onboarding di nuove entità, in questo caso nuove country.

Le richieste aggiuntive vengono trattate come dei miglioramenti e vengono raccolte nell’ultima fase, per essere poi implementate dopo il primo rilascio. Questo approccio modulare consente ai vari paesi di avanzare attraverso le diverse fasi di implementazione in base alle risorse disponibili in ciascun momento.

Le tre fasi sono:

  1. Technical Setup: i sistemi sorgente specifici della country in questione vengono aggiunti alla piattaforma e, in base alla loro tipologia, vengono configurate le logiche standard di trasformazione del business. Questo step viene svolto tramite una GitHub action dedicata all’onboarding delle nuove entità;

  2. Technical Rollout: le peculiarità locali vengono integrate nel modello standard per allineare i dati con la BI esistente. I dataset vengono quindi inclusi nel global gold layer;

  3. Sell-In Rollout: vengono aggiunte analisi locali personalizzate non presenti nel modello standard e i dati vengono validati dagli utenti. L’ultimo passaggio prevede il rilascio dell’ecosistema della nuova country in produzione, utilizzando l’azione GitHub specifica.

L’approccio di implementazione scelto segue la metodologia Waterfall, come mostrato dalla chiara suddivisione delle fasi delineate sopra.

 

 

Conclusioni

In sintesi, in questo articolo abbiamo visto un progetto reale in cui una multinazionale aveva l'obiettivo di trovare un modo per monitorare le performance di vendita a livello globale.  

La risposta che abbiamo sviluppato in SDG Group ha previsto l'implementazione di una soluzione cloud analytics il cui design finale risulta affidabile e ad alte prestazioni grazie alle funzionalità native degli strumenti utilizzati.  

La progettazione di un’architettura cloud analytics, con linee guida e best practice correlate, richiede competenze specifiche, requisiti di business ben definiti, una roadmap dettagliata e un elenco chiaro delle caratteristiche tecniche necessarie per la selezione del software.  

Nonostante questo modello possa essere replicato con successo, tuttavia va detto come non esista un modello universale valido per tutti i contesti: la soluzione più adatta dipende sempre dallo scenario specifico e dai relativi casi d’uso.

Vuoi scoprire qual è il più adatto al tuo? Parliamone insieme!