setwd("~/ProfessionAI - Data Science/02_Statistica descrittiva/Progetto")
texas_sale = read.csv("realestate_texas.csv", sep = ",")Analisi del Mercato Immobiliare del Texas
1 Analisi delle variabili
Questa analisi ha l’obiettivo di informare il business per:
ottimizzare le strategie di vendita, tramite ad esempio l’individuazione di nuove opportunità di crescita
valutare l’efficacia degli annunci gestiti
1.1 Il dataset analizzato
Il dataset analizzato per estrarre le informazioni contenute in questo report è il Real Estate Texas.csv
1.1.1 Le librerie
Le librerie utilizzate per condurre l’analisi sono state
#1
library(ggplot2)
#2
library(moments)
#3
library(dplyr)
#4
library(lubridate)
#5
library(patchwork)rispettivamente per:
Creazione avanzata di grafici
Calcolo degli indici di varibilità
Manipolazione avanzata dei dati
1.1.2 Le variabili
Al fine di facilitare il lettore che volesse condurre ulteriori verifiche sul dataset, di seguito una breve descrizione delle varibili in esso contenute:
- city: variabile qualitativa nominale che indica le città oggetto di analisi. Assume i seguenti valori
[1] "Beaumont" "Bryan-College Station" "Tyler"
[4] "Wichita Falls"
- year: variabile quantitativa discreta su scala di intervalli che indica l’anno di riferimento. Assume i seguenti valori
[1] "2010" "2011" "2012" "2013" "2014"
- month: nonostante sia popolata nel dataset con valori numerici, la si intende come codifica di una variabile qualitativa ordinale associata ai mesi dell’anno. Assume pertanto i seguenti valori
[1] "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12"
- sales: variabile quantitativa discreta su scala di rapporti che indica il numero di vendite effettuate nel periodo (year-month) di riferimento. Questo il suo range
max(texas_sale$sales)[1] 423
min(texas_sale$sales)[1] 79
max(texas_sale$sales)-min(texas_sale$sales)[1] 344
- volume: variabile quantitativa continua su scala di rapporti che indica il valore totale (in milioni di dollari) delle vendite (sales) effettuate nel periodo (year-month) di riferimento. Questo il suo range
max(texas_sale$volume)[1] 83.547
min(texas_sale$volume)[1] 8.166
max(texas_sale$volume)-min(texas_sale$volume)[1] 75.381
- median_price: variabile quantitativa continua su scala di rapporti che indica il prezzo mediano di vendita (in dollari). Questo il suo range
max(texas_sale$median_price)[1] 180000
min(texas_sale$median_price)[1] 73800
max(texas_sale$median_price)-min(texas_sale$median_price)[1] 106200
- listings: variabile quantitativa discreta su scala di rapporti che indica il numero totale di annunci attivi. Questo il suo range
max(texas_sale$listings)[1] 3296
min(texas_sale$listings)[1] 743
max(texas_sale$listings)-min(texas_sale$listings)[1] 2553
- months_inventory: variabile quantitativa continua su scala di rapporti che indica il numero di mesi necessari per vendere tutte le inserzioni correnti. Questo il suo range
max(texas_sale$months_inventory)[1] 14.9
min(texas_sale$months_inventory)[1] 3.4
max(texas_sale$months_inventory)-min(texas_sale$months_inventory)[1] 11.5
1.1.3 Considerazioni sulle variabili
Le variabili temporali, come year e month saranno utili per poter fare confronti storici in tutto l’arco del tempo presente nel dataset, vale a dire da gennaio 2010 a dicembre 2014. Si prestano bene per questo tipo di analisi le vendite (sales) o i volumi (volume), previa verifica che le 2 variabili siano utilizzabili alternativamente presentando gli stessi andamenti.
Si può inoltre valutare le vendite alla luce dell’andamento storico degli annunci gestiti (listings) e valutare così l’efficacia di vendita.
Si può utilizzare le varibili qualitative per effettuare confronti tra le città (city) ad esempio e valutare se ci siano mercati promettenti. Il confronto dei volumi sui mesi può indicarci la presenza di cicli o stagionalità nella vendita delle case, sempre tenendo conto delle diverse città.
Come gli annunci possono essere un indicatore di efficacia nella vendita, la variabile months_inventory può essere invece un indicatore di efficienza e lo si può pertanto studiare per individuare potenziali problemi o casi virtuosi.
2 Gli indici
Di seguito verranno calcolati gli indici di posizione, variabilità e forma per iniziare a trarre le prime conclusioni sullo studio delle variabili
2.1 Gli indici di posizione
Gli indici di posizione danno un primo livello di informazione sulle variabili, fornendo dati come la media, mediana, moda e i quartili.
Per le variabili qualitative non verrà condotta una distribuzione di frequenza poichè non avrebbe senso per come il dataset è costruito. Esiste difatti una riga per ogni combinazione città-mese-anno e quindi sia le città, che i mesi che gli anni sono equidistribuiti.
Per le variabili quantitative invece, di seguito una tabella che mostra per ciascuna variabile i relativi indici di posizione.
pos_sales = summary(texas_sale$sales)
pos_volume = summary(texas_sale$volume)
pos_median_price = summary(texas_sale$median_price)
pos_listings = summary(texas_sale$listings)
pos_months_inventory = summary(texas_sale$months_inventory)
pos_global = data.frame(cbind(pos_sales,pos_volume,pos_median_price,pos_listings,pos_months_inventory))
pos_global| pos_sales | pos_volume | pos_median_price | pos_listings | pos_months_inventory | |
|---|---|---|---|---|---|
| Min. | 79.0000 | 8.16600 | 73800.0 | 743.000 | 3.4000 |
| 1st Qu. | 127.0000 | 17.65950 | 117300.0 | 1026.500 | 7.8000 |
| Median | 175.5000 | 27.06250 | 134500.0 | 1618.500 | 8.9500 |
| Mean | 192.2917 | 31.00519 | 132665.4 | 1738.021 | 9.1925 |
| 3rd Qu. | 247.0000 | 40.89300 | 150050.0 | 2056.000 | 10.9500 |
| Max. | 423.0000 | 83.54700 | 180000.0 | 3296.000 | 14.9000 |
2.2 Gli indici di variabilità
Gli indici di variabilità forniscono un secondo livello di informazioni sulle variabili, in particolare indicano quanto esse siano disperse o concentrate attorno al valore medio.
Di seguito una tabella che raccoglie, per ogni variabile quantitativa, gli indici di variabilità corrispettivi.
quant_rownames = c("sales", "volume", "median_price", "listings", "months_inventory")
range = c(max(texas_sale$sales)-min(texas_sale$sales),
max(texas_sale$volume)-min(texas_sale$volume),
max(texas_sale$median_price)-min(texas_sale$median_price),
max(texas_sale$listings)-min(texas_sale$listings),
max(texas_sale$months_inventory)-min(texas_sale$months_inventory))
IQR = c(pos_global$pos_sales[5]-pos_global$pos_sales[2],
pos_global$pos_volume[5]-pos_global$pos_volume[2],
pos_global$pos_med_prc[5]-pos_global$pos_med_prc[2],
pos_global$pos_list[5]-pos_global$pos_list[2],
pos_global$pos_minv[5]-pos_global$pos_minv[2])
variance = c(var(texas_sale$sales),
var(texas_sale$volume),
var(texas_sale$median_price),
var(texas_sale$listings),
var(texas_sale$months_inventory))
standard_dev = sqrt(variance)
variation_index = c(sd(texas_sale$sales)/mean(texas_sale$sales),
sd(texas_sale$volume)/mean(texas_sale$volume),
sd(texas_sale$median_price)/mean(texas_sale$median_price),
sd(texas_sale$listings)/mean(texas_sale$listings),
sd(texas_sale$months_inventory)/mean(texas_sale$months_inventory))
VARIATION_global = data.frame(
cbind(range,IQR,variance,standard_dev,variation_index),
row.names = quant_rownames)
VARIATION_global| range | IQR | variance | standard_dev | variation_index | |
|---|---|---|---|---|---|
| sales | 344.000 | 120.0000 | 6.344300e+03 | 79.651111 | 0.4142203 |
| volume | 75.381 | 23.2335 | 2.772707e+02 | 16.651447 | 0.5370536 |
| median_price | 106200.000 | 1029.5000 | 5.135730e+08 | 22662.148687 | 0.1708218 |
| listings | 2553.000 | 120.0000 | 5.665690e+05 | 752.707756 | 0.4330833 |
| months_inventory | 11.500 | 23.2335 | 5.306889e+00 | 2.303669 | 0.2506031 |
2.3 Indici di forma
Gli indici di forma forniscono informazioni sulla forma della distribuzione, indicando quanto essa sia asimmetrica, con il vertice della campana dunque spostato verso sinistra o destra rispetto a una gaussiana standard, oppure quanto tale vertice si alzi o abbassi rispetto a una gaussiana standard.
Di seguito una tabella con l’indice di asimmetria e curtosi per ogni variabile
symmetry_index = c(skewness(texas_sale$sales),
skewness(texas_sale$volume),
skewness(texas_sale$median_price),
skewness(texas_sale$listings),
skewness(texas_sale$months_inventory))
kurtosis_index = c(kurtosis(texas_sale$sales),
kurtosis(texas_sale$volume),
kurtosis(texas_sale$median_price),
kurtosis(texas_sale$listings),
kurtosis(texas_sale$months_inventory))-3
shape_global = data.frame(cbind(symmetry_index,
kurtosis_index),
row.names = quant_rownames)
shape_global| symmetry_index | kurtosis_index | |
|---|---|---|
| sales | 0.7181040 | -0.3131764 |
| volume | 0.8847420 | 0.1769870 |
| median_price | -0.3645529 | -0.6229618 |
| listings | 0.6494982 | -0.7917900 |
| months_inventory | 0.0409753 | -0.1744475 |
2.4 Conclusioni
Dagli indici di variabilità Table 2, osservando l’indice di variazione che aiuta nel confronto tra variabili diverse, si deduce che la variabile che presenta il più alto indice di “allontanamento” rispetto ai valori medi è volume.
Giudicando gli indici di posizione, Table 1, per sales e volume, si nota che per entrambi la media sia superiore alla mediana: questo potrebbe suggerire una distribuzione con asimmetria positiva. Maggiori informazioni su questo punto nel capitolo successivo
3 Variabili con maggiore asimmetria
Come si può vedere dalla Table 3, la skewness maggiore, in valore assoluto, è associata alla la variabile volume, subito seguita dalla variabile sales.
Essendo la skewness positiva, questo ci indica che la variabile è descritta da una distribuzione decentrata verso sinistra rispetto a una gaussiana standard.
A conferma di ciò, di seguito il grafico di densità di entrambe che mostra una distribuzione asimmetrica verso sinistra.
4 Classi per una variabile quantitativa
Essendo la variabile volume quella a maggiore variabilità e asimmetria, si concentra ulteriormente l’analisi su di essa dividendola in classi e creandone una distribuzione di frequenza.
texas_sale$vol_CL = cut(texas_sale$volume,breaks = seq(5,85,10))
ni = table(texas_sale$vol_CL)
fi = ni/length(texas_sale$vol_CL)
Ni = cumsum(ni)
Fi = cumsum(fi)
df_vol_CL = data.frame(cbind(ni,fi,Ni,Fi))
df_vol_CL| ni | fi | Ni | Fi | |
|---|---|---|---|---|
| (5,15] | 41 | 0.1708333 | 41 | 0.1708333 |
| (15,25] | 63 | 0.2625000 | 104 | 0.4333333 |
| (25,35] | 55 | 0.2291667 | 159 | 0.6625000 |
| (35,45] | 32 | 0.1333333 | 191 | 0.7958333 |
| (45,55] | 26 | 0.1083333 | 217 | 0.9041667 |
| (55,65] | 11 | 0.0458333 | 228 | 0.9500000 |
| (65,75] | 8 | 0.0333333 | 236 | 0.9833333 |
| (75,85] | 4 | 0.0166667 | 240 | 1.0000000 |
La distribuzione delle frequenze delle classi continua a mostrare, come atteso, un’asimmetria verso sinistra con picco tra i 15 e i 25 milioni di dollari.
4.1 Indice di eterogeneità di Gini
L’indice di eterogeneità di Gini è un indicatore compreso tra 0 e 1 che sta ad indicare quanto la variabile sia equamente distribuita all’interno delle classi.
Questa è la formula per calcolarlo
\[ G' = \frac{G}{\frac{j-1}{j}} \]
Dove G
\[ G = 1 - \sum_{i=1}^{j}f{i}^2 \]
Con “fi” si intendono le probabilità di ciascuna classe come indicato nella seconda colonna della tabella Table 4
Pertanto, l’indice di Gini per la variabile volume divisa in classi, risulta:
G = 1 - sum(df_vol_CL$fi^2)
Gini_index = (G*length(df_vol_CL$fi))/(length(df_vol_CL$fi)-1)
Gini_index[1] 0.9330159
Nonostante la distribuzione sia asimmetrica verso sinistra, l’indice di Gini è molto prossimo a 1, indicando un’equidistribuzione tra le classi. Evidentemente lo sbilanciamento verso sinistra è compensato dalle più basse frequenze verso destra e le due tendenze finiscono con il bilanciarsi.
5 Calcolo delle probabilità
Utilizzando l’approccio frequentista, per cui la probabilità che un evento si verifichi è data dal numero di casi possibili in cui si può verificare diviso i casi totali, si procede a calcolare le seguenti probabilità
5.1 Estrarre la città Beaumont
Qual è la probabilità che, presa una riga a caso dal dataset, essa riporti la città di Beaumont?
Calcolando la distribuzione di frequenze per la variabile city del dataset si vede che:
n = length(texas_sale$city)
ni_city = table(texas_sale$city)
fi_city = ni_city/n
Ni_city = cumsum(ni_city)
Fi_city = cumsum(fi_city)
df_city = data.frame(cbind(ni_city,fi_city,Ni_city,Fi_city))
df_city| ni_city | fi_city | Ni_city | Fi_city | |
|---|---|---|---|---|
| Beaumont | 60 | 0.25 | 60 | 0.25 |
| Bryan-College Station | 60 | 0.25 | 120 | 0.50 |
| Tyler | 60 | 0.25 | 180 | 0.75 |
| Wichita Falls | 60 | 0.25 | 240 | 1.00 |
ogni città ha esattamente il 25% di probabilità di essere estratta e questo ha assolutamente senso, visto come è costruito il dataset.
5.2 Estrarre il mese di luglio
Qual è la probabilità che, presa una riga a caso dal dataset, essa riporti il mese di luglio?
Calcolando la distribuzione di frequenza della variabile month si ha che:
ni_month = table(texas_sale$month)
fi_month = ni_month/n
Ni_month = cumsum(ni_month)
Fi_month = cumsum(fi_month)
months_id = levels(factor(texas_sale$month))
df_month = data.frame(cbind(ni_month,fi_month,Ni_month,Fi_month),row.names = months_id)
df_month| ni_month | fi_month | Ni_month | Fi_month |
|---|---|---|---|
| 20 | 0.0833333 | 20 | 0.0833333 |
| 20 | 0.0833333 | 40 | 0.1666667 |
| 20 | 0.0833333 | 60 | 0.2500000 |
| 20 | 0.0833333 | 80 | 0.3333333 |
| 20 | 0.0833333 | 100 | 0.4166667 |
| 20 | 0.0833333 | 120 | 0.5000000 |
| 20 | 0.0833333 | 140 | 0.5833333 |
| 20 | 0.0833333 | 160 | 0.6666667 |
| 20 | 0.0833333 | 180 | 0.7500000 |
| 20 | 0.0833333 | 200 | 0.8333333 |
| 20 | 0.0833333 | 220 | 0.9166667 |
| 20 | 0.0833333 | 240 | 1.0000000 |
ogni mese ha esattamente una probabilità di 8,3% di essere estratto e come per le città, questo è assolutamente coerente con la costruzione del dataset.
5.3 Estrarre dicembre 2012
Come per i casi precedenti, anche in questo caso possiamo calcolare la probabilità come il numero di righe riportanti dicembre 2012, diviso il numero di righe totali.
Il risultato è:
prob_1212 = length(which(texas_sale$year==2012 & texas_sale$month==12))/length(texas_sale$year)
prob_1212[1] 0.01666667
circa 1,7% di probabilità
6 Creazione di nuove variabili
In questo capitolo si descrive la creazione di nuove variabili che diano ulteriori informazioni sull’andamento dei prezzi medi unitari e delle performance di vendita
6.1 Prezzo medio unitario
Essendo disponibili all’interno del dataset le variabili volume e sales, possiamo calcolare un prezzo medio unitario, vale a dire prezzo/vendita, mettendole a rapporto.
\[ P_{mu}(month,year)=\frac{Volume}{Sales} \]
texas_sale$unipr_sale = (texas_sale$volume*10^6)/texas_sale$sales6.2 Efficacia degli annunci di vendita
Per quanto riguarda l’efficacia degli annunci di vendita invece, si può rapportare la variabile sales alla variabile listings.
Ne risulta un indicatore che indica quante vendite sono state effettuate nel periodo mese-anno sulla base degli annunci attivi. L’indicatore potrà essere al più 1, assumendo di non fare più vendite degli annunci attivi gestiti, o 0 in caso di nessuna vendita.
\[ Eff_{v}(month,year)=\frac{Sales}{Listings} \]
texas_sale$list_efficacy = texas_sale$sales/texas_sale$listings6.3 Conclusioni
6.3.1 Efficacia degli annunci
Analizzando la serie storica dell’efficacia degli annunci, risulta chiaro che Bryan-College_Station (da ora in avanti B-C-S) sia la città che nel tempo sia riuscita a gestire meglio la vendita e l’efficacia degli annunci stessi. Soprattutto nel 2014 ha nettamente staccato le altre città arrivando a totalizzare un numero di vendite pari quasi al 40% degli annunci gestiti.
texas_sale$date_full = make_date(month = texas_sale$month, year = texas_sale$year)Gli andamenti dell’efficacia diventano ancora più chiari visualizzando le serie isolate per città
Risulta ora molto più chiaro quanto Bryan-College-Station sia efficace nella vendita, quanto Wichita Falls sia di fatto stazionaria, mentre Beaumont e Tyler accennino a un lieve incremento.
Possiamo comunque concludere, a livello generalizzato, che la percentuale di conversione, escludendo l’ultimo periodo di B-C-S, sia comunque piuttosto bassa. Vengono gestiti molti annunci ma finalizzati pochi. Sarebbe opportuno condurre un’indagine più estesa per capire se le percentuali di conversione siano in realtà in linea con le medie di altre zone paragonabili.
6.3.2 Prezzo unitario
Dalla serie storica dei prezzi medi unitari per vendita, si nota un andamento piuttosto fluttuante dei prezzi, con molti picchi e valli che si susseguono in maniera ravvicinata e senza un particolare schema osservabile.
Con la visione isolata per città, possiamo aggiungere qualche ulteriore considerazione circa il trend, che diventa maggiormente visibile.
Si nota infatti come sia Beaumont che Wichita Falls abbiano un andamento allineato con l’efficacia degli annunci e sostanzialmente stabile nell’arco dell’orizzonte temporale osservato.
Tyler e B-C-S presentano un aumento dei prezzi quasi allineato, con B-C-S che però risulta essere tendenzialmente superiore, anche se di poco. Il divario tra i 2 si amplia soprattutto nell’ultimissimo periodo osservato dove B-C-S riesce a praticare prezzi nettamente più alti di Tyler.
Diventa a questo punto importante, per avere un’immagine completa su efficacia e prezzo medio unitario, andare a indagare la variabile listings e la relazione tra volume e sales (cfr. sezioni successive) per scongiurare la presenza di eventuali casistiche in cui la recessione delle vendite non abbia portato a una pari recessione nei volumi (per via di prezzi eccessivamente alti magari).
7 Analisi condizionata
Proseguiamo nell’approfondimento iniziando da 2 variabili cruciali a questo punto, essendo il cardine su cui ruota il business: sales e volume.
In particolare si forniranno delle sintesi per città, anno e mese di media e deviazione standard.
7.1 Città
| city | Media sales | Deviazione Std sales | Media volume | Deviazione Std volume |
|---|---|---|---|---|
| Beaumont | 177.3833 | 41.48395 | 26.13160 | 6.970384 |
| Bryan-College Station | 205.9667 | 84.98374 | 38.19160 | 17.248577 |
| Tyler | 269.7500 | 61.96380 | 45.76738 | 13.107146 |
| Wichita Falls | 116.0667 | 22.15192 | 13.93017 | 3.239766 |
B-C-S risulta essere la città con la maggiore deviazione standard rispetto alla variabile volume, questo implica una maggiore volatilità della stessa rispetto alla media. In parole povere, varia molto il volume di vendita. Segue Tyler. Staccate di molto invece Beaumont e Wichita Falls in cui c’è poco scostamento rispetto alla media, e in particolare Wichita Falls è circa un 50% in meno rispetto a Beaumont. Queste ultime 2 città sembrano dunque presentare un mercato molto più stabile e prevedibile.
Sulla media di volume le considerazione sono quasi le stesse tranne che Tyler presenta una media più alta di B-C-S. Questo ci dice che evidentemente le minori fluttuazioni, soprattutto in basso, aiutano a realizzare mediamente fatturati più alti.
Per sales riscontriamo gli stessi andamenti di volume e di conseguenze si possono trarre le medesime conclusioni.
Ritorna a questo punto il tema della relazione che si indagherà più avanti tra sales e volume.
7.2 Mese
| month | Media sales | Deviazione Std sales | Media volume | Deviazione Std volume |
|---|---|---|---|---|
| 1 | 127.40 | 43.38372 | 19.00075 | 8.371855 |
| 2 | 140.85 | 51.06783 | 21.65150 | 10.093587 |
| 3 | 189.45 | 59.17812 | 29.38470 | 12.017933 |
| 4 | 211.70 | 65.40489 | 33.30445 | 14.523259 |
| 5 | 238.85 | 83.11582 | 39.70210 | 19.020766 |
| 6 | 243.55 | 94.99832 | 41.30315 | 21.080942 |
| 7 | 235.75 | 96.27421 | 39.12190 | 21.412704 |
| 8 | 231.45 | 79.22883 | 38.01415 | 18.048059 |
| 9 | 182.35 | 72.51807 | 29.59915 | 15.220800 |
| 10 | 179.90 | 74.95395 | 29.07860 | 15.133707 |
| 11 | 156.85 | 55.46670 | 24.80715 | 11.153694 |
| 12 | 169.40 | 60.74658 | 27.09465 | 12.568417 |
Volumi e vendite mostrano un’aumento nei primi mesi dell’anno fino al picco in giugno/luglio, da cui si va a decrescere fino a fine anno (lieve eccezione in dicembre).
Da questo possiamo dunque concludere che il mercato immobiliare nelle città analizzate sia fortemente stagionale.
Degno di nota è il fatto che la deviazione standard segua pedissecuamente lo stesso andamento delle medie. Sostanzialmente più si avanza nell’anno verso il picco di vendite, più si vanno a chiudere prezzi più in alto e più in basso rispetto la media, con conseguente aumento della dispersione attorno alla media.
Infatti, questo è quello che succede al range del volume di vendita al proseguire dei mesi.
7.3 Anno
| year | Media sales | Deviazione Std sales | Media volume | Deviazione Std volume |
|---|---|---|---|---|
| 2010 | 168.6667 | 60.53708 | 25.67590 | 10.79510 |
| 2011 | 164.1250 | 63.87042 | 25.15781 | 12.20349 |
| 2012 | 186.1458 | 70.90509 | 29.26756 | 14.52269 |
| 2013 | 211.9167 | 83.99641 | 35.15240 | 17.93470 |
| 2014 | 230.6042 | 95.51490 | 39.77227 | 21.18628 |
Anche sugli anni, dal 2010 al 2014, si assiste ad un progressivo aumento delle vendite, che ancora una volta vanno di pari passo con i volumi.
Esattamente come visto nell’analisi condizionata per mesi, all’aumentare dei volumi di vendita, segue un corrispondente aumento della deviazione standard.
Potrebbe essere dovuto al fatto che probabilmente si sia ampliata l’offerta di vendita andando a coprire immobili di fasce di prezzo meno concentrate, così da andare a prendere una fetta più ampia di domanda.
8 Grafici di approfondimento
In questa sezione andiamo in profondità sui dati cercando di ampliare le informazioni già raccolte e indagando per trovarne di nuove.
8.1 sales vs volume
Come indicato nel paragrafo Section 6.3.2 risulta importante comprendere che la relazione tra sales e volumi non presenti stranezze, ma sia lineare.
Dal grafico si vede chiaramente che nel campione analizzato all’interno del dataset non esistono situazioni anomale per cui le vendite siano rimaste stabili (o addirittura calate) a fronte di un aumento dei volumi. Questo scongiura la presenza di prezzi eccessivamente alti e bolle speculative che avrebbero chiaramente portato a considerazioni diverse sui risultati di questa analisi.
Alla luce di quanto emerso in questa sezione, da qui in avanti ci si concentrerà sempre sulla variabile volume.
8.2 volume vs listings
Sempre nel paragrafo Section 6.3.2, si indicava un’altra relazione da indagare: quella tra gli annunci e il volume di vendita.
Il fine è scoprire possibili tendenze e peculiarità dei diversi mercati rappresentati dalle diverse città.
Dal grafico si nota varie cose:
La stabilità e concentrazione di Wichita Falls e Beaumont, come già ipotizzato nel paragrafo Section 6.3.1. I volumi infatti si concentrano tutti su un numero ben definito di annunci gestiti
I volumi di vendita di B-C-S sono più dispersi rispetto a Tyler come già verificato in Figure 6
I volumi di vendita di B-C-S e Tyler sono racchiusi da intervalli di medesima ampiezza: tra 20 e 80 milioni di dollari
B-C-S riesce a gestire questi volumi con un range di annunci che va dai 1000 ai 2000 mentre Tyler tra i 2300 e i 3300.
Il concetto chiave rappresentato da questo grafico è che B-C-S riesce a totalizzare gli stessi volumi di vendita, ma con molti meno annunci gestiti.
Potrebbe essere una migliore efficacia di vendita o anche una diversa propensione all’acquisto o una combinazione delle 2 cose.
8.3 Analisi di dettaglio sui volumi
La serie storica dei volumi chiarisce ancora meglio quanto mostrato nel grafico Figure 10
Ci si aspetta dunque di avere B-C-S e Tyler che conducono con alti volumi, B-C-S con una maggiore variabilità e Wichita Falls con Beaumont fanalini di coda stabili.
Inoltre, con il successivo grafico si va a rendere ancora più esplicito quanto mostrato nel paragrafo Section 6.3.1, mostrando affiancati i volumi e gli annunci gestiti, che affrontando il tema dell’efficacia erano affogati nel medesimo calcolo.
Si vede chiaramente ora il motivo per cui in figura Figure 3, l’efficacia di B-C-S fosse così schiacciante: riesce a ottenere volumi di vendita in rapida crescita, gestendo un volume di annunci in rapido calo. Sostanzialmente sta massimizzando la resa, minimizzando lo sforzo.
Anche Tyler sta totalizzando ottimi volumi di vendita, paragonabili a quelli di B-C-S, ma per farlo gli occorre gestire un numero ben più alto di annunci (cfr. Figure 10)
8.4 Volumi negli anni
Nel grafico successivo si mostra l’andamento dei volumi, per le varie città, negli anni osservati.
volume_agg = texas_sale %>%
group_by(year, city) %>%
summarise(volume_agg = sum(volume), .groups = "drop")Nonostante in figura Figure 12 si vedano sostanzialmente appaiati, in serie storica, i volumi di B-C-S e Tyler, guardando i volumi aggregati Tyler risulta essere sempre in testa. Questo per via della variabilità dei volumi di B-C-S che mostra dei picchi allineati a Tyler, ma delle valli più profonde, evidentemente praticando prezzi più bassi o vendendo su fasce di prezzo inferiore.
La maggiore concentrazione dei volumi di Tyler le garantisce dunque il primato in termini di fatturato.
Beaumont mostra un buon tasso di crescita, mentre Wichita Falls sostanzialmenet stabile come ci si attendeva
8.5 Volume nei mesi
vol_agg_month = texas_sale %>%
group_by(city, month) %>%
summarise(vol_agg_month = sum(volume), .groups = "drop")Come già ipotizzato analizzando il grafico Figure 7, troviamo conferma del fatto che ci sia una stagionalità nel mercato immobiliare delle città analizzate.
Il grafico mostra inoltre come B-C-S abbia un netto calo nei volumi di vendita dopo l’estate, mentre Tyler lo abbia molto più dolce e controllato.
Soprattutto la stagionalità, può essere riscontrata con il grafico a barre sovrapposte, dal quale si evince che sia giugno il mese in cui si registrano i volumi maggiori.
Da questo grafico invece si nota bene come il contributo sul fatturato mensile, nel periodo successivo all’estate, si riduca drasticamente per B-C-S, a vantaggio di Tyler e Beaumont.
Nel grafico sottostante si va ad integrare quando già mostrato in @volaggmonthstack con l’informazione aggiuntiva dell’anno.
8.6 Efficienza di vendita
Un’ultima variabile degna di indagine è months_inventory, che indica il numero di mesi necessari per vendere tutti gli annunci attivi.
Nel grafico sotto riportato si ha:
in alto a sinistra una visione dell’andamento storico della variabile months_inventory. Si nota una sostanziale diminuzione del tempo necessario a vendere tutti gli annunci attivi in tutte le città tranne Wichita Falls dove rimane sostanzialmente stazionario.
Poichè la diminuzione del tempo potrebbe però essere dovuta dalla diminuzione degli annunci attivi, in basso a sinistra si trova l’andamento storico degli annunci gestiti. Come già visto in figura Figure 10, Tyler gestisce un numero di annunci di gran lunga maggiore rispetto al resto delle città
a destra il grafico in cui si normalizza la variabile months_inventory rispetto a listings. Più l’indicatore sarà basso, meno sarà il tempo necessario per vendere gli annunci. Si evince che Tyler è la città in cui i tempi di vendita di tutti gli annunci sono i più bassi, se paragonati al numero di annunci complessivamente gestiti. Al capo opposto invece Whicita Falls, che ha tempi inferiori rispetto a tutte le altre città, ma con un numero di annunci di gran lunga inferiore.
\[ Efficienza = \frac{months_{inventory}}{listings} \]
9 Conclusioni
Traendo le conclusioni di questa analisi si possono identificare alcuni fattori chiave degli andamenti.
9.1 Volumi di vendita
Dal punto di vista unicamente del fatturato, Tyler è la città che conduce e ha sempre, negli anni, totalizzato il maggior volume di vendita.
B-C-S segue ravvicinata, ma presenta una maggiore dispersione dei volumi di vendita, con picchi molto alti e valli molto basse. Il fenomeno si accentua maggiormente all’aumentare delle vendite.
Poi Beaumont, che pur crescendo nel fatturato, anno su anno, non lo fa alla stessa velocità delle precedenti 2.
Il fanalino di coda e Whicita Falls, dove però si assiste a una stazionarietà nelle vendite tra il primo e l’ultimo anno. Ma negli altri anni ha addirittura avuto una flessione a differenza delle altre città analizzate.
9.2 Stagionalità
In ogni città analizzata, il mercato immobiliare risulta essere chiaramente stagionale: cresce nei volumi di vendita nei mesi che conducono a giugno, dove c’è l’apice, per poi decrescere fino a dicembre.
Wichita Falls risulta essere la città in cui gli effetti della stagionalità, pur presenti, sono molto meno marcati che nel resto del campione.
9.3 Efficacia di vendita
B-C-S è la città che riesce a massimizzare le vendite effettuate rispetto al numero di annunci gestiti. Questo potrebbe implicare una maggiore efficacia degli annunci, soprattutto se la si paragona con la sua diretta “concorrente”, Tyler.
Il mercato immobiliare di Tyler infatti, non ha molta differenza con B-C-S in termini di fatturato, ma gestisce un quantitivo di annunci molto più alto. Si consiglia di effettuare ulteriori indagini con le sedi di Tyler per capire perchè gestiscano tutti questi annunci se chiaramente non riescono a convertirli in larga misura.
Per Beaumont e Wichita Falls valgono le solite considerazione già effettuate nei punti precedenti.
9.4 Efficienza nella vendita
Nonostante Tyler converta poco rispetto al quantitativo di annunci gestiti, le conversioni avvengono in un tempo di gran lunga inferiore rispetto a tutte le altre città.
B-C-S seguono dopo Tyler, ma Wichita Falls risulta fanalino di coda anche in questo caso. Le vendite che chiude, le chiude in parecchio tempo
9.5 Consigli
Alla luce di quanto sopra scritto, si consiglia di:
Indagare se la stazionarietà nella vendita e l’inefficienza di Wichita Falls siano dovute a fattori interni all’azienda (personale insufficiente, necessità di formazione, ecc.) o intrinseci del mercato. Se fossero fattori interni all’azienda si può facilmente porre rimedio, diversamente si consiglia un’indagine approfondita e focalizzata su Wichita Falls per capire quale strategia di vendita applicare.
Indagare come mai B-C-S abbia una riduzione così forte degli annunci di vendita. Non ne risente il fatturato e non è la sola che stia riducendo, ma è quella che lo sta facendo con maggiore rapidità. Se il mercato dovesse improvvisamente contrarsi potrebbe subire molte perdite.
Similmente, indagare con Tyler come mai gestisca così tanti annunci. Il volume di vendita è prossimo a quello di B-C-S che però ne gestisce molti meno, a fronte di una politica di prezzo abbastanza simile
Indagare con B-C-S come mai esista una fluttuazione così forte dei volumi di vendita