Scaffolding / S-012

Assistente di analisi dati

originalesetup: 15 min●○○

Un progetto piccolo, finito e funzionante, in un unico file Node senza dipendenze. Gli dai un CSV e, prima di calcolare qualsiasi cosa, ti dice cosa non torna nei dati: righe duplicate, valori mancanti, numeri fuori scala, date con anni anomali. Poi propone le domande che quei dati permettono di fare, e per una di esempio mostra i totali due volte: sul file così com’è, e escludendo le righe da verificare. La differenza tra i due numeri è il costo delle anomalie che nessuno aveva notato.

Il limite di progetto è voluto: lo script non corregge le anomalie da solo. Un 18.300 che sembra uno zero di troppo lo segnala; deciderlo è un atto tuo. Correggere in automatico sarebbe proprio l’errore che questo strumento insegna a evitare.

Scarica lo script: analisi-dati.mjs

Farlo girare (subito, senza chiave né costi)

Serve solo Node 20 o superiore. Il primo giro si fa a vuoto, sui dati di esempio del corso già dentro lo script:

node analisi-dati.mjs --prova

Vedi il controllo qualità che trova le quattro anomalie, l’elenco delle domande possibili, e il calcolo di esempio (fatturato per servizio) con il totale sporco e quello al netto. Poi provalo su un tuo CSV:

node analisi-dati.mjs percorso/tuo-file.csv

Sui dati completi del corso (61 righe) ritrova le stesse quattro anomalie del risultato atteso: il duplicato, l’importo mancante, il valore fuori scala, la data con l’anno sbagliato.

Cosa guardare nel codice

Lo script è commentato per essere letto. Tre punti valgono il viaggio. Il controllo qualità viene prima del calcolo, non dopo: è l’ordine che evita di sommare dati sporchi con l’aria di averli verificati. I totali si mostrano due volte, sporco e pulito, invece di un unico numero da prendere o lasciare: così l’anomalia ha un costo visibile. E l’analisi è deterministica: nessun modello linguistico calcola i totali, perché sui conti sbaglierebbe. Un modello semmai lo aggiungi dopo, per spiegare i risultati, ed è un passo separato.

Adattarlo al tuo caso

Le tre modifiche tipiche, in ordine di ambizione: cambiare le soglie del controllo qualità (la regola «oltre 10x la mediana» sta in controlloQualita, alzala o abbassala per i tuoi dati); aggiungere i controlli specifici del tuo dominio (un importo negativo dove non dovrebbe esserci, una categoria fuori da un elenco chiuso); e far eseguire più aggregati invece del solo esempio, iterando sulle proposte che lo script già elenca.

Romperlo apposta

Dagli un CSV con una colonna di ID quasi unici e guarda come sceglie su cosa raggruppare; togli l’intestazione e vedi cosa succede; metti due anomalie sulla stessa riga e controlla che le segnali entrambe. Vedere dove un’analisi automatica inciampa, e come lo dichiara, insegna più di dieci giri puliti. È lo stesso spirito del playbook «Numeri che reggono», di cui questo scaffolding è la versione eseguibile.

Scrivi per cercare fra corso, playbook, skill, paper…