Come abbiamo sfruttato Python per analizzare i dati della comunicazione

Viviamo in un'epoca in cui i dati sono diventati una risorsa cruciale per il successo di un’azienda. Infatti, con la crescente quantità di informazioni disponibili, la capacità di analizzare e interpretare i dati è diventata una competenza fondamentale.

Vi ricordate che, in uno degli ultimi post, ho parlato del mio interesse per l'analisi dei dati? Ecco, questo è un tema che mi appassiona particolarmente, perché i dati, se ben utilizzati, possono trasformarsi in un vero e proprio motore per il miglioramento continuo.

Uno degli aspetti in cui l'analisi dati si rivela particolarmente utile è nella comunicazione aziendale: comprendere il contesto in cui operiamo e il comportamento del nostro pubblico ci permette di ottimizzare i testi, le strategie di comunicazione e le interazioni con i clienti.

In altre parole, i dati non solo ci dicono cosa sta accadendo, ma ci indicano anche come agire di conseguenza.

Perché Python per l’analisi dei dati?

Quando si tratta di analizzare i dati, le possibilità sono tante. Alcuni si affidano a strumenti come Excel o Google Analytics per ottenere insights utili. Io ho scelto Python, un linguaggio di programmazione incredibilmente versatile e adatto a svolgere analisi in modo rapido ed efficace, rendendolo perfetto per chi, come me, vuole trasformare numeri e statistiche in informazioni utili e azioni concrete.

Grazie al suo ausilio tramite Google Colab, ho esaminato nel dettaglio le performance dei contenuti che abbiamo pubblicato sui social, confrontando anche l’andamento con quello dei nostri competitors. Questo mi ha permesso di capire in modo chiaro cosa stesse funzionando e cosa no, aiutandomi a perfezionare le nostre strategie di comunicazione in maniera molto più mirata e consapevole.

Oltre ad avere come punto di forza una sintassi semplice e intuitiva, che quindi lo rende accessibile anche a chi non ha un background tecnico avanzato, Python possiede anche una grande quantità di librerie specializzate, come Pandas, NumPy, Matplotlib, che lo rendono incredibilmente flessibile e adattabile a qualsiasi tipo di analisi, permettendo di passare facilmente dall’importazione e manipolazione dei dati alla loro visualizzazione e modellazione.

Basandoci sulla nostra esperienza d’uso, andiamo a conoscere più nel dettaglio in che modo queste librerie possono essere utilizzate per ottimizzare la comunicazione e guidare decisioni strategiche.

Processo di analisi: la nostra esperienza

Si deve pensare alle librerie come a un insieme di strumenti pronti all’uso sviluppati da altri per semplificare alcune attività di codifica.

L’analisi è stata svolta sulle performance dei contenuti e sul confronto con i competitors. Due librerie, sopra citate, si sono rivelate particolarmente utili per il tipo di analisi: Pandas e Matplotlib che, sebbene diverse nei loro scopi, si completano perfettamente, permettendo di trasformare i dati grezzi in informazioni utili e azioni strategiche. La prima, permette di gestire e analizzare i dati in modo efficiente facilitando operazioni come la filtrazione, l'aggregazione e la trasformazione delle informazioni; mentre, la seconda fornisce un’ampia gamma di opzioni per la creazione di visualizzazioni personalizzate: attraverso i suoi grafici e diagrammi, è possibile rappresentare i risultati in modo intuitivo, rendendo più semplice identificare tendenze, anomalie e opportunità di miglioramento nelle performance dei contenuti.

Definisci gli obiettivi

Come in ogni analisi tecnica, prima di iniziare l’esplorazione e l’analisi dei dati, è fondamentale avere ben chiaro il processo che si intende seguire per raggiungere l’obiettivo. Ciò permette di mantenere il focus e ottimizzare i tempi, evitando passi inutili o dispersioni. Per questo motivo, tramite un tool di collaborazione visivo come Miro, ho elaborato un modello composto da diversi step che mi permette di seguire una linea guida precisa e coerente, garantendo che ogni fase del processo sia ben definita e funzionale:

1. Installazione e importazione Dataset

La pipeline inizia con l’installazione e l’importazione dei dataset per l’analisi dei dati, essenziali per caricare in maniera più rapida i dati e ottimizzare le nostre analisi.

2. Comprensione del quadro generale

Questa rappresenta una fase strategica che serve a comprendere il contesto in cui si svolgerà l’analisi. Dunque, prima di lavorare concretamente con i dati, bisogna necessariamente chiedersi: quali sono gli obiettivi? Cosa voglio scoprire?

3. Preparazione

In questa fase avviene la preparazione pratica dei dati: prima ancora di importare i dati, è super importante valutare la qualità e la struttura dei dataset a disposizione. Dunque, riguarda quel momento in cui si verifica se i dati sono completi e affidabili.

4. Studio e comprensione delle variabili

È fondamentale verificare se le variabili o le colonne siano ben definite; motivo per il quale si procede con l’identificazione delle variabili rilevanti, decidendo quali caratteristiche o colonne del dataset occorrono per l'analisi e quali no. Infatti, alle volte, si procede con l’esclusione di alcuni dati, considerati irrilevanti o superflui per l’obiettivo specifico. Nel nostro caso è stato inevitabile escludere dall’analisi alcune colonne contenenti dati inutili ai fini dell’obiettivo (vedi punto 5).

5. Importazione dati

In questa fase si procede con l’importazione della libreria Pandas, essenziale per il filtraggio e la pulizia dei dati, in modo da prepararli per la fase successiva relativa alla manipolazione e all’analisi di dati ben strutturati.

# Manipolazione dati
import pandas as pd

Dopo di che, i dati vengono importati tramite Pandas e organizzati in un DataFrame che consente di strutturarli in modo simile a una tabella relazionale di un Database, con colonne e righe. Tale struttura facilita la visualizzazione e prepara i dati per la fase successiva, che prevede la loro rappresentazione su grafici.

df_competitor = pd.read_csv('COMPETITOR_ANALYSIS.csv', header=1)  
print(df_competitor)
df_content = pd.read_csv('Content_Analysis.csv', header=1)
print(df_content)

Dopo aver compreso a fondo le variabili, per il secondo tipo di analisi focalizzata sui contenuti è stato necessario rimuovere le colonne considerate superflue, in particolare quelle relative alle sponsorizzazioni, così da evitare la ridondanza di alcuni dati.

df_content = df_content.drop(['Impressioni (sponsorizzate)', 'Clic (sponsorizzati)', 'Reazioni (sponsorizzate)', 'Commenti (sponsorizzati)', 'Diffusioni post (sponsorizzate)', 'Percentuale di interesse (sponsorizzato)'], axis=1)

6. Visualizzazione dati

Una volta ottenuti i dati giusti, e dopo averli manipolati e modellati, arriva il momento di visualizzarli per trarre conclusioni chiare e interpretazioni accurate. In questa fase entra in gioco Matplotlib, una libreria essenziale per la creazione di grafici dettagliati e personalizzati che rappresentano visivamente le informazioni e grazie al quale si può lasciare spazio alla creatività nella

# Visualizzazione dati
import matplotlib.pyplot as plt

presentazione dei dati, che si tratti di grafici a barre, a torta, a dispersione o a linee, etc.

# Grafico a barre
plt.figure(figsize=(6,4))
plt.bar(df_competitor['Competitor'], df_competitor['Total Interactions'], color='lightcoral')
plt.xlabel('Competitor')
plt.ylabel('Total Interactions')
plt.title('Total Interactions per Competitor')
plt.xticks(rotation=45)
plt.show()

In questo specifico caso, per confrontare le interazioni totali tra i vari competitors nel nostro dataset, è stato utilizzato un grafico a barre, considerato ideale per visualizzare chiaramente le differenze tra categorie. Le barre, infatti, permettono di individuare rapidamente chi ha ottenuto più interazioni e di fare confronti diretti.

Lo stesso criterio è stato adottato per le altre categorie (come Follower e Post). Grazie all’uso di colori distinti e all'etichettatura ben definita sull'asse delle ascisse, è stato facile identificare i competitors e quantificare le interazioni, così come le altre categorie di interesse, permettendo di ottenere insight immediati.

Per l’analisi dei contenuti, la colonna ‘Date’ è stata convertita in formato datatime per gestire efficientemente le date nei grafici. Dopo aver selezionato le colonne di interesse, precedentemente filtrate e rinominate tramite Pandas, è stato creato un grafico multiplo con sottotrame (o subplots), per visualizzare le diverse metriche su grafici separati, ma disposti in un’unica figura. La dimensione della figura è stata impostata in base al numero di righe, moltiplicando l'altezza di ciascuna riga per 5 unità, in modo da garantire uno spazio sufficiente per una chiara visualizzazione.

# Conversione della colonna 'Date' 

df_content['Date'] = pd.to_datetime(df_content['Date'])

#Selezione delle colonne di interesse

selected_cols = ['Organic Impressions', 'Total Impressions', 'Unique Organic Impressions', 'Organic Clicks',
'Total Clicks', 'Organic Reactions', 'Total Reactions', 'Organic Comments', 'Total Comments',
'Post Diffusions (organic)', 'Post Diffusions (total)', 'Percentage Of Interest (organic)', 'Percentage Of Interest (total)']

#Definizione del numero di sottotrame in base al numero di colonne selezionate

n_cols = 3  
n_rows = (len(selected_cols) + n_cols - 1)  

fig, axes = plt.subplots(n_rows, n_cols, figsize=(15, 5 * n_rows))

Successivamente, vengono creati grafici per ogni metrica: si procede enumerando le colonne selezionate e, attraverso un ciclo, si genera un grafico per ogni metrica.

for i, col in enumerate(selected_cols): 
  ax = axes.flatten()[i] 
  ax.plot(df_content['Date'], df_content[col], marker='o', linestyle='-') 
  ax.set_xlabel('Date')
  ax.set_ylabel('Value')
  ax.grid(True)
  ax.tick_params(axis='x', rotation=45)

Grazie al metodo axes.flatten(), la matrice degli assi viene appiattita in un array unidimensionale, permettendo di accedere facilmente a ciascun subplot tramite un singolo indice.

Per ogni sottotrama, si traccia la metrica corrispondente lungo l'asse delle Date (x) e la metrica selezionata (y), aggiungendo un marcatore circolare per ciascun punto e una linea che li collega.

Successivamente, ogni grafico viene personalizzato con un titolo corrispondente al nome della metrica, con etichette per le date e i valori, e una griglia per migliorare la leggibilità. Infine, le etichette delle date vengono ruotate di 45 gradi per evitare sovrapposizioni.

Per escludere i grafici vuoti, si rimuovono le sottotrame prive di dati, ottimizzando inoltre il layout per ridurre automaticamente lo spazio bianco tra i grafici, in modo da garantire che tutto sia ben visibile e leggibile, prima di visualizzare con plt.show() il grafico completo:

for j in range(i + 1, n_rows * n_cols):
  fig.delaxes(axes.flatten()[j])

plt.tight_layout()
plt.show()

In questo modo è stato possibile visualizzare chiaramente ogni metrica su un grafico separato, facilitando il confronto diretto tra le diverse performance nel tempo e rendendo l'analisi più ordinata e comprensibile possibile.

Un buon metodo

Ogni azienda ha il suo metodo di analisi. Nella nostra esperienza un’ottima analisi, in grado di estrarre valori concreti dai dati in modo immediato e intuitivo, si fonda su queste raccomandazioni:

  • definire chiaramente gli obiettivi prima di avviare qualunque processo di analisi per ottenere risultati più mirati e pertinenti;

  • comprendere appieno la qualità e il tipo di dati che si hanno a disposizione, sia in termini di contenuto che di struttura;

  • usare strumenti e tecniche appropriate che vadano a facilitare l’analisi, come Python e le sue librerie specializzate, è fondamentale per garantire che i processi siano efficienti e che le informazioni vengano estratte in modo tempestivo e accurato. Strumenti come Pandas e Matplotlib offrono un vantaggio competitivo, trasformando i dati grezzi in informazioni facilmente interpretabili e utili per la pianificazione strategica dei contenuti;

  • bisogna iterare e migliorare continuamente, in quanto l’analisi non è un processo statico, bensì uno strumento che evolve con l’azienda. Avere un buon metodo di analisi dati, sempre aggiornato, non solo supporta la decision-making, ma diventa un vero e proprio motore per l’innovazione aziendale, garantendo che le decisioni siano prese sulla base di fatti concreti e non di semplici intuizioni.

Vuoi realizzare un tuo progetto?

Lavoriamo e troviamo insieme la soluzione digitale che più si addice alle tue necessità.

Contattaci