Fan Chart e Forecast in Tableau

I Fan Chart sono molto utilizzati per plottare i risultati dell’analisi predittiva che è tipicamente sviluppata per prevedere il possibile andamento di variabili come i profitti o le vendite. Questo grafico mostra infatti la distribuzione probabilistica di una serie di dati nel tempo in merito ad una specifica variabile. Il Fan Chart è impiegato spesso per mostrare scenari futuri basati su modelli statistici.

Ci sono molti modelli matematici dietro le tecniche di forecasting ma Tableau utilizza il modello di “exponential smoothing” nel quale è assegnato un peso maggiore alle osservazioni più recenti rispetto a quelle lontane nel tempo perché si assume che le prime siano più informative circa il trend futuro della variabile stessa. 

In sostanza, le stime effettuate non sono altro che medie ponderate delle osservazioni passate, con i pesi che decadono esponenzialmente man mano che le osservazioni sono sempre più lontane nel tempo. 

Il modello cattura quindi il trend di evoluzione o eventuali stagionalità che la variabile rappresentata andrà a seguire in un intervallo di tempo futuro. Il risultato di un’analisi previsionale può diventare un campo all’interno della visualizzazione creata: vediamo come fare. 

Il dataset utilizzato per questo esempio è Sample – Superstore, che contiene dati in merito alle vendite di un negozio fittizio, oltre che varie altre variabili in merito ai prodotti venduti e ai profitti ricavati. Usiamo questo dataset per prevedere le vendite in merito all’anno prossimo.

Consideriamo una Dimension e una Measure per costruire il nostro Fan Chart: per prima cosa, trasciniamo Order Date in Columns, imponiamo una rappresentazione mensile e continua. Dopodiché, trasciniamo Sales in Rows: otteniamo una Line Chart che mostra l’andamento delle vendite nel periodo considerato.

Andiamo ora nella Tab Analytics, dove è presente un’apposita opzione chiamata Forecast: trasciniamo questa icona nel grafico, al di sopra della finestra apposita che si aprirà. 

Di default otterremo una previsione molto banale: Tableau sta semplicemente prendendo un punto molto vicino al valore disponibile per l’ultima osservazione plottata e lo sta proiettando nel futuro prendendo come possibile riferimento un range molto ampio di possibili valori futuri: ovviamente questa rappresentazione non è per nulla informativa e nessuna decisione può essere presa alla luce di questo grafico, che serve solo come confronto per altre tecniche di forecast che utilizzano metodi previsionali più sofisticati. 

Come ottenere un Fan Chart che rappresenti un forecasting più credibile e maggiormente informativo per le nostre Sales? 

Per ottenere una tale rappresentazione dobbiamo innanzitutto aprire le Forecast Options, cliccando con il pulsante destro direttamente sulla parte del grafico che rappresenta il trend futuro. Ci si apre un pannello da dove è possibile impostare varie opzioni per la nostra analisi predittiva: 

Dal pannello aperto è possibile decidere in primis l’estensione del lasso temporale che può essere considerato per valutare il trend futuro: ad esempio, possiamo scegliere 1 giorno, 3 mesi, 2 anni, etc. Ovviamente, maggiore sarà il lasso di tempo considerato minore sarà la bontà della nostra previsione, che può essere considerata una buona approssimazione di ciò che accadrà in futuro solo per periodi relativamente brevi. 

Possiamo scegliere poi il livello di aggregazione al quale plottare i risultati: scegliamo Months e poi scegliamo di ignorare solo il primo mese dopo l’ultimo mese per cui sono disponibili i dati reali. 

L’opzione Forecast Model ci permette di selezionare tra le opzioni Automatic, Automatic without seasonality e Custom: se il modello automatico selezionerà i valori che Tableau riterrà più probabili e il modello Automatic without seasonality evidenzierà la sola componente di trend effettivamente presente nel dataset eliminando le oscillazioni dovute ad effetti stagionali, il modello Custom ci permette di personalizzare opzioni specifiche del modello previsionale. Scegliamo Custom come Forecast Model. 

Ci appariranno due nuovi comandi con cui scegliere come calcolare la componente di Trend e la componente di Seasonality. Il comando per controllare la tipologia di trend rappresenta la tipica opzione del Double Exponential Smoothing: questo metodo consente di controllare tendenze che cambiano in modo diverso, a seconda che il trend sia lineare o esponenziale, rispettivamente. La scelta del tipo di trend da selezionare dipende dalla struttura stessa dei nostri dati: se è chiara un’evoluzione esponenziale nei dati selezioneremo Moltiplicative; al contrario, selezioneremo Additive. Se la componente di trend è ritenuta assente, selezioneremo None.

Il controllo della stagionalità appartiene invece al Triple Exponential Smoothing, che permette di controllare l’influenza della componente stagionale eventualmente presente nei dati. Come per la tendenza, anche la stagionalità può essere modellata secondo un processo additivo o moltiplicativo (oppure nullo) per definire un cambiamento lineare esponenziale nella stagionalità. Scegliamo Additive anche per la Season. 

Infine, abbiamo la possibilità di controllare anche l’intervallo di confidenza del nostro modello, quindi stabilire il grado di certezza con cui valutare le stime ottenute: imporre un intervallo di confidenza al 95% significa dire che il range graficato per contenere le predizioni fatte ha solo il 5% di probabilità di non essere accurato e quindi di non presentarsi nel futuro.
Imponiamo un intervallo di confidenza del 99%, per abbattere questo rischio. Ovviamente, otterremo un range più ampio all’interno del quale i valori futuri possono oscillare e questo rischia di rendere meno utile la stima: bisogna sempre bilanciare il trade-off presente tra livello di confidenza e informatività del dato. 

Ma come facciamo ad essere sicuri di aver identificato bene le componenti di trend e di stagionalità? Tableau mette a disposizione un’opzione ad hoc per controllare la qualità del forecasting: facendo clic con il destro sul grafico che rappresenta le stime prodotte possiamo cliccare su Describe Forecast:

La Tab Summary riassume in breve battuta tutte le opzioni delineate per costruire il modello; dopodiché ci mostra alcune statistiche interessanti in merito al modello stesso. La prima opzione da controllare è proprio “Quality” che riporta il grado di correttezza ottenuto nella costruzione del modello stesso. 


Se ci si sposta sulla Tab Models, ciò a cui si deve prestare immediatamente attenzione è invece lo MASE (Mean Absolute Scaled Error): tutto ciò che è al di sopra del valore 1.0 implica che il modello costruito performa peggio del modello costruito automaticamente da Tableau. Al contrario, più il valore ottenuto è prossimo allo zero più il modello costruito è affidabile. Ogni valore al di sotto dello 0.4 attribuisce al modello l’etichetta “good” come Quality. 

Controllato che il modello costruito è corretto, possiamo utilizzare il risultato del nostro Fan Chart in una dashboard che mostri l’andamento futuro previsto nel corso del prossimo anno per le vendite:

articoli correlati

Come costruire una Waffle Chart in Tableau

La waffle chart è un’ottima soluzione per rappresentare percentuali di un totale.  In questo articolo vengono presentati gli step per creare una “Waffle Chart” partendo

Lollipop Chart e varianti in Tableau

Una delle sfide principali da affrontare quando ci si approccia al mondo dell’analisi dati è la necessità di veicolare in maniera rapida ed efficace le

Tableau integrato da Mapbox

Tableau integrato da Mapbox La mappa è una delle visualizzazioni più utilizzate in Tableau per dare un contesto significativo ai dati. Questo ha lo  scopo