Automatizzare l’estrazione KPI per la gestione della gamma prodotti

Panoramica
Batch Runner – Estrazione KPI è un motore batch sviluppato in MS Access + Excel pensato per automatizzare l’intero flusso di lavoro legato ai KPI di gamma prodotti.
Il suo obiettivo è molto concreto:
- prendere una gamma ampia e articolata in molte famiglie,
- raccogliere tutti i dati utili (vendite, stock, costi, prezzi, benchmark, stato articoli),
- trasformarli in una Dashboard (cruscotto) unica e in alcuni fogli Excel pronti per l’uso,
- il tutto in pochi minuti, con una procedura ripetibile e automatizzata.
È lo strumento che io, in qualità di product manager e la direzione commerciale, usiamo ogni giorno per prendere decisioni su:
- pricing e aggiornamento listini,
- benchmark di mercato con i prezzi della concorrenza,
- gestione degli articoli obsoleti.
Dietro c’è una struttura tecnica complessa, ma chi lo usa vede solo un’interfaccia user friendly, con pulsanti chiari e facili da trovare: si selezionano i task, si preme “Avvia” e il sistema fa il resto.
Il problema di partenza
Il contesto iniziale era quello tipico di chi gestisce una gamma estesa:
- molti dati sparsi tra file Excel, tabelle collegate del gestionale e report “storici”;
- una o più mega-query in Access che cercavano di fare tutto insieme, diventando instabili e difficili da modificare;
- estrazioni per listini, confronti prezzi e pulizia gamma fatte a colpi di copia-incolla, con grande dispendio di tempo e rischio di errore.
In pratica, per preparare materiale utile a:
- rivedere i prezzi,
- confrontarsi con il mercato,
- identificare gli articoli da dismettere,
servivano ore di manipolazioni manuali. E ogni piccola variazione nella struttura dei dati rischiava di far “saltare” le query principali.
C’era bisogno di automatizzare:
- la preparazione dei dati,
- il calcolo dei KPI,
- la produzione dei cruscotti e degli Excel operativi, in modo stabile, ripetibile e soprattutto veloce.
Una parte delicata riguardava i movimenti di magazzino in arrivo dall’ERP: acquisti, vendite, rientri. Proprio da questi movimenti derivano molti dei KPI più importanti, a partire dal costo medio ponderato degli articoli. In pratica, alcune tipologie di movimenti non rappresentavano la vera fonte di approvvigionamento e finivano per “sporcare” il costo, con effetti diretti sulla lettura dei margini e sulle decisioni di pricing.
Cosa fa lo strumento
Import e preparazione dati
La pipeline parte da una fase di import automatico delle sorgenti dati.
Cosa succede in questa fase:
- i dati grezzi arrivano da file Excel e da tabelle collegate del gestionale;
- Batch Runner li importa in tabelle temporanee dedicate dentro Access;
- vengono normalizzati codici, famiglie, sottofamiglie e attributi di prodotto;
- si applicano regole di pulizia e consolidamento (gestione null, formati incoerenti, filtri di base);
- ogni passaggio è affidato a un task specifico, che si occupa di un solo pezzo di logica.
Tutto questo avviene in modo automatizzato: l’utente non deve più aprire singole query o lanciare macro manuali, ma solo decidere quali task far girare.
Orchestrazione batch dei task (il Runner)
Il cuore del progetto è il Batch Runner, una maschera che raccoglie e orchestra tutti i task.
Dal punto di vista dell’utente:
- ogni attività (import, calcolo KPI, costruzione della Dashboard, PIVOT, export) è descritta in una tabella di registry con nome, sequenza e impostazioni;
- sulla maschera principale c’è una lista di task con una casella di spunta: si decide cosa eseguire nel run corrente;
- con un pulsante si avvia la batch: il Runner esegue i task in sequenza, in modo completamente automatizzato;
- un log in tempo reale mostra l’avanzamento: inizio task, fine, durata, eventuali errori o warning;
- è possibile lanciare un singolo task per manutenzione o test, sempre dalla stessa interfaccia;
- un comando di annullamento permette di fermare la batch in modo pulito tra un task e l’altro.
Nonostante la complessità che c’è “sotto il cofano”, l’interfaccia rimane semplice e user friendly:
- pulsanti ben etichettati (“Avvia”, “Anteprima”, “Solo questo task”, “Export”),
- layout pulito,
- tutto quello che serve è sulla maschera principale, senza dover navigare in mezzo al database.
L’obiettivo è chiaro: automatizzare il flusso, lasciando all’utente solo la scelta di cosa eseguire e quando.

Dashboard (cruscotto) per la gestione della gamma
All’interno della sequenza dei task, un passaggio fondamentale è la costruzione della Dashboard, una tabella fisica che funge da cruscotto unico della gamma prodotti.
Per ogni articolo, la Dashboard raccoglie:
- dati anagrafici e di classificazione (famiglie, sottofamiglie, segmenti interni);
- indicatori di vendita storica e peso relativo nelle varie famiglie;
- informazioni su stock, arrivi e costi di riferimento;
- KPI di margine sui listini, con logiche utili al pricing;
- flag e indicatori di coerenza tra stato commerciale e comportamento reale (articoli da rivedere, potenziali obsoleti, prodotti con anomalie).
I margini presenti in Dashboard si basano su un costo medio ponderato ripulito, calcolato selezionando solo i movimenti di magazzino che rappresentano il reale canale di approvvigionamento. Questo evita di prendere decisioni di pricing su costi “gonfiati” o “schiacciati” da movimenti anomali, e rende molto più affidabile il confronto tra famiglie, articoli e benchmark di mercato.
Questa Dashboard nasce proprio per automatizzare la produzione di un cruscotto che, prima, richiedeva tanti passaggi manuali e query complesse.
Diventa lo strumento centrale da cui:
- posso filtrare gli articoli per famiglia, performance e margine, concentrandomi subito sui punti caldi;
- posso preparare in modo rapido i materiali di supporto per la direzione commerciale e per lavorare sui listini;
- ricavo elenchi ragionati di articoli da aggiornare, mantenere o portare verso l’obsolescenza;
- avere sotto controllo tutte le comparazioni note dei nostri articoli con quelli della concorrenza.
PIVOT wide e benchmark di mercato
Sulla base della Dashboard, la pipeline costruisce una PIVOT “wide” pensata per l’analisi in Excel, con dentro anche le informazioni di benchmark di mercato (prezzi di riferimento esterni o della concorrenza).
Questa fase:
- aggancia ai dati interni (vendite, stock, margini) i dati di confronto prezzi;
- calcola scostamenti tra il prezzo attuale e il riferimento di mercato (“siamo sopra/sotto e di quanto”);
- organizza le colonne in blocchi tematici: cruscotto generale, comparazioni, indicatori avanzati di pricing, ecc.;
- mantiene una struttura stabile da run a run, così l’utente sa sempre dove trovare ogni informazione.
Il risultato è un foglio pronto per:
- rivedere i listini a livello di famiglia o di singolo codice,
- identificare articoli fuori mercato in eccesso o in difetto,
- supportare le riunioni periodiche di revisione gamma e aggiornamento listini con dati oggettivi.
Export verso Excel con regole di formattazione
L’ultimo tassello della pipeline è l’export automatizzato verso Excel.
Il Batch Runner:
- può creare, con un solo comando, un file Excel con più fogli, uno per ogni vista marcata come rilevante;
- permette anche l’export singolo di una vista specifica (es. solo la PIVOT di pricing);
- applica una formattazione standard automatica a tutti i fogli:
- intestazioni in grassetto con filtro,
- prima riga bloccata,
- colonne adattate,
- allineamento coerente;
- tratta i codici articolo come testo, per non perdere zeri iniziali o formati importanti;
- sulla PIVOT amplia le regole:
- formati percentuali automatici per margini e scostamenti,
- colori distintivi per i diversi blocchi di KPI,
- colonne chiave duplicate e portate all’inizio del foglio, con evidenziazione.
Anche qui la parola chiave è automatizzare: l’utente non deve sistemare a mano l’Excel ogni volta. Apre il file e può iniziare a lavorare subito.

Cosa cambia nella pratica
L’introduzione di Batch Runner – Estrazione KPI ha un impatto molto concreto sulla gestione quotidiana della gamma prodotti.
In pratica:
- le estrazioni per pricing e aggiornamento listini passano da ore di lavoro manuale a pochi minuti di run automatizzato;
- i confronti con il benchmark di mercato sono immediatamente disponibili nella PIVOT, senza accrocchi di Excel;
- la gestione degli obsoleti diventa più oggettiva, perché Dashboard e PIVOT mettono insieme vendite, stock, stato articoli e altri indicatori;
- io lavoro sempre sugli stessi dati aggiornati e strutturati, e quando condivido gli Excel con la direzione commerciale e altri colleghi tutti vedono esattamente lo stesso cruscotto, nello stesso formato;
- Access rimane stabile, perché il carico è distribuito su task modulari e su tabelle fisiche, non su una mega-query ingestibile.
In sintesi: automatizzare la pipeline permette di spostare il tempo dalle operazioni meccaniche (estrarre, pulire, formattare) alle attività a valore aggiunto (analizzare, decidere, pianificare).
Il mio ruolo nel progetto
Questo progetto nasce da esigenze che ho vissuto direttamente nella gestione di dati e strumenti interni per una gamma prodotti ampia e variegata.
Sono partito da una domanda semplice: “Come posso automatizzare tutto quello che oggi faccio a mano per preparare i dati di gamma, pricing e comparazioni con la concorrenza?”. Da lì ho analizzato il flusso esistente: dove si rompevano le query, dove si sprecava tempo, quali KPI mi servivano davvero per decidere sui prodotti.
Ho progettato l’architettura del Batch Runner:
- definendo la tabella di registry dei task,
- disegnando la sequenza della pipeline (import → KPI → Dashboard → PIVOT → export),
- progettando la Dashboard come cruscotto centrale.
Ho sviluppato le routine in MS Access per:
- importare e preparare i dati,
- calcolare i KPI chiave,
- costruire la Dashboard e la PIVOT wide,
- automatizzare l’export verso Excel con formattazioni coerenti.
Ho curato anche la parte di interfaccia utente, in modo che la complessità rimanesse “dietro le quinte”: una maschera principale chiara, pulsanti ben etichettati, log in tempo reale.
Nel tempo ho iterato il progetto con chi usa i dati, aggiustando viste, colori e colonne in base alle esigenze mie, dei miei collaboratori e della direzione commerciale, tenendo fermo l’obiettivo di fondo: automatizzare il più possibile, senza sacrificare la leggibilità.
