Questo articolo ti mostrerà come creare dei bei grafici con cui popolare i tuoi report PowerPoint / PDF o lo strumento di reporting che più ti piace.

L'idea è semplice:

  • Utilizzare ChatGPT o Claude per creare un dataset sintetico che rispetti lo schema dei dati che ci interessa inserire nelle slide
  • Copiare la tabella e inserirla in Flourish per generare i grafici e testare le visualizzazioni e selezionare la migliore
  • Prendere i dati reali dalla nostra sorgente e inserirli in Flourish
  • Implementare i grafici all'interno delle slide insieme alla narrazione

La motivazione che mi porta a scrivere questo pezzo è che non sempre rimango colpito da applicativi come Flourish, e faccio onore allo strumento facendo presente a te che leggi le sue potenzialità.

Come mai non Excel, Power BI o Tableau?

  • Excel è Excel: implode con molti dati, i suoi grafici sono generalmente brutti e non ce ne sono molti a disposizione
  • Power BI: soluzione migliore di Excel, ma aggiunge complessità inutile se la nostra preoccupazione è solo la parte di visualizzazione
  • Tableau (o Qlik o simili): probabilmente quello che più si avvicina a Flourish, ma richiede un bel tira e molla per l'importing dei dati
🚅
Utilizzare Flourish per testare le nostre visualizzazioni e selezionarne le migliori è praticamente istantaneo. Questa è una caratteristica importante che gli altri strumenti non offrono.

Questo articolo si lega fortemente all'articolo Tecniche di data visualization: dal grafico allo storytelling che esplora il tema del design e narrazione di report analitici.

Vuoi leggere di più su questo argomento?
Storytelling With Data: A Data Visualization Guide for Business Professionals

Cole Nussbaumer Knaflic

Grazie a Storytelling with Data, ho scoperto che ci sono delle metodologie e "trucchetti" che fanno leva su principi di percezione visiva e linee guida di design che migliorano notevolmente l'efficacia delle nostre visualizzazioni.

Cosa è Flourish?

Flourish è uno strumento sorprendente per la creazione di grafici. Ha una scelta enorme, divisi per formato, il che aiuta non solo a far chiarezza su quello che si vuole visualizzare, ma anche a scoprire nuove visualizzazioni probabilmente ignote.

Le sue caratteristiche includono

  • È gratis
  • Creazione di una varietà enorme di grafici
  • Personalizzazione dettagliata di praticamente ogni elemento del grafico
  • Ogni grafico è embeddabile e esportabile in vari formati
  • Si possono copiare e incollare dati facilmente
  • Completamente online, nulla da installare
  • Collaborativo

Questo è un grafico generato con Flourish e esportato via embed.

Puoi raggiungere il sito di Flourish da qui 👇

Flourish | Data Visualization & Storytelling
Beautiful, easy data visualization and storytelling

Il caso d'uso

Poniamo che vogliamo creare un report PowerPoint sul nostro progetto di ricerca, che riguarda il mercato immobiliare in Italia.

Siamo interessati a

  • Capire lo stato attuale del mercato immobiliare in Italia
  • Capire quali sono le opportunità di acquisto / vendita di immobili

Abbiamo tutti i dati, e vogliamo pubblicare un report contenenti degli insight analitici.

La strada canonica è quella di prendere il dataset, esplorarlo in qualche modo (Excel, SQL, altro) e tirar fuori delle visualizzazioni sensate, possibilmente in maniera veloce per capire cosa funziona bene e cosa no.

Con questa metodologia questo non è affatto semplice, in quanto è macchinoso (già se uno non conosce SQL può essere un problema) e in base al dataset potrebbe essere addirittura impossibile plottare alcuni dati.

Serve un modo per accedere velocemente a dei dati verosimili, che siano in linea con quelli reali da noi raccolti, e che permettano la creazione veloce di grafici.

Schema e dati sintetici per sperimentare

Espandendo sulla ricerca menzionata, creiamo un file di testo con queste caratteristiche che contiene le colonne del nostro dataset, specificando il tipo di dato e una piccola descrizione.

# Schema Dati Immobiliare

## Dati Principali Immobile
- id_immobile [intero] Identificativo univoco dell'immobile
- prezzo [decimale] Prezzo richiesto in euro
- superficie [decimale] Superficie totale in metri quadrati
- prezzo_mq [decimale] Prezzo al metro quadro calcolato (prezzo/superficie)

## Localizzazione
- citta [testo] Nome della città
- provincia [testo] Sigla provincia (2 caratteri)
- zona [testo] Zona della città (es. "Centro", "Periferia Nord", ecc.)
- cap [testo] Codice di avviamento postale
- latitudine [decimale] Coordinata geografica
- longitudine [decimale] Coordinata geografica

## Caratteristiche Base
- tipologia [enumerato] Tipo di immobile ("Appartamento", "Villa", "Ufficio", "Negozio", ecc.)
- stato [enumerato] Condizioni immobile ("Nuovo", "Ristrutturato", "Da ristrutturare", "Buono stato")
- anno_costruzione [intero] Anno di costruzione dell'edificio
- piano [intero] Piano dell'immobile (0 = piano terra, -1 = seminterrato)
- n_camere [intero] Numero di camere da letto
- n_bagni [intero] Numero di bagni
- classe_energetica [enumerato] Classe energetica ("A4" a "G")

## Caratteristiche Aggiuntive
- riscaldamento [enumerato] Tipo di riscaldamento ("Autonomo", "Centralizzato", "Assente")
- ascensore [booleano] Presenza ascensore
- balcone [booleano] Presenza balcone
- terrazzo [booleano] Presenza terrazzo
- giardino [booleano] Presenza giardino
- cantina [booleano] Presenza cantina
- garage [booleano] Presenza garage/posto auto
- posti_auto [intero] Numero posti auto di proprietà

## Metrature Dettagliate
- superficie_abitabile [decimale] Superficie calpestabile in mq
- superficie_commerciale [decimale] Superficie commerciale in mq
- superficie_pertinenze [decimale] Superficie di balconi, cantine, ecc. in mq

## Dati Commerciali
- data_inserimento [data] Data di inserimento dell'annuncio
- data_vendita [data] Data di vendita (se venduto)
- prezzo_vendita [decimale] Prezzo finale di vendita
- giorni_mercato [intero] Giorni di permanenza sul mercato
- sconto_percentuale [decimale] Sconto percentuale tra prezzo richiesto e vendita

## Metadati
- ultima_modifica [timestamp] Data e ora ultima modifica
- fonte_dato [testo] Origine del dato (portale immobiliare, agenzia, ecc.)
- verificato [booleano] Dato verificato da operatore

## Note
- Gli importi sono sempre in euro
- Le superfici sono sempre in metri quadrati
- I campi booleani usano: true = presente, false = assente
- I campi opzionali sono indicati con valore null quando non disponibili
- Le coordinate geografiche usano il sistema WGS84

Questi sono dati che vogliono simulare quello che tu hai raccolto realmente per la tua ricerca. Sentiti libero di adattare questo schema come vuoi.

Ora chiediamo a Claude (in questo caso, ma puoi usare tranquillamente ChatGPT) di generare dei dati seguendo questo schema.

Usiamo il prompt

Crea un dataset campione di 5 righe seguendo questo schema dati in markdown

[ incolla qui lo schema dati ]

Claude genera un output del genere (ho sistemato la sua risposta con un po' di CSS per renderla più leggibile)

ID Prezzo (€) Superficie (m²) €/m² Città Prov. Zona CAP Tipologia Stato Anno Piano Camere Bagni Cl. En. Riscaldamento Ascensore Balcone Terrazzo Giardino Garage Data Inserimento Giorni Fonte
1 320.000 85 3.764 Milano MI Navigli 20143 Appartamento Buono stato 1975 3 2 1 E Autonomo No No No 2024-01-15 45 Immobiliare.it
2 450.000 110 4.090 Milano MI Centrale 20121 Appartamento Ristrutturato 1960 4 3 2 D Centralizzato No 2024-01-10 50 Agenzia XYZ
3 280.000 75 3.733 Milano MI Bovisa 20158 Appartamento Da ristrutturare 1965 2 2 1 G Autonomo No No No No 2024-01-20 35 Privato
4 850.000 180 4.722 Roma RM Parioli 00197 Attico Ottimo 1980 6 4 3 C Autonomo No 2024-01-05 60 Luxfinder
5 195.000 60 3.250 Roma RM San Giovanni 00183 Appartamento Buono stato 1970 2 1 1 F Centralizzato No No No 2024-01-25 30 Immobiliare.it
6 420.000 95 4.421 Roma RM Trieste 00198 Appartamento Ristrutturato 1955 3 2 2 D Autonomo No No 2024-01-12 48 Agenzia ABC
7 650.000 140 4.642 Firenze FI Centro Storico 50122 Appartamento Ottimo 1890 2 3 2 E Autonomo No No No No 2024-01-08 55 Toscana Houses
8 290.000 80 3.625 Torino TO Crocetta 10128 Appartamento Buono stato 1965 4 2 1 F Centralizzato No No 2024-01-18 40 Immobiliare.it
9 180.000 65 2.769 Bologna BO Bolognina 40129 Appartamento Da ristrutturare 1960 1 2 1 G Autonomo No No No No 2024-01-22 33 Privato
10 580.000 150 3.866 Milano MI Isola 20159 Appartamento Ristrutturato 1970 5
11 295.000 82 3.597 Roma RM Monteverde 00152 Appartamento Buono stato 1975 3 2 1 E Autonomo No No No 2024-01-28 27 Immobiliare.it
12 890.000 200 4.450 Milano MI Brera 20121 Attico Ottimo 1930 6 4 3 D Autonomo No 2024-01-02 65 Luxfinder
13 245.000 70 3.500 Torino TO San Salvario 10125 Appartamento Ristrutturato 1950 2 2 1 E Centralizzato No No No No 2024-01-30 25 Agenzia ABC
14 720.000 160 4.500 Firenze FI Santo Spirito 50124 Appartamento Ottimo 1900 3 4 2 F Autonomo 2024-01-07 58 Toscana Houses
15 350.000 90 3.888 Bologna BO Centro 40121 Appartamento Buono stato 1960 4 2 2 D Centralizzato No No 2024-01-16 44 Immobiliare.it
16 420.000 100 4.200 Milano MI Porta Romana 20135 Appartamento Ristrutturato 1965 3 3 2 C Autonomo No No 2024-01-09 51 Agenzia XYZ
17 275.000 75 3.666 Roma RM Testaccio 00153 Appartamento Buono stato 1955 2 2 1 F Centralizzato No No No No 2024-01-24 31 Privato
18 950.000 220 4.318 Milano MI Porta Venezia 20121 Attico Ottimo 1935 7 5 3 B Autonomo No 2024-01-04 61 Luxfinder
19 310.000 85 3.647 Torino TO Centro 10123 Appartamento Ristrutturato 1940 3 2 2 E Autonomo No No 2024-01-19 41 Agenzia ABC
20 680.000 145 4.689 Roma RM Trastevere 00153 Appartamento Ottimo 1920 4 3 2 D Autonomo No No 2024-01-11 49 Immobiliare.it
21 230.000 68 3.382 Bologna BO Saragozza 40123 Appartamento Buono stato 1970 2 2 1 F Centralizzato No No No 2024-01-26 29 Agenzia XYZ
22 520.000 120 4.333 Milano MI Città Studi 20133 Appartamento Ristrutturato 1960 5 3 2 C Autonomo No No 2024-01-06 59 Immobiliare.it
23 195.000 55 3.545 Torino TO Vanchiglia 10124 Appartamento Da ristrutturare 1950 1 1 1 G Autonomo No No No No 2024-01-29 26 Privato
24 780.000 175 4.457 Firenze FI Oltrarno 50125 Attico Ottimo 1880 5 4 3 D Autonomo 2024-01-01 66 Toscana Houses
25 340.000 88 3.863 Roma RM Flaminio 00196 Appartamento Buono stato 1965 3 2 2 E Centralizzato No No 2024-01-17 43 Agenzia ABC
26 620.000 135 4.592 Milano MI Porta Nuova 20124 Appartamento Ristrutturato 1970 6 3 2 C Autonomo No 2024-01-13 47 Luxfinder
27 255.000 72 3.541 Bologna BO San Donato 40127 Appartamento Da ristrutturare 1960 2 2 1 F Centralizzato No No No No 2024-01-23 32 Immobiliare.it
28 820.000 190 4.315 Roma RM Coppedè 00161 Attico Ottimo 1925 6 4 3 D Autonomo No 2024-01-14 46 Agenzia XYZ
29 285.000 78 3.653 Torino TO Cenisia 10138 Appartamento Buono stato 1955 4 2 1 E Centralizzato No No 2024-01-21 34 Agenzia ABC
30 550.000 125 4.400 Milano MI Sempione 20154 Appartamento Ristrutturato 1965 5 3 2 C Autonomo No No 2024-01-27 28 Immobiliare.it

Abbiamo tutto quello che ci serve. Ora ci spostiamo su Flourish.

Esperimenti veloci di data visualization con Flourish

Raggiungiamo il sito di Flourish e clicchiamo su "Get started now"

Una volta fatto login, creiamo una nuova visualizzazione

Ci troveremo di fronte alla potenza dello strumento

Ora passiamo al primo obiettivo della nostra ricerca

"Capire lo stato attuale del mercato immobiliare in Italia"

Per rispondere a questa domanda abbiamo parecchie strade, ma prenderemo la più semplice a scopo dimostrativo: visualizzare il prezzo delle città sulla mappa d'Italia.

Convenientemente, Flourish propone una mappa d'Italia da popolare.

Ora viene il bello. Andiamo nella tab "data", cancelliamo i dati placeholder al suo interno e incolliamo i dati generati dalla tabella di Claude.

Il setup della mappa richiede di associare la variabile "Città" con la variabile presente nella scheda "Geometry Regions". Flourish ci offre i dati della mappa, ma dobbiamo associare noi i dati manualmente utilizzando il campo "ID".

Flourish ora genererà il grafico, che potremmo vedere andando sulla tab "preview". Dopo un po' di ritocchi sulla sidebar a destra, abbiamo la nostra mappa da poter presentare nel report.

Passiamo ora alla domanda

"Capire quali sono le opportunità di acquisto / vendita di immobili"

Anche qui, partiamo dal dataset e scegliamo un grafico uno scatterplot: sono interessato a comprendere quale variabile è correlata con il prezzo.

Inseriamo il pezzo sull'asse Y e una variabile che vogliamo esplorare sulla X, in questo caso scelgo la superficie in metri quadri.

E facilmente, di nuovo, abbiamo un grafico bello e chiaro da poter inserire nel nostro report. Chiaramente è possibile espandere il discorso e combinare formati diversi per restituire altre informazioni utili.

Conclusioni

Quello che rimane da fare ora è sostituire i dati sintetici con i dati realmente raccolti e replicare i grafici costruiti precedentemente.

Hai capito che Flourish è uno strumento molto utile. Lo utilizzo per

  • iterare velocemente durante la fase esplorativa
  • personalizzare dettagliatamente i grafici da me scelti
  • creare uno storytelling bello da vedere e facile da capire

Con gli LLM è anche possibile andare oltre, e farci suggerire anche che analisi fare. Sia Claude che GPT sono in grado di creare grafici direttamente in chat. Se ci piacciono, basta ricrearli in pochi con in Flourish.