IMPORTAZIONE LIBRERIE
library(moments)
library(ggplot2)
library(dplyr)
##
## Caricamento pacchetto: 'dplyr'
## I seguenti oggetti sono mascherati da 'package:stats':
##
## filter, lag
## I seguenti oggetti sono mascherati da 'package:base':
##
## intersect, setdiff, setequal, union
IMPORTAZIONE DATASET
dati <- read.csv("realestate_texas.csv",sep = ",", encoding = "latin1")
dati$month <- factor(dati$month, levels = 1:12, labels = month.abb)
head(dati)
## city year month sales volume median_price listings months_inventory
## 1 Beaumont 2010 Jan 83 14.162 163800 1533 9.5
## 2 Beaumont 2010 Feb 108 17.690 138200 1586 10.0
## 3 Beaumont 2010 Mar 182 28.701 122400 1689 10.6
## 4 Beaumont 2010 Apr 200 26.819 123200 1708 10.6
## 5 Beaumont 2010 May 202 28.833 123100 1771 10.9
## 6 Beaumont 2010 Jun 189 27.219 122800 1803 11.1
attach(dati)
INDAGINI PRELIMINARI
range(year)
## [1] 2010 2014
unique(city)
## [1] "Beaumont" "Bryan-College Station" "Tyler"
## [4] "Wichita Falls"
str(dati)
## 'data.frame': 240 obs. of 8 variables:
## $ city : chr "Beaumont" "Beaumont" "Beaumont" "Beaumont" ...
## $ year : int 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 ...
## $ month : Factor w/ 12 levels "Jan","Feb","Mar",..: 1 2 3 4 5 6 7 8 9 10 ...
## $ sales : int 83 108 182 200 202 189 164 174 124 150 ...
## $ volume : num 14.2 17.7 28.7 26.8 28.8 ...
## $ median_price : num 163800 138200 122400 123200 123100 ...
## $ listings : int 1533 1586 1689 1708 1771 1803 1857 1830 1829 1779 ...
## $ months_inventory: num 9.5 10 10.6 10.6 10.9 11.1 11.7 11.6 11.7 11.5 ...
Il Dataset riporta l’insieme di vendite immobiliari condotte in 4 città del texas nell’arco di cinque anni(2010, 2011, 2012, 2013, 2014). Ogni riga corrisponde ad una serie di vendite immobiliari effettuate in una specifica città e riconducibili ciascuna ad un preciso mese dell’anno. In totale abbiamo 240 osservazioni inerenti a otto differenti variabili.
1.1 VARIABILI:
CITY: variabile qualitativa nominale, in quanto tale serve per classificare i dati in categorie distintive che non hanno un ordine intrinseco
YEAR: variabile qualitativa su scala ordinale
MONTH: variabile qualitativa su scala ordinale
SALES: variabile quantitativa discreta dato che rappresenta il numero di unità vendute in un mese specifico dell’anno. Inoltre poichè ha un punto zero naturale che indica l’assenza totale della quantità misurata è anche su scala di rapporti.
VOLUME: valiabile quantitativa continua su scala di rapporti, giacchè ha un punto zero naturale che indica l’assenza totale della quantità misurata: zero milioni di dollari rappresentano l’assenza totale di vendite.
MEDIAN_PRICE: è un parametro descrittivo che rappresenta una misura di tendenza centrale. Non è propriamente una variabile di per sé, ma piuttosto una statistica che sintetizza un aspetto della distribuzione di una variabile quantitativa continua, in questo caso, i prezzi. La mediana dei prezzi delle case viene spesso riportata perché i prezzi estremamente alti o bassi possono distorcere la media. Al contrario la mediana è meno sensibile agli outlier e questo la rende particolarmente utile quando la distribuzione dei dati è asimmetrica o contiene valori anomali, in quanto fornisce un quadro più accurati del mercato.
LISTINGS: variabile quantitativa discreta su scala di rapporti. Si riferisce ai dati delle inserzioni di proprietà immobiliari. In questo contesto, ogni “listings” rappresenta una singola proprietà con attributi come prezzo, ubicazione, numero di camere, ecc.
MONTHS_INVENTORY: variabile quantitativa continua. È una misura che indica il numero di mesi necessari per vendere o esaurire l’inventario corrente.In sintesi, “months inventory” è una variabile che può fornire informazioni preziose sulla velocità con cui un inventario si sta esaurendo.
1.2 TIPOLOGIE DI ANALISI STATISTICHE
Grazie alle variabili MONTHS e YEAR possiamo utilizzare il poligono di frequenza per percepire l’andamento del mercato immobiliare nel tempo. Nello specifico:
Così facendo possiamo identificare con maggior precisione quali città hanno registrato, o stanno registrando, un maggior aumento di vendite immobiliare nel tempo, ottenendo così una solida base su cui effettuare possibili investimenti futuri.
DISTRIBUZIONI DI FREQUENZA: associandola alla variabile “sales” possiamo calcolare la distribuzione delle vendite per ciascuna città per capire meglio quali città hanno le vendite più alte o più basse
RAPPRESENTAZIONI GRAFICHE: grafici a barre sono strumenti utili per confrontare la distribuzione delle vendite nelle diverse città.
DISTRIBUZIONE DI FREQUENZA: Contare il numero di vendite per ciascuna città, effettuate di mese in mese e di anno in anno.
INDICI DI POSIZIONE: attraverso la MEDIA è possibile calcolare la media delle vendite per ciascuna città, sia mensile che annuale. La MEDIANA è utile qualora la distribuzione delle vendite risultasse asimmetrica (cioè, se ci sono molti valori estremamente alti o bassi). Difatti la media aritmetica può essere fuorviante, giacchè potrebbe essere distorta da aree con vendite eccezionalmente alte o basse. Di contro, La mediana, essendo il valore centrale, non è influenzata dagli outlier e fornisce una rappresentazione più accurata del “valore tipico” delle vendite. Infatti le vendite immobiliari sono estremamente sensibili a outlier. Per esempio, alcune città potrebbero avere un boom di vendite per vari motivi (nuove infrastrutture, politiche favorevoli, ecc.). Per questo motivo la mediana fornisce una misura più rappresentativa della “tipica” quantità di vendite.
INDICI DI VARIABILITà : mediante il RANGE possiamo identificare la dispersione tra il valore massimo e il minimo. La varianza e la deviazione standard possono aiutarci a capire quanto variano i dati rispetto alla media. Nello specifico un’alta varianza e deviazione standard potrebbero suggerire un’incertezza nelle performance di vendita in quella città; al contrario un valore basso indicherebbe una maggior consistenza e quindi una maggior prevedibilità di quest’ultime. Grazie a queste misure saremo in grado di capire meglio la stabilità delle vendite nelle diverse città consentendoci di prendere decisioni aziendali più affidabili.
INDICI DI FORMA: fondamentali per descrivere e comprendere la distribuzione dei dati inerenti alle vendite, nello specifico per vedere il livello di simmetricità
RAPPRESENTAZIONI GRAFICHE: mediante box plot possiamo visualizzare la distribuzione delle vendite per ciascuna città, identificando eventuali valori anomali. Con un grafico a barre possiamo visualizzare le vendite totali per città, sia mensili che annuali. Tramite grafici a linee possiamo visualizzare il loro andamento temporale.
INDICI DI POSIZIONE: la MEDIA è utile per conoscere il valore medio del volume in dollari delle vendite, tuttavia dato che è sensibile agli outlier è necessario calcolare anche la MEDIANA, utile qualora la distribuzione dovesse risultare asimmetrica.
INDICI DI VARIABILITà: mediante il RANGE possiamo identificare la dispersione tra il valore massimo e il minimo. VARIANZA e DEVIAZIONE STANDARD misurerebbero la dispersione dei dati attorno alla media. Questi indici sono molto importanti giacchè molti fattori differenti potrebbero influenzare le vendite, come stagionalità, promozioni, cambiamenti di mercato, ecc. Pertanto un alto valore di varianza e deviazione potrebbero essere utile per identificare eventuali fattori di variabilità.
INDICI DI FORMA: La forma della distribuzione del volume di vendite in dollari può fornire indicazioni preziose sulla natura dei dati di vendita. La presenza di asimmetria può influenzare l’interpretazione delle statistiche descrittive e richiede attenzione particolare per la pianificazione e la gestione. Ad esempio, in presenza di asimmetria positiva, potrebbe essere utile analizzare i fattori che causano vendite eccezionalmente elevate e sfruttare tali opportunità. In caso di asimmetria negativa, potrebbe essere importante identificare e mitigare i fattori che portano a vendite molto basse.
RAPPRESENTAZIONE GRAFICHE: Istogramma o box plot per visualizzare la distribuzione delle vendite e per identificare eventuali outlier. Grafici di Linea per visualizzare eventuali trend e stagionalità nelle vendite.
INDICI DI VARIABILITà: calcolare la varianza e la deviazione standard è essenziale per comprendere la dispersione dei prezzi attorno alla media. Infatti: un valore alto di varianza e deviazione standard equivale ad un’elevata dispersione dei valori attorno alla media e ciò potrebbe voler significare che i prezzi degli immobili variano ampiamente: potrebbero esserci molti immobili a prezzi significativamente più alti o più bassi rispetto alla media, quindi la presenza di valori anomali che richiederebbero ulteriori indagini. Al contrario, un valore basso indica una bassa dispersione dei prezzi attorno alla media e quindi minor variazioni di prezzo significative degli immobili della popolazione analizzata. Anche il calcolo del RANGE INTERQUARTILE può risultare utile, giacchè Un IQR ampio suggerisce una grande variabilità nei prezzi.
RAPPRESENTAZIONE GRAFICE: grafici a barra per confronti categoriali tra le diverse città, line chart per identificare eventuali trend o stagionalità, box plot per identificare eventuali outlier e visualizzare la variazione nei dati, istogrammi per identificare la forma della distribuzione dei dati: normale o asimmetrica, a destra o a sinistra.
INDICI DI POSIZIONE E VARIABILITà: Media: Calcolare il numero medio di annunci attivi in un determinato periodo. Mediana: Determinare il numero mediano di annunci attivi per capire il valore centrale, che può essere meno influenzato da giorni con valori estremamente alti o bassi. Deviazione Standard: Misurare la variabilità del numero di annunci attivi nel tempo.
RAPPRESENTAZIONE GRAFICE: Istogramma: Creare un istogramma per visualizzare la distribuzione del numero di annunci attivi e vedere se ci sono picchi o periodi di bassa attività. Box Plot: Utilizzare un box plot per identificare outlier o variazioni significative nel numero di annunci attivi.
ANALISI POSSIBILE: Confrontare il numero totale di annunci attivi in diverse località o per diversi tipi di proprietà, se i dati sono disponibili. Analizzare come il numero di annunci attivi si confronta con il numero di vendite concluse per valutare l’offerta rispetto alla domanda.Analizzare il numero di annunci nel tempo identificando eventuali pattern stagionali nei dati, ad esempio se ci sono periodi dell’anno in cui il numero di annunci attivi aumenta o diminuisce significativamente.
INDICI DI POSIZIONE E VARIABILITà: Media e Mediana: Calcolare la media e la mediana di “months_inventory” per comprendere il tempo medio necessario per vendere le inserzioni. La mediana può offrire una prospettiva più robusta in presenza di valori anomali. Deviazione Standard e Varianza: Misurare la variabilità della “months_inventory” per capire quanto il tempo di vendita fluttua nel tempo.
RAPPRESENTAZIONE GRAFICE: Serie Temporali: Analizzare come la “months_inventory” varia nel tempo per identificare trend a lungo termine o cambiamenti stagionali nel mercato immobiliare, identificando pattern stagionali, ad esempio periodi dell’anno in cui il “months_inventory” tende ad aumentare o diminuire, segnalando cambiamenti nella velocità del mercato. Istogramma: Creare un istogramma per visualizzare la distribuzione di “months_inventory” e identificare la frequenza di diversi intervalli di tempo. Box Plot: Utilizzare un box plot per identificare outlier e la dispersione dei dati.
2.INDICI DI POSIZIONE, VARIABILITà E FORMA
FUNZIONE PER IL CALCOLO DEGLI INDICI:
funzione_IPVF <- function(x){
options(scipen=999)
x_sorted <- sort(x)
n <- length(x_sorted)
minimo = round(min(x),2)
massimo = round(max(x),2)
media = round(mean(x),2)
mediana = round(median(x),2)
Q1 <- round(quantile(x, 0.25),2)
Q3 <- round(quantile(x, 0.75),2)
IQR = round(IQR(x),2)
varianza = round(var(x),2)
dev_s = round(sd(x),2)
CV = VR_sales <- round(sd(x)/mean(x) * 100, 2)
simmetria = round(skewness(x), 2)
curtosi = round(kurtosis(x)-3, 2)
distr_indici <- as.data.frame(cbind(minimo, massimo, media, mediana, Q1, Q3,
IQR, varianza, dev_s, CV, simmetria, curtosi))
rownames(distr_indici) <- deparse(substitute(x))
return(distr_indici)
}
CALCOLO DEGLI INDICI:
df_sales <- funzione_IPVF(sales)
df_volume <- funzione_IPVF(volume)
df_median_price <- funzione_IPVF(median_price)
df_listings <- funzione_IPVF(listings)
df_months_inventory <- funzione_IPVF(months_inventory)
final_df <- rbind(df_sales, df_volume, df_median_price, df_listings, df_months_inventory)
print(final_df)
## minimo massimo media mediana Q1 Q3
## sales 79.00 423.00 192.29 175.50 127.00 247.00
## volume 8.17 83.55 31.01 27.06 17.66 40.89
## median_price 73800.00 180000.00 132665.42 134500.00 117300.00 150050.00
## listings 743.00 3296.00 1738.02 1618.50 1026.50 2056.00
## months_inventory 3.40 14.90 9.19 8.95 7.80 10.95
## IQR varianza dev_s CV simmetria curtosi
## sales 120.00 6344.30 79.65 41.42 0.72 -0.31
## volume 23.23 277.27 16.65 53.71 0.88 0.18
## median_price 32750.00 513572983.09 22662.15 17.08 -0.36 -0.62
## listings 1029.50 566568.97 752.71 43.31 0.65 -0.79
## months_inventory 3.15 5.31 2.30 25.06 0.04 -0.17
2.1 DISTRIBUZIONE DI FREQUENZE VARIABILI QUALITATIVE
FUNZIONE PER IL CALCOLO FREQUENZE
N<-dim(dati)[1]
funzione_freq <- function(x){
ni<-table(x)
fi<-ni/N
Ni<-cumsum(ni)
Fi<-Ni/N
distr_freq<-as.data.frame(cbind(ni,fi,Ni,Fi))
return(distr_freq)
}
CALCOLO DELLE FREQUENZE PER VARIABILI QUALITATIVE
df_year <- funzione_freq(year)
df_month <- funzione_freq(month)
df_city <- funzione_freq(city)
df_freq <- rbind(df_year, df_month, df_city)
print(df_freq)
## ni fi Ni Fi
## 2010 48 0.20000000 48 0.20000000
## 2011 48 0.20000000 96 0.40000000
## 2012 48 0.20000000 144 0.60000000
## 2013 48 0.20000000 192 0.80000000
## 2014 48 0.20000000 240 1.00000000
## Jan 20 0.08333333 20 0.08333333
## Feb 20 0.08333333 40 0.16666667
## Mar 20 0.08333333 60 0.25000000
## Apr 20 0.08333333 80 0.33333333
## May 20 0.08333333 100 0.41666667
## Jun 20 0.08333333 120 0.50000000
## Jul 20 0.08333333 140 0.58333333
## Aug 20 0.08333333 160 0.66666667
## Sep 20 0.08333333 180 0.75000000
## Oct 20 0.08333333 200 0.83333333
## Nov 20 0.08333333 220 0.91666667
## Dec 20 0.08333333 240 1.00000000
## Beaumont 60 0.25000000 60 0.25000000
## Bryan-College Station 60 0.25000000 120 0.50000000
## Tyler 60 0.25000000 180 0.75000000
## Wichita Falls 60 0.25000000 240 1.00000000
CONSIDERAZIONI GENERALI
Per le variabili quantitative (discrete e continue) sono stati calcolati gli indici di posizione, variabilità e forma. Questi valori sono essenziali per capire come i dati a nostra disposizione si distribuiscono, consentendoci di individuare quali, tra queste, sono quelle soggette ad una maggiore variabilità. Nel nostro contesto, essa può tornarci utile per due motivi:
bassa variabilità: siamo in presenza di un mercato stabile, ovvero, vendite e prezzi che non presentano fluttuazioni improvvise, ne alte, nè basse. Tuttavia, sebbene la stabilità ci consente un maggior potere predittivo circa l’andamento di mercato, ciononostante essa potrebbe suggerire anche una stagnazione del mercato, dove nè i valori delle proprietà stanno crescendo significativamente, nè la domanda sta aumentando.
alta variabilità: mercato che presenta fluttuazioni di vendita e prezzi significative e quindi più difficile da prevedere nei suoi sviluppi futuri. Tali fluttuazioni potrebbero dipendere da vari fattori, non necessariamente negativi. Per esempio potrebbe darsi il caso di strategie di marketing efficaci il cui studio consentirebbe di replicare i successi ottenuti in termini di aumento di vendite.
Nello specifico:
Sales e Volume mostrano una maggiore variabilità e asimmetria positiva, segno della presenza di mesi con picchi significativi.
Median_price è più stabile, suggerendo un mercato con meno fluttuazioni nei prezzi.
Listings è altamente variabile e presenta una simmetria positiva, due aspetti molto probabilmente legati a fattori stagionali in cui le campagne di marketing si fanno più incisive.
Months_inventory è relativamente stabile, con una distribuzione quasi simmetrica.
Per valutare quali tra le precedenti variabili possieda una maggiore variabilità e asimmetria, dobbiamo avvalerci di due strumenti: il COEFFICENTE DI VARIAZIONE e la SKEWNESS. Anche se “Median_Price” ha la varianza e la deviazione standard assolute più elevate, il coefficiente di variazione di “Volume” è il più alto (53.71%). Infatti Il CV è particolarmente utile perché normalizza la misura di dispersione, permettendo un confronto equo tra variabili con diverse scale e unità di misura. Questo significa che, rispetto alla sua media, i dati di “Volume” sono più dispersi rispetto alle altre variabili. Quindi, se consideriamo la variabilità in termini relativi alla media, “Volume” è la variabile con la maggiore variabilità. È per questo che, anche se “Median_price” ha valori assoluti di varianza e deviazione standard più alti, “Volume” risulta avere una maggiore variabilità relativa. Invece, per ciò che concerne la simmetricità di una variabile è di vitale importanza ricordare che un valore di skewness vicino a 0 indica una distribuzione simmetrica. Al contrario, valori positivi indicano una distribuzione asimmetrica con una coda più lunga a destra, mentre valori negativi indicano una distribuzione con una coda più lunga a sinistra. Detto ciò, la variabile “volume” ha il valore di skewness più alto (0.88), pertanto possiamo concludere che è la più asimmetrica e con una coda più lunga a destra rispetto alle altre variabili. Da un punto di vista statistico un CV alto può indicare che c’è una grande variabilità nei dati rispetto alla media. Questo significa che le vendite e prezzi immobiliari possono fluttuare significativamente da un periodo all’altro o tra diverse unità di analisi (nel nostro caso, tra città). Quanto alla skewness 0.88 potrebbe indicare che in alcuni periodi(un anno specifico, o alcuni mesi, per esempio estivi) per alcune città ci sono vendite eccezionalmente elevate. Questi picchi potrebbero essere dovuti a eventi stagionali, promozioni, o campagne pubblicitarie efficaci. L’identificazione dei fattori che causano questi picchi è essenziale per replicare il successo. Inoltre, la variabilità potrebbe dipendre anche dalla presenza di immobili con prezzi elevati, il che suggerirebbe che in alcune zone il mercato sia orientato per lo più su case di lusso. In sintesi, è utile condurre un’analisi più dettagliata per comprendere le cause sottostanti della variabilità e dell’asimmetria. Questo potrebbe includere l’analisi di fattori stagionali, promozionali o economici.
CLASSI MEDIAN_PRICE
#creazione classi
dati$median_price_cl <- cut(dati$median_price,
breaks = c(73700,91500,109200,126900,
144600,162300,180000),
include.lowest = TRUE, right = FALSE)
#creazione etichette personalizzate per gli intervalli
breaks <- c(73700, 91500, 109200, 126900, 144600, 162300, 180000)
labels <- sprintf("[%d, %d)", breaks[-length(breaks)], breaks[-1])
# Assegna le etichette personalizzate ai livelli del fattore
levels(dati$median_price_cl) <- labels
#distribuzione di frequenze
N<-dim(dati)[1]
ni<-table(dati$median_price_cl)
fi<-ni/N
Ni<-cumsum(ni)
Fi<-Ni/N
distr_freq_median_price_cl<-as.data.frame(cbind(ni,fi,Ni,Fi))
distr_freq_median_price_cl$class <- rownames(distr_freq_median_price_cl)
distr_freq_median_price_cl$class <- factor(distr_freq_median_price_cl$class, levels = rownames(distr_freq_median_price_cl))
RAPPRESENTAZIONE GRAFICA
ggplot(data = distr_freq_median_price_cl)+
geom_col(
aes(x=class,
y=ni,
fill=class),
col="black")+
labs(x="Classi prezzo mediano",
y="Frequenze assolute",
title="Grafico a barre Classi prezzo mediano")+
theme_bw()+
scale_y_continuous(breaks = seq(0,80,10))+
theme(legend.position = "bottom")
4.1 CALCOLO INDICE ETEROGENEITà DI GINI
FUNZIONE INDICE DI GINI
gini_index<-function(x){
ni=table(x)
fi=ni/length(x)
fi2=fi^2
J=length(table(x))
gini= 1-sum(fi2)
gini.norm = gini/((J-1)/J)
return(gini.norm)
}
CALCOLO INDICE DI GINI PER CLASSI MEDIAN_PRICE
gini_index(dati$median_price_cl)
## [1] 0.9328333
4.2 CONSIDERAZIONI
Un indice di Gini di 0.9285417 (molto vicino a 1) conferma quanto illustrato dal grafico precedente, ovvero che c’è una grande disparità tra i prezzi delle proprietà. Pochi immobili rientrano nelle fasce di prezzo molto basso e molto alto, mentre la maggior parte tende a concentrarsi nelle restanti classi. Tutto ciò suggerisce che il mercato è segmentato in modo acuto, con una chiara distinzione tra diverse fasce di prezzo, il che potrebbe dipendere da vari fattori come la localizzazione geografica (ad esempio, proprietà in aree turistiche rispetto a zone residenziali) o il tipo di proprietà (ad esempio, case più economiche rispetto ad appartamenti di lusso).Grazie a queste informazioni siamo in grado di pianificare strategie di investimento o politiche di sviluppo urbano, nello specifico idetificare quelle zone in cui il mercato può rendere maggiormente.
5.CALCOLO DELLE PROBABILITA
BEAMONT:
#Filtro righe per Beaumont
Beamont_data <- dati[dati$city == "Beaumont", ]
#calcolo probabilità
prob_Beamont = nrow(Beamont_data)/N
formatted_prob_Beamont <- sprintf("%.f%%", prob_Beamont * 100)
cat("La probabilità che una riga a caso riporti la città di Beaumont è:",formatted_prob_Beamont)
## La probabilità che una riga a caso riporti la città di Beaumont è: 25%
LUGLIO:
#Filtro righe per luglio
Jul_data <- dati[dati$month == "Jul", ]
#calcolo probabilità
prob_Jul = nrow(Jul_data)/N
formatted_prob_Jul <- sprintf("%.2f%%", prob_Jul * 100)
cat("La probabilità che una riga a caso riporti il mese di Luglio è:", formatted_prob_Jul)
## La probabilità che una riga a caso riporti il mese di Luglio è: 8.33%
DICEMBRE 2012
#Filtro righe per dicembre 2012
Dic_2012_data <- dati[dati$year == 2012 & dati$month == "Dec", ]
#calcolo probabilità
prob_Dec_2012 <- nrow(Dic_2012_data)/N
formatted_prob_Dec_2012 <- sprintf("%.2f%%", prob_Dec_2012 * 100)
cat("La probabilità che una riga a caso riporti dicembre 2012 è:", formatted_prob_Dec_2012)
## La probabilità che una riga a caso riporti dicembre 2012 è: 1.67%
#nuova colonna prezzo medio
dati$prezzo_medio <- dati$volume/dati$sales * 1000
dati$prezzo_medio <- round(dati$prezzo_medio, 2)
#nuova colonna tasso di conversione
dati$TC <- dati$sales/dati$listings * 100
dati$TC <- round(dati$TC, 2)
attach(dati)
## I seguenti oggetti sono mascherati da dati (pos = 3):
##
## city, listings, median_price, month, months_inventory, sales,
## volume, year
INDICI POSIZIONE, VARIABILITà E FORMA TASSO DI CONVERSIONE
funzione_IPVF(TC)
## minimo massimo media mediana Q1 Q3 IQR varianza dev_s CV simmetria
## TC 5.01 38.71 11.87 10.96 8.98 13.5 4.52 22 4.69 39.5 2.09
## curtosi
## TC 6.88
GRAFICO A BARRE TOTALE INSERZIONI
ggplot(data = dati) +
geom_bar(aes(x = month,
y = listings,
fill = city),
position = 'stack',
stat = 'identity') +
facet_wrap(~ year)+
labs(title = 'Inserzioni totali mensili',
x = 'Mese',
y = 'Inserzioni Totali') +
theme_minimal()+
theme(axis.text.x = element_text(angle = 90, hjust = 1))
GRAFICO A LINEE EFFICACIA ANNUNCI
ggplot(data = dati, aes(x = month, y = TC, color = city, group = city)) +
geom_line() +
facet_wrap(~ year) +
labs(title = "Andamento mensile del tasso di conversione",
x = "Mese",
y = "Efficacia (%)") +
theme_minimal()+
theme(axis.text.x = element_text(angle = 90, hjust = 1))
CONSIDERAZIONI
Dalla nostra analisi circa gli indici di posizione, variabilità e forma riguardanti la nuova variabile precedentemente creata, TC (tasso di conversione: fornisce una percentuale che indica quante delle inserzioni si sono effettivamente convertite in vendite), emerge una modesta variabilità (39% stando al CV calcolato) unita ad un’alta simmetricità positiva, la quale fa intuire la presenza di valori alti nella distribuzione. Pertanto, potrebbe risultare molto utile un’analisi sulle cause che determinano questo picco nei valori riguardanti il nostro TC (molto probabile la presenza di campagne pubblicitarie efficaci, caratterizzate da inserzioni ben strutturate). Inoltre, dalle visualizzazioni grafiche emergono alcuni aspetti degni di nota:
Il tasso di conversione e numero di inserzioni aumentano in determinati mesi (da Marzo ad Agosto), suggerendo la presenza di mesi in cui si vende di più e in cui le campagne pubblicitarie si fanno più incisive.
Tra le città che vendono di più, Bryan College Station è quella con il tasso di conversione maggiore, nonostante il numero di annunci sia di netto inferiore a quelli di Tyler e Beaumont. Questo dato suggerisce la presenza di campagne pubblicitarie e di annunci pubblicitari di maggior impatto rispetto a quelle adottate nelle restanti città. Pertanto un’analisi più dettagliata consentirebbe di replicare i risultati ottenuti consentendo di aumentare le vendite future anche nelle altre città.
Sia nel 2013 che nel 2014 il numero di annunti di Bryan College Station è diminuito, tuttavia il tasso di conversione ha avuto un picco significativo, segno di una campagna pubblicitaria davvero efficace, al contrario di tyler che pur mantenendo un numero consistente di annunci in tutti gli anni registra il TC più basso tra le 4 città, sintomo di strategie di marketing molto deludenti.
dati_aggregati <- dati %>%
group_by(city, year ) %>%
summarize(total_sales = sum(sales),
mean_sales = mean(sales),
sd_sales = sd(sales),
total_volume = sum(volume),
mean_volume = mean(volume),
sd_volume = sd(volume)
)
## `summarise()` has grouped output by 'city'. You can override using the
## `.groups` argument.
print(dati_aggregati)
## # A tibble: 20 × 8
## # Groups: city [4]
## city year total_sales mean_sales sd_sales total_volume mean_volume
## <chr> <int> <int> <dbl> <dbl> <dbl> <dbl>
## 1 Beaumont 2010 1874 156. 36.9 272. 22.7
## 2 Beaumont 2011 1728 144 22.7 253. 21.1
## 3 Beaumont 2012 2063 172. 28.4 294. 24.5
## 4 Beaumont 2013 2414 201. 37.7 364. 30.3
## 5 Beaumont 2014 2564 214. 36.5 386. 32.1
## 6 Bryan-College… 2010 2011 168. 70.8 345. 28.7
## 7 Bryan-College… 2011 2009 167. 62.2 347. 28.9
## 8 Bryan-College… 2012 2361 197. 74.3 424. 35.4
## 9 Bryan-College… 2013 2854 238. 95.8 541. 45.1
## 10 Bryan-College… 2014 3123 260. 86.7 634. 52.8
## 11 Tyler 2010 2730 228. 49.0 436. 36.3
## 12 Tyler 2011 2866 239. 49.6 463. 38.6
## 13 Tyler 2012 3162 264. 46.4 528. 44.0
## 14 Tyler 2013 3449 287. 53.0 604. 50.3
## 15 Tyler 2014 3978 332. 56.9 715. 59.6
## 16 Wichita Falls 2010 1481 123. 26.6 180. 15.0
## 17 Wichita Falls 2011 1275 106. 19.8 145. 12.1
## 18 Wichita Falls 2012 1349 112. 14.2 159. 13.2
## 19 Wichita Falls 2013 1455 121. 26.0 178. 14.9
## 20 Wichita Falls 2014 1404 117 21.1 175. 14.5
## # ℹ 1 more variable: sd_volume <dbl>
RAPPRESENTAZIONE GRAFICA
ggplot(dati_aggregati, aes(x = year, y = mean_sales, color = city, group = city)) +
geom_line() +
geom_point() +
labs(title = "Media delle Vendite per Città e Anno",
x = "Anno",
y = "Media Vendite Mensili") +
scale_y_continuous(breaks = seq(120,320,20))+
theme_minimal()
ggplot(dati_aggregati, aes(x = year, y = mean_volume, fill = city)) +
geom_bar(stat = "identity", position = "dodge") +
labs(title = "Volume Medio delle Vendite per Anno e Città",
x = "Anno",
y = "Volume Medio Mensile ($)") +
theme_minimal()
8.CREAZIONE DI VISUALIZZAZIONI CON GGPLOT2
8.1 BOXPLOT PREZZO MEDIANO
ggplot(data=dati, aes(x = city, y = median_price, fill = city)) +
geom_boxplot() +
labs(title = "Confronto prezzo mediano",
x = "City",
y = "Median Price") +
theme_minimal()
ggplot(data=dati, aes(x = city,
y = median_price,
fill = factor(year))) +
geom_boxplot() +
labs(title = "Confronto prezzo mediano tra le Città, Anno per Anno",
x = "City",
y = "Prezzo mediano",
fill = "Year") +
theme_minimal()
CONSIDERAZIONI
Il primo box plot ci consente di fare le seguenti osservazioni sul prezzo mediano delle case tra le città:
Bryan-College Station ha i prezzi mediani più alti rispetto alle altre città, con una distribuzione dei prezzi abbastanza concentrata e pochi outlier sopra il range normale, suggerendo che il mercato è relativamente stabile. La posizione della mediana vicino al bordo inferiore e il “baffo” superiore più lungo indicano una simmetricità positiva, ossia che la maggior parte delle case ha prezzi sotto i 160000, ma ci sono alcune case molto costose che spostano verso l’alto la coda della distribuzione.
Tyler mostra una distribuzione più ampia dei prezzi rispetto a Brian-College Station, segno di una maggiore variabilità. Tuttavia la distribuzione è abbastanza simmetrica, suggerendo un mercato immobiliare uniforme e stabile.
Wichita Falls ha i prezzi mediani più bassi e la distribuzione più ampia tra tutte le città, caratterizzata da una simmetricità negativa con alcuni valori anomali, il che suggerisce che la maggior parte delle case ha prezzi sopra i 100000, ma ci sono alcune case economiche che spostano verso il basso la coda della distribuzione.
Beaumont ha prezzi mediani inferiori a quelli di Tyler, presentando una distribuzione relativamente stabile con minor dispersione, quasi simmetrica, con alcuni valori anomali, suggerendo un mercato omogeneo e con poche fluttuazioni nei prezzi.
Per ciò che concerne il box plot sui prezzi mediani suddivisi per anno, esso non fa che confermare le osservazioni fatte in precedenza:
Bryan-College Station: I prezzi mediani sono consistentemente i più alti rispetto alle altre città, i quali mostrano un sostanziale aumento nel corso degli anni. La dispersione è limitata, come evidenziato dalla compattezza dei box. Pochi o nessun outlier, suggerendo un mercato stabile e meno soggetto a fluttuazioni. Simmetria positiva confermata, data una modesta presenza di immobili di prezzo alto.
Tyler: Anche Tyler presenta prezzi relativamente alti,anch’essi aumentati nel corso degli anni, seppur leggermente inferiori rispetto a Bryan-College Station. La dispersione è moderata, con box relativamente stretti e pochi outlier, suggerendo una certa stabilità del mercato. Distribuzione abbastanza simmetrica, data la presenza di immobili sia di prezzo alto che più basso
Beaumont: Prezzi più bassi rispetto a Bryan-College Station e Tyler, tuttavia si registra un leggero aumento negli ultimi anni. Una dispersione più ampia rispetto a Bryan-College Station, ma relativamente stabile. Distribuzione abbastanza simmetrica.
Wichita Falls: Prezzi mediani più bassi tra tutte le città. Una maggiore dispersione, con box più ampi, il che suggerisce un mercato meno uniforme e più volatile.
Conclusione: Bryan-College Station e Tyler emergono come mercati con prezzi più alti e minor dispersione, indicativi di mercati più stabili e prevedibili. Beaumont e Wichita Falls, al contrario, mostrano una maggiore variabilità, con Wichita Falls che evidenzia il mercato più economico e volatile.
8.2 BOXPLOT VALORE TOTALE VENDITE
ggplot(data=dati, aes(x = city,
y = volume,
fill = factor(year))) +
geom_boxplot() +
labs(title = "Confronto del valore totale delle vendite tra le Città per Anno",
x = "City",
y = "Volume in dollari",
fill = "Year") +
theme_minimal()+
scale_y_continuous(breaks = seq(0,100,10))
CONSIDERAZIONI
Riguardo al grafico sul valore totale delle vendite possiamo fare le seguenti considerazioni:
Bryan College Station e Tyler registrano un valore di vendite (che aumenta di anno in anno) nettamente superiore a Beaumont e Wichita Falls,, segno della presenza di immobili di maggior valore. Tuttavia, Tyler presenta una distribuzione più concentrata rispetto a Bryan College Station (Box più piccoli), segno di un mercato più stabile.
Beaumont e Wichita Falls registrano un valore di vendite nettamente inferiore (specie la seconda) rispetto alle prime due città, pertanto beni immobiliari più economici. Tuttavia, sebbene Beaumont presenti una distribuzione più ampia rispetto a Wichita Falls, indice di un mercato più instabile e meno prevedibile, quest’ultima mostra un calo di incassi tra il 2013 e il 2014, facilmente intuibile dalla posizione della mediana dell’ultimo box.
8.3 BAR PLOT VENDITE
ggplot(data = dati) +
geom_bar(aes(x = month,
y = sales,
fill = city),
position = 'stack',
stat = 'identity') +
facet_wrap(~ year)+
labs(title = 'Vendite totali per mese e città',
x = 'Mese',
y = 'Totale vendite') +
theme_minimal()+
theme(axis.text.x = element_text(angle = 90, hjust = 1))+
scale_y_continuous(breaks = seq(0, 1000, 200))+
theme(legend.position = "bottom")
8.4 BAR PLOT NORMALIZZATO
ggplot(data = dati) +
geom_bar(aes(x = month,
y = sales,
fill = city),
position = "fill",
stat = 'identity') +
facet_wrap(~ year) +
labs(title = 'Vendite totali per mese e città',
x = 'Mese',
y = 'Proporzione vendite (%)') +
theme_classic()+
scale_y_continuous(breaks = seq(0, 1, 0.1))+
theme(axis.text.x = element_text(angle = 90, hjust = 1))+
theme(legend.position = "bottom")
CONSIDERAZIONI
Entrambi i grafici ci consentono di osservare una stagionalità delle vendite. Ad esempio, mesi estivi come Maggio, Giugno e Luglio, registrano volumi di vendite più alti, mentre mesi invernali, come Gennaio e Febbraio, si distinguono per una minore attività. Grazie al grafico normalizzato, possiamo facilmente notare come Bryan-College Station e Tyler contribuiscano in misura maggiore alle vendite totali rispetto alle altre due città. Nello specifico, Tyler è la città che regista il numero di vendite mensili più alto in tutti e 5 gli anni. Al contrario, Wichita Falls e Beaumont mostrano mercati meno dinamici sebbene la proporzione di vendite risulti essere più costante rispetto a Bryan-College Station, la quale mostra oscillazioni significative durante i mesi estivi. Infine, un ultimo aspetto da tenere in considerazione è che Bryan-College Station, Tyler e Beaumont registrano un aumento della loro proporzione di vendite nel tempo segno di un rafforzamento del mercato in queste località.
8.5 SERIE STORICA ANDAMENTO VENDITE MENSILE
ggplot(data=dati)+
geom_line(aes(x=month,
y=volume,
group = interaction(year, city),
color=city),lwd=1)+
facet_wrap(~ year)+
labs(title = 'Andamento Mercato Immobiliare Texas',
x = 'Mesi',
y = 'Milioni di dollari guadagnati')+
theme_minimal() +
theme(axis.text.x = element_text(angle = 90, hjust = 1))+
scale_y_continuous(breaks = seq(0, 80, 10))
8.6 SERIE STORICA ANDAMENTO VENDITE ANNUALE
dati_aggregati_year <- dati %>%
group_by(year, city) %>%
summarize(total_sales = sum(sales, na.rm = TRUE))
## `summarise()` has grouped output by 'year'. You can override using the
## `.groups` argument.
ggplot(data=dati_aggregati_year)+
geom_line(aes(x=year,y=total_sales, color=city))+
labs(title = 'Andamento Mercato Immobiliare Texas',
x = 'Anno',
y = 'Totale Vendite')+
scale_y_continuous(breaks = seq(0, 4000, 200))
dati$year <- as.numeric(dati$year)
dati$month <- as.numeric(dati$month)
# Crea la variabile 'date' con controllo
dati_temp <- dati %>%
mutate(date = as.Date(paste(year, month, "01", sep = "-"), format = "%Y-%m-%d"))
# Crea il grafico
ggplot(data = dati_temp) +
geom_line(aes(x = date, y = volume, colour = city, group = city)) +
labs(title = "Andamento Mensile delle Vendite nelle Città",
x = "Anno",
y = "Volume in Dollari($)",
color = "Città") +
scale_x_date(date_breaks = "1 year", date_labels = "%Y") +
theme_minimal()
Dalle analisi effettuate sul dataset relativo al mercato immobiliare del Texas, possiamo trarre diverse conclusioni utili per comprendere meglio le dinamiche del mercato e identificare opportunità di miglioramento o investimento.
Le vendite mostrano una significativa variabilità tra le città e nei diversi mesi. Città come Bryan-College Station e Tyler tendono ad avere vendite costantemente elevate rispetto ad altre città come Wichita Falls o Beaumont, che mostrano un’attività più bassa e irregolare. Inoltre, le vendite sono influenzate dalla stagionalità, con picchi nei mesi primaverili ed estivi e cali durante l’inverno. Questo indica che il mercato immobiliare del Texas segue una ciclicità tipica. Per ciò che concerne il loro andamento temporale, Bryan-College Station, Tyler e Beaumont mostrano una crescita costante nel tempo,con Tyler posizionata al primo posto, mentre Whichita Falls evidenzia un calo netto, segnalando un mercato meno appetibile.
Il volume totale delle vendite è fortemente influenzato dalle città più grandi e attive. Bryan-College Station e Tyler sono in testa, indicando mercati immobiliari forti con un’alta domanda. Anche qui l’alta variabilità e l’alta simmetricità positiva suggeriscono la presenza di mesi in cui le vendite si fanno più consistenti, fenomeno che trova conferma nel grafico sull’Andamento Mensile delle Vendite nelle Città.
Il prezzo mediano delle case è relativamente stabile rispetto ad altre variabili, con una distribuzione simmetrica e una variabilità moderata. Questo suggerisce che, nonostante la variabilità delle vendite, i prezzi delle case non subiscono oscillazioni drastiche, rendendo il mercato del Texas relativamente prevedibile in termini di valore degli immobili. Nello specifico, città come Tyler e Bryan-College Station hanno prezzi medi più alti rispetto a Wichita Falls e Beaumont, segnalando un divario economico tra le diverse regioni del Texas (data la presenza di immobili di lusso) e dunque un maggior potere d’acquisto da parte dei loro abitanti.
Il numero di annunci è molto variabile tra le città, con alcune aree che mostrano un’alta concentrazione di inserzioni attive. Questa variabilità è strettamente connessa alla stagionalità del mercato immobiliare del texas. Degno di nota è il fatto che Bryan College Station sia la città con il tasso di conversione migliore, nonostante il numero di annunci attivi registri un calo nel corso degli anni.
In sintesi, Città come Bryan-College Station e Tyler (e in misura minore Beaumont) rappresentano ottime opportunità di investimento. Infatti, come possiamo evincere dai grafici, esse si contraddistinguono non solo perchè presentano beni immobiliari più costosi, ma anche perchè registrano un aumento costante delle vendite nel tempo, oltre che dei prezzi. Tuttavia, risulta necessaria un’ottimizzazione delle strategie di vendita. Infatti, città come tyler presentano un numero consistente di inserzione che non si traducono in vendite. Può essere utile uno studio più dettagliato delle strategie di marketing di Bryan College Station, la quale, nonostante il basso numero di inserzioni, ha il tasso di conversione più alto tra tutte le città oggetto di studio.
Dunque, è di vitale importanza adattare le strategie di marketing di Bryan College Station alle città meno attive per aumentare la visibilità delle inserzioni e, di conseguenza, anche le vendite.