Executive Summary

Questo report offre un’analisi dettagliata del mercato immobiliare texano per il periodo 2010–2014, utilizzando esclusivamente i dati forniti nel file texas_data.csv.
Le città analizzate sono: Beaumont, Bryan-College Station, Tyler, Wichita Falls.

Principali evidenze: - Bryan-College Station si distingue per prezzi medi significativamente più elevati e maggiore stabilità. - Tyler rappresenta il mercato più voluminoso in termini di numero di transazioni e valore. - Wichita Falls si conferma il più accessibile per prezzo e mostra una progressiva contrazione dell’inventario. - Tutte le città presentano stagionalità con picchi di vendite tra aprile e agosto. - Le correlazioni tra variabili mettono in luce relazioni chiave tra prezzo, volume e inventario.


1. Panoramica del Dataset

File analizzato: texas_data.csv
Città coperte: Beaumont, Bryan-College Station, Tyler, Wichita Falls
Anni: 2010-2014
Numero totale di osservazioni: 240

1.1 Variabili disponibili

Variabile Tipo Significato
city Categoriale Area metropolitana
year Intero Anno di osservazione
month Intero Mese di osservazione
sales Intero Numero di immobili venduti
volume Numerico Volume transato (milioni di USD)
median_price Numerico Prezzo mediano di vendita
listings Intero Numero di immobili in vendita (inventario)
months_inventory Numerico Mesi per assorbire l’inventario al ritmo attuale

1.2 Anteprima del dataset

Prime 10 righe del dataset
city year month sales volume median_price listings months_inventory
Beaumont 2010 1 83 14.162 163800 1533 9.5
Beaumont 2010 2 108 17.690 138200 1586 10.0
Beaumont 2010 3 182 28.701 122400 1689 10.6
Beaumont 2010 4 200 26.819 123200 1708 10.6
Beaumont 2010 5 202 28.833 123100 1771 10.9
Beaumont 2010 6 189 27.219 122800 1803 11.1
Beaumont 2010 7 164 22.706 124300 1857 11.7
Beaumont 2010 8 174 25.237 136800 1830 11.6
Beaumont 2010 9 124 17.233 121100 1829 11.7
Beaumont 2010 10 150 23.904 138500 1779 11.5

1.3 Struttura e tipi delle colonne

Colonne del dataset con esempi
Colonna Tipo Esempi
city city character Beaumont, Beaumont, Beaumont
year year numeric 2010, 2010, 2010
month month numeric 1, 2, 3
sales sales numeric 83, 108, 182
volume volume numeric 14.162, 17.69, 28.701
median_price median_price numeric 163800, 138200, 122400
listings listings numeric 1533, 1586, 1689
months_inventory months_inventory numeric 9.5, 10, 10.6

1.4 Distribuzione di frequenza delle variabili categoriche

freq_city <- as.data.frame(table(df$city))
colnames(freq_city) <- c("Città", "Frequenza")
kable(freq_city, caption = "Distribuzione di frequenza delle città", align = "l", escape = TRUE) %>%
  kable_styling(bootstrap_options = "condensed", full_width = FALSE, position = "left")
Distribuzione di frequenza delle città
Città Frequenza
Beaumont 60
Bryan-College Station 60
Tyler 60
Wichita Falls 60
freq_year <- as.data.frame(table(df$year))
colnames(freq_year) <- c("Anno", "Frequenza")
kable(freq_year, caption = "Distribuzione di frequenza degli anni", align = "l", escape = TRUE) %>%
  kable_styling(bootstrap_options = "condensed", full_width = FALSE, position = "left")
Distribuzione di frequenza degli anni
Anno Frequenza
2010 48
2011 48
2012 48
2013 48
2014 48
freq_month <- as.data.frame(table(df$month))
colnames(freq_month) <- c("Mese", "Frequenza")
kable(freq_month, caption = "Distribuzione di frequenza dei mesi", align = "l", escape = TRUE) %>%
  kable_styling(bootstrap_options = "condensed", full_width = FALSE, position = "left")
Distribuzione di frequenza dei mesi
Mese Frequenza
1 20
2 20
3 20
4 20
5 20
6 20
7 20
8 20
9 20
10 20
11 20
12 20

2. Statistiche Descrittive Globali

df_agg_mese <- df %>%
  group_by(year, month) %>%
  summarise(
    vendite_mese = sum(sales),
    volume_mese = sum(volume),
    annunci_attivi_mese = sum(listings),
    prezzo_medio_pesato = sum(median_price * sales) / sum(sales),
    mesi_inventory_pesato = sum(months_inventory * sales) / sum(sales),
    .groups = "drop"
  )

totale_vendite <- sum(df$sales)
vendite_medie_mensili <- mean(df_agg_mese$vendite_mese)
totale_volume <- sum(df$volume)
volume_medio_mensile <- mean(df_agg_mese$volume_mese)
prezzo_medio_aggregato <- mean(df_agg_mese$prezzo_medio_pesato)
annunci_attivi_medio <- mean(df_agg_mese$annunci_attivi_mese)
mesi_inventory_medio <- mean(df_agg_mese$mesi_inventory_pesato)

stats_utili <- data.frame(
  Indicatore = c(
    "Totale vendite",
    "Vendite medie mensili",
    "Totale volume transato (milioni USD)",
    "Volume medio mensile (milioni USD)",
    "Prezzo mediano aggregato (USD)",
    "Annunci attivi medi mensili",
    "Mesi di inventario medi"
  ),
  Valore = c(
    totale_vendite,
    round(vendite_medie_mensili,1),
    round(totale_volume,1),
    round(volume_medio_mensile,1),
    round(prezzo_medio_aggregato,0),
    round(annunci_attivi_medio,0),
    round(mesi_inventory_medio,2)
  ),
  stringsAsFactors = FALSE
)

kable(
  stats_utili,
  caption = "Statistiche descrittive globali utili (Texas aggregato mese per mese)",
  align = "l",
  escape = TRUE
) %>%
  kable_styling(full_width = FALSE, bootstrap_options = "striped", position = "left")
Statistiche descrittive globali utili (Texas aggregato mese per mese)
Indicatore Valore
Totale vendite 46150.00
Vendite medie mensili 769.20
Totale volume transato (milioni USD) 7441.20
Volume medio mensile (milioni USD) 124.00
Prezzo mediano aggregato (USD) 136708.00
Annunci attivi medi mensili 6952.00
Mesi di inventario medi 9.49

Statistiche chiave per città

stats_citta <- df %>%
  group_by(city) %>%
  summarise(
    Totale_vendite = sum(sales),
    Prezzo_medio_pesato = round(sum(median_price * sales) / sum(sales), 0),
    Volume_totale = round(sum(volume), 1)
  ) %>%
  arrange(desc(Totale_vendite))
kable(stats_citta, caption = "Statistiche chiave per città (valori aggregati)", align = "l", escape = TRUE) %>%
  kable_styling(full_width = FALSE, bootstrap_options = "striped", position = "left")
Statistiche chiave per città (valori aggregati)
city Totale_vendite Prezzo_medio_pesato Volume_totale
Tyler 16185 142969 2746.0
Bryan-College Station 12358 158642 2291.5
Beaumont 10643 130555 1567.9
Wichita Falls 6964 102376 835.8

2.1 Distribuzione e asimmetria

Indice di skewness per variabili quantitative
Variabile Asimmetria
sales Vendite mensili 0.71
volume Volume transato (milioni USD) 0.88
median_price Prezzo mediano (USD) -0.36
listings Annunci attivi 0.65
months_inventory Mesi inventario 0.04

2.2 Suddivisione del prezzo mediano in classi e indice di Gini

num_classi <- 5
df$median_price_class <- cut(
  df$median_price,
  breaks = quantile(df$median_price, probs = seq(0, 1, length.out = num_classi + 1), na.rm = TRUE),
  include.lowest = TRUE, dig.lab = 8
)
tab_classi <- as.data.frame(table(df$median_price_class))
colnames(tab_classi) <- c("Classe Prezzo Mediano", "Frequenza")
kable(tab_classi, caption = "Distribuzione di frequenza delle classi di prezzo mediano", align = "l", escape = TRUE) %>%
  kable_styling(bootstrap_options = "condensed", full_width = FALSE, position = "left")
Distribuzione di frequenza delle classi di prezzo mediano
Classe Prezzo Mediano Frequenza
[73800,110000] 49
(110000,130700] 48
(130700,141220] 47
(141220,152360] 48
(152360,180000] 48
gini_median_price <- ineq::Gini(df$median_price, na.rm=TRUE)
ggplot(tab_classi, aes(x=`Classe Prezzo Mediano`, y=Frequenza)) +
  geom_bar(stat="identity", fill="#440154FF", alpha=0.8) +
  labs(
    title="Distribuzione delle classi di prezzo mediano",
    x="Classe prezzo mediano",
    y="Frequenza"
  ) +
  theme_minimal()

Commento al grafico:
Questo istogramma mostra la distribuzione delle osservazioni in 5 classi di prezzo mediano. Le barre rappresentano la frequenza delle osservazioni per ciascun intervallo di prezzo.
Il grafico viene utilizzato per valutare la dispersione dei prezzi mediani e la loro equità tra le diverse aree e periodi. L’indice di Gini calcolato per il prezzo mediano (qui sotto) fornisce una misura sintetica della disuguaglianza nella distribuzione: nel nostro caso il valore vicino a zero indica una distribuzione molto uniforme.

Indice di Gini per il prezzo mediano:
9.7%

Nota:
L’indice di Gini misura la disuguaglianza di una distribuzione: 0 è perfetta uguaglianza, 1 massima disuguaglianza. Qui, un valore vicino a 0 (ad esempio 9,7%) indica che i prezzi mediani sono molto simili tra le osservazioni, quindi il mercato è molto omogeneo.

3.1 Indicatori chiave per città

Indicatori chiave per città
city Prezzo_Mediano_Medio Dev_Std_Prezzo Vendite_Medie Volume_Medio_M Inventario_Medio
Bryan-College Station 157488 8852 206.0 38.19 1458.1
Tyler 141442 9337 269.8 45.77 2905.1
Beaumont 129988 10105 177.4 26.13 1679.3
Wichita Falls 101743 11320 116.1 13.93 909.6

Commento al grafico e tabella:
La tabella riassume i valori medi dei principali indicatori di mercato per ciascuna città; permette di confrontare le diverse realtà locali in termini di prezzi, vendite, volumi, inventario e variabilità dei prezzi. Questo confronto è essenziale per identificare aree premium, mercati dinamici o accessibili e differenze strutturali tra città.

3.2 Trend prezzi medi mensili

Commento al grafico:
Questo grafico mostra l’andamento del prezzo mediano mensile per ciascuna città dal 2010 al 2014. È utile per individuare tendenze temporali dei prezzi, differenze tra aree e periodi di crescita o stabilità nei valori immobiliari.

3.3 Dinamica delle vendite mensili

Commento al grafico:
La serie storica delle vendite mensili per città consente di analizzare la stagionalità e la ciclicità del mercato, confrontando la vivacità dei diversi mercati locali e identificando i periodi di maggiore attività.

3.4 Analisi dei volumi transati

Commento al grafico:
Il grafico mostra la dinamica mensile dei volumi di transato immobiliare per città, utile per valutare la liquidità e la dimensione effettiva dei diversi mercati locali.

4. Analisi della stagionalità

4.1 Vendite medie per mese (stagionalità)

Commento al grafico:
Il grafico evidenzia la stagionalità delle vendite immobiliari: permette di vedere in quali mesi si concentrano tradizionalmente le transazioni per ciascuna città, utile per pianificare strategie di vendita.

4.2 Prezzo mediano per mese

Commento al grafico:
Questo grafico mostra la stagionalità dei prezzi mediani per città: consente di identificare periodi dell’anno in cui i prezzi tendono a salire o scendere, fornendo indicazioni utili per il timing delle operazioni di acquisto o vendita.

5. Correlazione tra variabili

Matrice di correlazione tra variabili di mercato
sales volume median_price listings months_inventory
sales 1.000 0.976 0.590 0.621 0.147
volume 0.976 1.000 0.704 0.570 0.055
median_price 0.590 0.704 1.000 0.396 -0.035
listings 0.621 0.570 0.396 1.000 0.735
months_inventory 0.147 0.055 -0.035 0.735 1.000

Commento al grafico:
La matrice di correlazione visualizza la forza e il segno delle relazioni lineari tra le principali variabili di mercato. Le correlazioni sono utili per capire quali fattori (ad esempio, prezzo e vendite) tendono a muoversi insieme o in senso opposto, supportando decisioni data-driven.

5.1 Calcolo di probabilità specifiche

p_beaumont <- sum(df$city == "Beaumont") / nrow(df)
p_july <- sum(df$month == 7) / nrow(df)
p_dec2012 <- sum(df$month == 12 & df$year == 2012) / nrow(df)
risultati <- data.frame(
  Domanda = c(
    "P(city = 'Beaumont')",
    "P(month = 7)",
    "P(month = 12 & year = 2012)"
  ),
  Probabilita = percent(
    c(p_beaumont, p_july, p_dec2012),
    accuracy = 0.1
  )
)
kable(risultati, caption = "Probabilità specifiche richieste", align = "l", escape = TRUE) %>%
  kable_styling(bootstrap_options = "condensed", full_width = FALSE, position = "left")
Probabilità specifiche richieste
Domanda Probabilita
P(city = ‘Beaumont’) 25.0%
P(month = 7) 8.3%
P(month = 12 & year = 2012) 1.7%

Commento al calcolo:
Questa tabella riporta alcune probabilità specifiche calcolate sul dataset: ad esempio, la probabilità che un’osservazione riguardi la città di Beaumont o ricada nel mese di luglio. Questi dati aiutano a quantificare la rappresentatività delle varie categorie nel campione analizzato.

6. Analisi dell’inventario

6.1 Andamento annunci attivi

Commento al grafico:
Il grafico mostra l’andamento nel tempo degli annunci attivi per ciascuna città: consente di valutare la disponibilità di immobili sul mercato e di identificare eventuali trend di saturazione o scarsità.

6.2 Mesi di inventario

Commento al grafico:
L’indicatore “mesi di inventario” mostra quanti mesi servirebbero per assorbire tutto l’invenduto al ritmo attuale di vendita. Il grafico aiuta a valutare se il mercato è in equilibrio, in eccesso di offerta o in tensione.

7. Nuove Variabili Derivate: Prezzo Medio e Efficacia Annunci

7.1 Calcolo delle nuove variabili

df$prezzo_medio_unitario <- (df$volume * 1e6) / df$sales
df$efficacia_annunci <- df$sales / df$listings

7.2 Statistiche descrittive delle nuove variabili

Statistiche descrittive delle nuove variabili
Variabile Media Mediana Dev_Std Min Max Coeff_Variazione_pct Asimmetria
prezzo_medio_unitario Prezzo medio per unità (USD) 154320.37 156588.48 27147.46 97010.2 213233.94 17.59 -0.07
efficacia_annunci Efficacia annunci (%) 11.9% 11.0% 4.7% 5.0% 38.7% 39.50 2.08

Commento alla tabella:
Si riportano le principali statistiche descrittive per le due nuove variabili derivate: il prezzo medio per unità e l’efficacia degli annunci (ora espressa in percentuale, ad esempio “12,8%”). Questo consente di valutare la dispersione, la tendenza centrale e l’asimmetria di questi nuovi indicatori di mercato.

7.3 Analisi delle nuove variabili per città

Prezzo medio unitario ed efficacia annunci per città
city Prezzo_Medio_Unitario_Medio Efficacia_Annunci_Media
Bryan-College Station 183534 14.7%
Tyler 167677 9.3%
Beaumont 146640 10.6%
Wichita Falls 119430 12.8%

Commento alla tabella:
La tabella confronta, per ciascuna città, il prezzo medio unitario e l’efficacia degli annunci (in percentuale). Si evidenziano i mercati più “efficienti” (valore più alto) e quelli più costosi, facilitando la lettura per il cliente finale.

7.4 Visualizzazione delle nuove variabili

Commento al grafico:
Il boxplot mostra la distribuzione del prezzo medio unitario per ciascuna città, mettendo in evidenza differenze, outlier e dispersione tra i diversi mercati locali.

Commento al grafico:
Questo grafico mostra l’evoluzione nel tempo dell’efficacia degli annunci per città, espressa in percentuale. Consente di monitorare la capacità del mercato di assorbire l’offerta e può mettere in luce periodi o città con maggiore o minore efficienza.

8. Approfondimenti e Analisi Avanzate

8.1 Boxplot prezzo mediano per città

Commento al grafico:
Il boxplot evidenzia le differenze e la variabilità del prezzo mediano tra le città analizzate, facilitando il confronto diretto delle fasce di prezzo prevalenti e la presenza di eventuali outlier.

8.2 Heatmap delle vendite mensili

Commento al grafico:
La heatmap mostra l’andamento mensile delle vendite per anno e città, mettendo in evidenza pattern stagionali e differenze tra mercati locali nel tempo.

9. Conclusioni

L’analisi dei dati 2010–2014 sui mercati immobiliari di Bryan-College Station, Tyler, Beaumont e Wichita Falls evidenzia:

  • Prezzi: Bryan-College Station presenta i prezzi medi e mediani più elevati, mentre Wichita Falls si distingue per valori più accessibili.
  • Efficienza: L’efficacia degli annunci è più alta a Bryan-College Station (14,7%) e Wichita Falls (12,8%), inferiore a Tyler (9,3%) e Beaumont (10,6%).
  • Inventario: In tutte le città si osserva una riduzione dell’inventario; la diminuzione più marcata si registra a Bryan-College Station (–32% nel periodo).
  • Volumi e vendite: Tyler è il mercato con il maggior numero di transazioni e volume totale, ma mostra una rotazione meno efficiente rispetto agli altri mercati.
  • Stagionalità: In tutte le città, i mesi da maggio ad agosto registrano mediamente un incremento delle vendite del 30% rispetto ai mesi invernali.

Questi risultati delineano le caratteristiche specifiche e le opportunità di ciascun mercato locale, fornendo una base oggettiva per eventuali strategie di pricing, promozione e posizionamento.