Come creare test di dati preziosi

Creare test di dati preziosi.

Ciò che conta non è la quantità, ma la qualità.

Foto di Shubham Dhage su Unsplash

La qualità dei dati è stata ampiamente discussa nell’ultimo anno. L’adozione sempre maggiore di contratti dati, prodotti dati e strumenti di osservabilità dei dati dimostra sicuramente l’impegno dei professionisti dei dati nel fornire dati di alta qualità ai loro consumatori. Ci piace tutti vedere questo!

Uno dei blocchi fondamentali delle soluzioni dati sono i test sui dati. È uno dei modi più fondamentali e pratici per validare la qualità dei dati ed è esplicitamente o implicitamente incorporato in molte soluzioni dati.

Anche se la sua efficacia ha portato significativi benefici ai team dei dati, solleva anche questioni su come massimizzare il suo potenziale valore perché avere più test non significa necessariamente avere una maggiore qualità dei dati. In questo articolo, voglio mostrarti alcuni approcci per la progettazione dei test sui dati. Spero che possano illuminare la questione.

È importante notare che ti consigliamo di combinare questi approcci e trovare un equilibrio che funzioni meglio per te.

Qualità > Quantità

Qualità > Quantità (Creato dall'autore)

Sono uno di quelli che amano creare test perché mi danno maggiore fiducia nelle mie soluzioni. Con una formazione in Ingegneria del Software, una volta ero convinto del motto “Più test, meglio è”. Ero sempre entusiasta dei framework dati che offrivano metodi semplici per la creazione di test sui dati.

Tuttavia, ho sottovalutato gli effetti collaterali di avere un numero eccessivo di test sui dati. (Ci sono persino effetti collaterali? SÌ!) Prima di tutto, cerchiamo di comprendere la differenza tra i test sui dati e i test di unità (cioè i test di logica). In breve, un test di unità è destinato a convalidare la correttezza della logica del codice che abbiamo scritto. Più test di unità abbiamo, più sicuri siamo nel gestire i casi limite. Ma un test sui dati va oltre la logica del codice, esamina anche la qualità dei dati di origine, le configurazioni del flusso di dati, le dipendenze a monte, e così via. Le metriche sono infinite e possono essere opprimenti. È tentatore creare numerosi test nel caso in cui possano servire, ma non sempre portano valore e potrebbero introdurre rumore inutile. Ad esempio, ammettiamolo, non tutti i flussi di dati hanno bisogno di un test di freschezza giornaliero se vengono utilizzati dagli utenti solo di tanto in tanto, e non tutte le fasi del flusso di dati richiedono lo stesso tipo di test. Avere test sui dati duplicati comporta solo avvisi ridondanti.

Ad un certo punto, mi sono perso nella creazione dei test sui dati e ho finito per avere molti test ridondanti che generavano falsi allarmi. Ho imparato che per garantire la qualità dei dati, è necessario prima garantire la qualità dei test sui dati. Non sempre la quantità è correlata alla qualità.

Adatto all’uso

Cogliere la piena voce del cliente (Creato dall'autore)

I dati possono essere considerati come un prodotto. I flussi di dati possono essere visti come sistemi di produzione di dati che prendono in input dati grezzi e producono prodotti dati. Anche se i consumatori di dati non acquistano i dati, possono decidere se utilizzarli o meno e possono fornire requisiti e feedback di conseguenza.

Il concetto di “adatto all’uso” è ampiamente adottato per misurare la qualità. Sottolinea l’importanza di cogliere la piena voce del cliente perché, alla fine, sono i consumatori a decidere il successo del prodotto. Ad esempio, quando si costruisce una biblioteca universitaria, è fondamentale tenere a mente gli studenti e gli insegnanti, il che significa che dovrebbe avere una vasta gamma di libri e risorse che coprano interessi e requisiti educativi diversi.

Quando si tratta di prodotti dati, un buon esempio sono i dati per la generazione di report. Per essere considerati di valore, gli ingegneri dovrebbero lavorare a stretto contatto con gli stakeholder per comprendere i requisiti normativi di accuratezza, affidabilità, integrità, tempestività, ecc, e quindi creare test sui dati di conseguenza.

Questo approccio è un buon punto di partenza per il percorso di creazione dei test, specialmente quando i consumatori di dati hanno una visione chiara dei loro requisiti e una buona comprensione della qualità dei dati. Può rendere la vita degli ingegneri dei dati molto più facile. Tuttavia, affidarsi esclusivamente ai requisiti degli stakeholder spesso non è sufficiente, poiché valutano i dati da una prospettiva esterna senza tenere conto delle dipendenze a monte e degli errori tecnici. In tal caso, un framework di qualità dei dati nella prossima sezione ci aiuterà a coprire la maggior parte degli scenari.

Dimensioni della qualità dei dati

Considerare il punto di vista del consumatore sulla qualità dei dati è senza dubbio un primo passo prezioso. Tuttavia, potrebbe non coprire l’esauriente della portata del test. Ampie rassegne di letteratura hanno affrontato questo problema per noi, offrendo una serie di dimensioni della qualità dei dati che sono rilevanti per la maggior parte dei casi d’uso. È consigliabile rivedere l’elenco con i consumatori di dati e determinare collettivamente quali dimensioni sono applicabili e creare test di conseguenza.

| Precisione    | Formato          | Comparabilità    || Affidabilità | Interpretabilità | Concisione        || Tempestività | Contenuto         | Libertà da pregiudizi || Rilevanza    | Efficienza       | Informatività    || Completezza | Importanza       | Livello di dettaglio || Valuta      | Sufficiente      | Quantità         || Coerenza    | Usabilità        | Ambito            || Flessibilità | Utilità          | Comprensibilità  || Precisione   | Chiarezza        |                   |

Potresti trovare questa lista troppo lunga e chiederti da dove cominciare. I prodotti dati o qualsiasi sistema di informazione possono essere osservati o analizzati da due prospettive: la vista esterna e la vista interna.

Vista esterna

Dimensioni della vista esterna (Creato dall'autore)

La vista esterna riguarda l’uso dei dati e la sua relazione con l’organizzazione. Spesso viene considerata una “black box” con funzionalità per rappresentare il sistema del mondo reale. Le dimensioni che rientrano nella vista esterna sono fortemente orientate al business. A volte, la valutazione di queste dimensioni può essere soggettiva, quindi non è sempre facile creare test automatizzati per esse. Ma diamo un’occhiata a qualche dimensione ben nota:

  • Rilevanza : Il grado in cui i dati sono applicabili e utili per l’analisi. Considerando una campagna di marketing finalizzata alla promozione di un nuovo prodotto. Tutti gli attributi dei dati dovrebbero contribuire direttamente al successo della campagna, come i dati demografici dei clienti e i dati degli acquisti. I dati come il clima della città o i prezzi del mercato azionario sono dati irrilevanti in questo caso. Un altro esempio è il livello di dettaglio (granularità). Se l’azienda desidera che i dati di mercato siano a livello giornaliero, ma vengono consegnati a livello settimanale, allora non sono rilevanti e utili.
  • Rappresentazione: Il grado in cui i dati sono interpretabili per i consumatori di dati e il formato dei dati è coerente e descrittivo. L’importanza del livello di rappresentazione spesso viene trascurata quando si valuta la qualità dei dati. Include il formato dei dati – che deve essere coerente e di facile utilizzo – e il significato dei dati – che deve essere comprensibile. Ad esempio, considera uno scenario in cui ci si aspetta che i dati siano disponibili in un file CSV con descrizioni di colonne descrittive e che i valori siano in valuta EUR anziché in centesimi.
  • Tempestività: Il grado in cui i dati sono aggiornati per i consumatori di dati. Ad esempio, l’azienda ha bisogno dei dati sulle transazioni di vendita con un ritardo massimo di 1 ora dal punto di vendita. Ciò indica che il flusso di dati dovrebbe essere aggiornato frequentemente.
  • Precisione: Il grado in cui i dati sono conformi alle regole aziendali. Le metriche dei dati sono spesso associate a regole aziendali complesse come il mapping dei dati, le modalità di arrotondamento, ecc. Sono altamente raccomandati i test automatizzati sulla logica dei dati e più ce ne sono, meglio è.

Dei quattro dimensioni, quando si tratta di creare test sui dati, la tempestività e la precisione sono più semplici. La tempestività si ottiene confrontando la colonna del timestamp con il timestamp corrente. I test di precisione sono fattibili attraverso le query dei clienti.

Vista interna

Dimensioni della vista interna (Creato dall'autore)

Al contrario, la vista interna riguarda l’operazione che rimane indipendente dai requisiti specifici. Sono essenziali indipendentemente dai casi d’uso in questione. Le dimensioni della vista interna sono più orientate alla tecnologia rispetto alle dimensioni orientate al business nella vista esterna. Significa anche che i test dei dati sono meno dipendenti dai consumatori e possono essere automatizzati nella maggior parte dei casi. Ecco alcune prospettive chiave:

  • Qualità della fonte dei dati: La qualità della fonte dei dati influisce significativamente sulla qualità complessiva dei dati finali. Il contratto dei dati è un’ottima iniziativa per garantire la qualità dei dati di origine. Come consumatori di dati della fonte, possiamo adottare un approccio simile per monitorare i dati di origine come fanno gli stakeholder dei dati quando valutano i prodotti dati.
  • Completezza: Il grado in cui l’informazione viene conservata integralmente. Man mano che aumenta la complessità del flusso di dati, è più probabile che si verifichi una perdita di informazioni nelle fasi intermedie. Consideriamo un sistema finanziario che memorizza i dati delle transazioni dei clienti. Il test di completezza assicura che tutte le transazioni attraversino con successo l’intero ciclo di vita senza essere omesse o tralasciate. Ad esempio, il saldo finale del conto dovrebbe riflettere accuratamente la situazione del mondo reale, catturando ogni transazione senza omissioni.
  • Unicità: Questa dimensione va di pari passo con il test di completezza. Mentre la completezza garantisce che nulla venga perso, l’unicità garantisce che non si verifichino duplicazioni all’interno dei dati.
  • Coerenza: Il grado in cui i dati sono coerenti tra i sistemi interni su base giornaliera. La discrepanza è un problema comune dei dati che spesso deriva da silos di dati o metodi di calcolo metrici non coerenti. Un altro aspetto del problema della coerenza si verifica tra i giorni in cui ci si aspetta che i dati abbiano un andamento di crescita costante. Qualsiasi deviazione dovrebbe sollevare un segnale di allarme per ulteriori indagini.

Vale la pena notare che ogni dimensione può essere associata a uno o più test dati. Ciò che è cruciale è comprendere l’applicazione appropriata delle dimensioni a tabelle o metriche specifiche. Solo in questo modo, più test vengono impiegati, meglio è.

Fino ad ora, abbiamo discusso delle dimensioni delle visualizzazioni esterne e delle visualizzazioni interne. Nei futuri progetti di test dati, è importante considerare entrambe le prospettive esterne e interne. Ponendo le giuste domande alle persone giuste, possiamo migliorare l’efficienza e ridurre i fraintendimenti.

Altri consigli sui test dati

Nella sezione precedente, voglio condividere alcuni consigli pratici per la creazione di test dati. Provengono dal mio lavoro quotidiano, ma siete più che benvenuti a condividerne altri nei commenti.

  • Dati errati rispetto a nessun dato: In molte soluzioni dati, i test dati vengono tipicamente condotti dopo che il modello è stato aggiornato. Ciò implica che, quando riconosciamo il problema, i dati sono già diventati “corrotti”. Se preferisci “nessun dato” rispetto a “dati errati”, puoi prima materializzare la tabella in una posizione temporanea, successivamente condurre i test. Solo se i test vengono superati con successo, il flusso di lavoro procederà copiando la tabella nella destinazione originale; altrimenti il processo verrà interrotto.
  • Test di riconciliazione: Un test di riconciliazione è un processo di convalida dati che confronta la coerenza e l’accuratezza dei dati tra due o più sistemi, di solito tra la fonte e il set di dati di destinazione. Ad esempio, due flussi di lavoro sono progettati per elaborare transazioni, vale la pena confrontare l’importo totale delle transazioni da entrambi i sistemi e dalla fonte. La presenza di qualsiasi discrepanza potrebbe potenzialmente indicare difetti nel flusso di dati.
  • Test con margine: Potremmo ricevere questa dichiarazione dagli stakeholder: “Avere 0 in questa colonna è accettabile, ma si deve evitare una quantità eccessiva”. Ciò significa che vogliono rilevare una deviazione da un pattern coerente. Molti strumenti moderni di monitoraggio dei dati forniscono funzionalità di rilevamento delle anomalie, ma se non è un’opzione per te, puoi iniziare creando test con margine. Ad esempio, non più del 5% delle righe totali dovrebbe avere un valore di 0.

Conclusioni

Come sempre, spero che tu trovi utile e stimolante questo articolo. Il punto chiave è evitare di concentrarsi troppo sulla quantità di test dati che hai creato. Non ha senso aggiungere lo stesso test su ogni singola colonna perché creerà solo molto rumore e diminuirà la tua produttività.

Cerca di tenere presente il framework di qualità dei dati prima di parlare con i consumatori e i fornitori dei dati. Sii intelligente con le tue domande e usa il framework per ispirare gli stakeholder a considerare prospettive aggiuntive dei dati. Salute!

Riferimenti

  • Anchoring data quality dimensions in ontological foundations
  • Beyond Accuracy: What Data Quality Means to Data Consumers