#install.packages("knitr", repos = "https://cran.stat.unipd.it/")
#install.packages("gridExtra")
library(knitr)
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
library(gridExtra)
## 
## Caricamento pacchetto: 'gridExtra'
## Il seguente oggetto è mascherato da 'package:dplyr':
## 
##     combine

Caricamento del dataset per procedere con l’analisi delle variabili

dati <- read.csv("realestate_texas.csv", sep = ",")
attach(dati)

1.Analisi delle variabili

Il dataset dispone di 240 osservazioni e 8 variabili:

1-city, variabile qualitativa nominale che rappresenta le città di riferimento

2-year, variabile qualitativa ordinale che rappresenta l’anno di riferimento

3-month, variabile qualitativa nominale che rappresenta il mese di riferimento

4-sales, variabile quantitativa discreta che rappresenta il numero totale di vendite

5-volume, variabile quantitativa continua che rappresenta il valore totale delle vendite in milioni di dollari

6-median_price, variabile quantitativa discreta che rappresenta il prezzo mediano di vendita in dollari

7-listings, variabile quantitativa discreta che rappresenta il numero totale di annunci attivi

8-months_inventory, variabile quantitativa continua che rappresenta la quantità di tempo necessaria per vendere tutte le inserzioni correnti, espressa in mesi

La variabile temporale year è di natura una variabile quantitativa continua. Nel nostro caso di studio, però, va trattata come una variabile qualitativa ordinale in quanto non stiamo misurando una quantità, ma stiamo usando i numeri per etichettare categorie. Discorso analogo per la variabile month che invece è nominale in quanto non vi è un ordine naturale.

Per questi motivi non ha senso calcolare alcun tipo di statistica di sintesi per le variabili qualitative, se non la moda e le frequenze. Per le variabili quantitative, invece, si potranno calcolare gli indici di posizione, variabilità e forma.

2.Indici di posizione, variabilità e forma

1- Per le variabili qualitative nominali calcoliamo la moda che ci fornisce la misura della frequenza osservata più alta

moda_city<-table(city)
kable(moda_city)
city Freq
Beaumont 60
Bryan-College Station 60
Tyler 60
Wichita Falls 60
moda_month<-table(month)
kable(moda_month)
month Freq
1 20
2 20
3 20
4 20
5 20
6 20
7 20
8 20
9 20
10 20
11 20
12 20

Dai risultati ottenuti possiamo dire che sono due variabili con una distribuzione dei dati uniforme, infatti tutte le modalità della variabile city e tutte le modalità della variabile month presentano la stessa frequenza, pertanto sono variabili multimodali.

Continuiamo con la variabile year, per la quale calcoliamo le frequenze assolute e relative, la moda, la mediana, i percentili e il range interquartile.

calcola_distr_frequenza <- function(variable) {
  # Numero totale di osservazioni
  n <- length(variable)

  # Creare il data frame con le frequenze
  distr_frequenza <- as.data.frame(
    cbind(
      ni = table(variable),
      fi = round(table(variable)/n,2),
      Ni = cumsum(table(variable)),
      Fi = round(cumsum(table(variable))/n,2)
    )
  )
  
  return (distr_frequenza)
}

kable(calcola_distr_frequenza(year))
ni fi Ni Fi
2010 48 0.2 48 0.2
2011 48 0.2 96 0.4
2012 48 0.2 144 0.6
2013 48 0.2 192 0.8
2014 48 0.2 240 1.0

Osserviamo che la variabile ha una distribuzione uniforme di frequenza assoluta pari a 48 per ogni modalità della variabile, pertanto è una variabile multimodale di distribuzione uniforme.

#percentili (e mediana)
kable(quantile(year))
x
0% 2010
25% 2011
50% 2012
75% 2013
100% 2014
#range interquartile
kable(IQR(year))
x
2

Dall’analisi svolta osserviamo che la mediana è 2012 ed è proprio quel valore che taglia in due la distribuzione dei dati, essa rappresenta anche il 50° percentile. Inoltre, il primo quartile e il terzo quartile sono rispettivamente il 2011 e il 2013 e si lasciano alle spalle il 25% e il 75% della distribuzione dei dati. Infine il range interquartile rappresenta l’intervallo di variazione del corpo centrale ed è la differenza tra Q1 e Q3, ovvero 2.

Adesso analizziamo le variabili quantitative. Andiamo a creare funzioni destinate al calcolo degli indici statistici di sintesi necessari per queste variabili.

# Funzione per calcolare il coefficiente di variazione

CV <- function(x){
  return(sd(x)/mean(x)*100)
}

# Funzione per calcolare gli indici statistici di posizione e variabilità

calcola_indici_statistici <- function(dataset, variabili_selezionate) {
  dataset_selezionato <- dataset[, variabili_selezionate]
  
  statistiche <- sapply(dataset_selezionato, function(x) {
    c(
      Minimo = round(min(x, na.rm = TRUE),2),
      Massimo = round(max(x, na.rm = TRUE),2),
      Range = round((max(x, na.rm = TRUE) - min(x, na.rm = TRUE)),2),
      Media = round(mean(x, na.rm = TRUE),2),
      Mediana = round(median(x, na.rm = TRUE),2),
      Primo_quartile = round(quantile(x,na.rm = TRUE,0.25),2),
      Terzo_quartile = round(quantile(x,na.rm = TRUE,0.75),2),
      Varianza = round(var(x, na.rm = TRUE),2),
      DeviazioneStandard = round(sd(x, na.rm = TRUE),2),
      Coefficiente_variazione = round(CV(x),2),
      Differenza_interquartile = round(IQR(x, na.rm = TRUE),2)
    )
  })
  
  return(statistiche)
}

# Funzione per il calcolo degli indici di forma

calcola_indici_forma <- function(dataset,variabili_selezionate){
  dataset_selezionato <- dataset[, variabili_selezionate]
  
  statistiche <- sapply(dataset_selezionato, function(x){
    c(
      Asimmetria = round(skewness(x, na.rm = TRUE),2),
      Curtosi = round(kurtosis(x, na.rm = TRUE),2)
    )
  })
  
  return(statistiche)
}

# creiamo il vettore delle variabili che andremo ad analizzare 

variabili <- c("sales", "volume", "median_price", "listings", "months_inventory")
indici_selezionati <- calcola_indici_statistici(dati, variabili)
kable(indici_selezionati)
sales volume median_price listings months_inventory
Minimo 79.00 8.17 73800.00 743.00 3.40
Massimo 423.00 83.55 180000.00 3296.00 14.90
Range 344.00 75.38 106200.00 2553.00 11.50
Media 192.29 31.01 132665.42 1738.02 9.19
Mediana 175.50 27.06 134500.00 1618.50 8.95
Primo_quartile.25% 127.00 17.66 117300.00 1026.50 7.80
Terzo_quartile.75% 247.00 40.89 150050.00 2056.00 10.95
Varianza 6344.30 277.27 513572983.09 566568.97 5.31
DeviazioneStandard 79.65 16.65 22662.15 752.71 2.30
Coefficiente_variazione 41.42 53.71 17.08 43.31 25.06
Differenza_interquartile 120.00 23.23 32750.00 1029.50 3.15

Alcune osservazioni sui risultati ottenuti

Osserviamo che in quasi tutte le variabili, la media risulta maggiore della mediana. Ci aspettiamo quindi di avere una distirbuzione di dati asimmetrica positiva con una coda lunga verso destra per queste variabili.

Per la variabile median_price, invece, non ha senso calcolare la mediana in quanto gli indici statistici sono già calcolati su un valore mediano.

Dal punto di vista della variabilità, notiamo che le variabili sales, volume e listings presentano un range di valori molto ampio con deviazioni standard relativamente alte, pertanto i valori risultano molto dispersi rispetto alla media. Questa osservazione viene confermata anche dal coefficiente di variazione che risulta essere superiore al 30% per le tre variabili.

La variabile months_inventory, invece, presenta una deviazione standard bassa rispetto alla sua media e al range dei dati, con coefficiente di variazione basso. Pertanto i valori saranno ben distribuiti intorno alla media.

indici_selezionati <- calcola_indici_forma(dati, variabili)
kable(indici_selezionati)
sales volume median_price listings months_inventory
Asimmetria 0.72 0.88 -0.36 0.65 0.04
Curtosi 2.69 3.18 2.38 2.21 2.83

Come anticipato, notiamo che per quasi tutte le variabili, ci troviamo di fronte a delle distribuzioni asimmetriche positive e leptocurtiche, ovvero avremo una curva con una coda lunga verso destra e di forma più allungata, quindi con un picco in alto.

Osserviamone i grafici

p1 <- ggplot(data.frame(sales), aes(x = sales)) + geom_density() + ggtitle("Density Plot di sales") 
p2 <- ggplot(data.frame(volume), aes(x = volume)) + geom_density() + ggtitle("Density Plot di volume")
p3 <- ggplot(data.frame(listings), aes(x = listings)) + geom_density() + ggtitle("Density Plot di listings")
p4 <- ggplot(data.frame(months_inventory), aes(x = months_inventory)) + geom_density() + ggtitle("Density Plot di months_inventory")
# Combinare i grafici
grid.arrange(p1, p2, p3, p4, ncol = 2)

L’unica eccezione è la variabile median_price. Sebbene l’indice di Fisher sia negativo, -0.36 risulta relativamente basso, quindi abbiamo una distribuzione quasi simmetrica, non molto lontana da una distribuzione normale. Questo è dovuto alla presenza di valori più estremi verso la coda di sinistra che abbassano notevolmente la media

ggplot(data.frame(median_price), aes(x = median_price)) + geom_density() + ggtitle("Density Plot di median_price")

3. Identificazione delle variabili con maggiore variabilità e asimmetria

Dalle analisi svolte sulle variabili, possiamo dire che la variabile con maggiore variabilità, e quindi quella con il coefficiente di variazione più alto, è la variabile volume con un CV di 53.71%. Essa rappresenta anche la variabile con la distribuzione più asimmetrica, in quanto presenta l’indice di asimmetria di Fisher più alto tra le variabili.

4. Creazione di classi per una variabile quantitativa

Per le variabili con un elevato numero di modalità è possibile suddividerle in classi esaustive e mutuamente esclusive.

Suddividiamo la variabile quantitativa sales in classi e creiamo la distribuzione di frequenza.

sales_cl<-cut(sales, seq(79,423,43))
kable(calcola_distr_frequenza(sales_cl))
ni fi Ni Fi
(79,122] 48 0.20 48 0.20
(122,165] 60 0.25 108 0.45
(165,208] 46 0.19 154 0.64
(208,251] 25 0.10 179 0.75
(251,294] 29 0.12 208 0.87
(294,337] 16 0.07 224 0.93
(337,380] 10 0.04 234 0.98
(380,423] 4 0.02 238 0.99

Osserviamo che la classe modale risulta essere la classe (122,165] con la più alta frequenza osservata. Rappresentiamo i dati con un grafico a barre

ggplot(data=dati)+
  geom_bar(aes(x = sales_cl),
           stat = "count",
           col = "black",
           fill = "violet")+
  labs(title = "Distribuzione delle classi di sales",
       x = "Numero totale di vendite",
       y = "Frequenze assolute")+
  theme_classic()

Da questa rappresentazione grafica possiamo notare che la classe con il numero totale di vendite maggiore è rappresentato proprio dalla classe (122,165], che rappresenta proprio la classe modale.

Infine calcoliamo l’indice di eterogeneità di Gini

gini.index<-function(x){
  ni= table(x)
  fi=ni/length(x)
  fi2=fi^2
  J=length(table(x))
  
  gini <- 1-sum(fi^2)
  gini.normalizzato <- round(gini/((J-1)/J),2)
  
  return(gini.normalizzato)
}

kable(gini.index(sales_cl))
x
0.95

L’indice di eterogeneità di Gini è quasi pari a 1,quindi le unità statistiche si distribuiscono abbastanza uniformemente lungo tutte le modalità della variabile.

5. Calcolo della probabilità

Qual è la probabilità che, presa una riga a caso di questo dataset, essa riporti la città “Beaumont”?

Sappiamo che la variabile city è composta da 4 modalità che si distribuiscono in maniera del tutto uniforme, con 60 osservazioni per ogni modalità. Quindi, sappiamo a priori quanti sono i casi favorevoli, ovvero 60, e quanti sono i casi possibili, ovvero 240.

Applichiamo la formula della probabilità classica, dividendo quindi il numero di casi favorevoli per il numero di casi possibili

probabilità_classica<- function (favorevoli, possibili){
  probabilita = round(favorevoli/possibili,4)
  return (probabilita)
}

n <- 240

kable(probabilità_classica(60,n))
x
0.25

C’è una possibilità su 4 che, presa una riga a caso di questo dataset, essa riporti la città “Beaumont”. Ci aspettavamo questo risultato in quanto le 4 modalità della variabile city hanno la stessa frequenza assoluta, pertanto hanno la stessa probabilità di essere estratte. Questo tipo di funzione di probabilità si dice uniforme.

Qual è la probabilità che, presa una riga a caso di questo dataset, essa riporti il mese di Luglio?

Discorso analogo per la variabile month, in quanto anche essa presenta una distribuzione uniforme dei dati

kable(probabilità_classica(20,n))
x
0.0833

Qual è la probabilità che, presa una riga a caso di questo dataset, essa riporti il mese di Dicembre 2012?

Poiché abbiamo 48 osservazioni per il mese di Dicembre (così come per qualsiasi altro mese) e 20 osservazioni per l’anno 2012 (così come per gli altri anni), dobbiamo trovare l’intersezione tra queste due condizioni. Ogni anno ha esattamente 48/12 osservazioni per ciascun mese. Quindi, per Dicembre 2012, ci saranno esattamente 4 osservazioni. Calcoliamo quindi la probabilià su 4 casi favorevoli

kable(probabilità_classica(4,n))
x
0.0167

Quindi la probabilità di estrarre una riga che riporti il mese di Dicembre 2012 è 1,67%.

6. Creazione di nuove variabili

Crea una nuova colonna che calcoli il prezzo medio degli immobili utilizzando le variabili disponibili.

Per ottenere il prezzo medio degli immobili sommiamo il valore di tutte le vendite (volume) e lo dividiamo per il totale delle vendite effettutate (sales). Dato che volume è espressa in milioni di dollari,

dati$price_per_unit <- data.frame((volume/sales))

in questo modo abbiamo aggiunto una nuova colonna al dataset che rappresenta proprio il prezzo medio degli immobili.

Prova a creare una colonna che misuri l’efficacia degli annunci di vendita.

Misurare l’efficacia degli annunci di vendita vuol dire calcolare il tempo impiegato a vendere tutti gli annunci attivi. Quindi calcoliamo il numero totale degli annunci attivi(listings) sul numero totale di mesi impiegati per venderli (months_inventory). Da questo rapporto si otterrà il numero totale di annunci venduti al mese.

dati$listings_effectiveness<-data.frame(listings/months_inventory)

In questo modo possiamo osservare l’efficacia degli annunci ed eseguire confronti.

7. Analisi condizionata

Effettuiamo analisi statistiche condizionate per città e anno, generiamo dei summary (media e deviazione standard) per una variabile di interesse, ad esempio sales e rappresentiamo graficamente i risultati.

summary_sales <- dati %>%
  group_by(city, year) %>%
  summarise(
    mean_sales = round(mean(sales, na.rm = TRUE),2),
    sd_sales = round(sd(sales, na.rm = TRUE),2),
    .groups = 'drop' 
  )

kable(summary_sales)
city year mean_sales sd_sales
Beaumont 2010 156.17 36.92
Beaumont 2011 144.00 22.66
Beaumont 2012 171.92 28.39
Beaumont 2013 201.17 37.73
Beaumont 2014 213.67 36.49
Bryan-College Station 2010 167.58 70.75
Bryan-College Station 2011 167.42 62.19
Bryan-College Station 2012 196.75 74.28
Bryan-College Station 2013 237.83 95.85
Bryan-College Station 2014 260.25 86.69
Tyler 2010 227.50 48.98
Tyler 2011 238.83 49.62
Tyler 2012 263.50 46.40
Tyler 2013 287.42 53.05
Tyler 2014 331.50 56.85
Wichita Falls 2010 123.42 26.62
Wichita Falls 2011 106.25 19.76
Wichita Falls 2012 112.42 14.25
Wichita Falls 2013 121.25 26.00
Wichita Falls 2014 117.00 21.09
# Visualizza i risultati con ggplot2 includendo le barre di errore
ggplot(summary_sales, aes(x = factor(year), y = mean_sales, fill = city)) +
  geom_bar(stat = "identity", position = "dodge") +
  labs(title = "Media delle vendite per città e anno",
       x = "Anno",
       y = "Media delle vendite") +
  theme_minimal()

Osserviamo che la media del numero vendite ha subito un’aumento dal 2011 al 2014 per tutte le città, con un picco nel 2014 per la città di Tyler che raggiunge la media di vendite più alta. L’unica eccezione è la città di Wichita Falls che presenta la media di vendite più alta nel 2010 per poi subire una forte perdita nel numero di vendite nel 2011, mantenendo poi una media quasi costante.

8. Creazione di visualizzazioni con ggplot2

Boxplot per confrontare la distribuzione del prezzo mediano tra le città

ggplot(data=dati) +
  geom_boxplot(aes(x=city, 
                   y=median_price), 
               fill="lightblue") +
  labs(
    title = "Distribuzione del prezzo mediano tra le città",
    x = "Città",
    y = "Prezzo mediano"
  ) +
  theme(
    panel.background = element_blank(),
    axis.line = element_line(color = "black"),
    plot.title = element_text(hjust = 0.5)
  )

Si evince che la città più accessibile risulta essere Wichita Falls, con mediana bassa e prezzi più concentrati. Al contrartio, Bryan-College Station e Tyler risultano le città più costose, presentando una mediana simile. Beaumont, invece, rappresenta una fascia intermedia.

Osservando, invece, la stabilità del mercato, possiamo dire che Beaumont e Tyler presentano il mercato più variabile, con prezzi alti e bassi. Bryan-College Station invece presenta il mercato più stabile, con prezzi molto elevati.

Grafici a barre per confrontare il totale delle vendite per mese e città

ggplot(data = dati) +
  geom_bar(aes(x = month, 
               y = sales, 
               fill = city), 
           stat = "identity", 
           position = "dodge") +
  labs(
    title = "Totale delle vendite per mese e città",
    x = "Mese",
    y = "Totale vendite",
    fill = "Città"
  ) +
  theme_minimal()

Da questo grafico possiamo osservare che le vendite più alte sono state registrate durante il mese di Giugno per la città di Tyler, mentre le vendite più basse sono state registrate durante il mese di Febbraio per la città di Wichita Falls. Ovviamente possiamo fare dei confronti tra le varie città, ad esempio osserviamo che la città con un numero di vendite minore rispetto alle altre è Wichita Falls, oppure che la città con un numero di vendite maggiore rispetto alle altre è sicuramente Tyler, che viene superata nel numero di vendite da Bryan-College Station solo durante il mese di Luglio.

Line charts per confrontare l’andamento delle vendite in periodi storici differenti.

#creiamo la variabile data combinando mese e anno per ottenere una serie storica lunga 5 anni
dati$yearmonth <- paste(dati$year, sprintf("%02d", dati$month), sep = "-")
dati_unici <- dati[!duplicated(dati$yearmonth), ]

#creiamo il grafico line chart
ggplot(dati_unici) +
  geom_line(aes(x = yearmonth, y = sales, group = 1), col = "blue") +
  geom_point(aes(x = yearmonth, y = sales, group = 1), col = "blue") +
  labs(title = "Andamento delle vendite nei diversi periodi storici",
       x = "Data",
       y = "Vendite") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 90, hjust = 1))

Il grafico mostra una tendenza generale di crescita delle vendite nel periodo considerato. Questo è un buon segno poiché indica un aumento delle vendite nel tempo. Ci sono diverse fluttuazioni e picchi nel grafico che potrebbero derivare da campagne di annunci che possono aver influenzato positivamente le vendite. Inoltre, possiamo notare anche che i picchi si registrano maggiormente durante i periodi estivi. Questo potrebbe essere dovuto a saldi stagionali o vacanze in generale che possono comportare un aumento delle vendite.

Boxplot per confrontare la distribuzione del valore totale delle vendite tra le varie città ma anche tra i vari anni

ggplot(data=dati) +
  geom_boxplot(aes(x=city, 
                   y=volume,
                   fill=factor(year),
                    group=interaction(city, factor(year)))) +
  labs(
    title = "Distribuzione del valore totale delle vendite tra città ed anni",
    x = "Città",
    y = "Valore totale delle vendite (in milioni)"
  ) +
  theme_classic() 

Osserviamo che Beaumont ha una distribuzione del valore totale delle vendite relativamente concentrata e una mediana piuttosto bassa rispetto ad altre città, indicando che il volume delle vendite è stabile ma non elevato. Bryan-College Station ha una maggiore variabilità, suggerendo che ci sono differenze significative nei valori totali delle vendite. La mediana è piuttosto alta tra le città analizzate,quindi ha un mercato molto attivo. Tyler ha una buona distribuzione con un volume elevato. Sebbene ci sia meno variabilità rispetto a Bryan-College Station, i valori totali delle vendite sono competitivi. Infine Wichita Fallsha la distribuzione più bassa tra tutte le città analizzate, con una mediana bassa e poca variabilità. Ciò indica un mercato meno dinamico o con meno crescita.

A livello temporale, possiamo dire che il 2011 mostra un mercato stabile con dei valori di vendita piuttosto nella media; il 2012 invece sembra essere un anno di picco, soprattutto per le città di Bryan-College Station e Tyler che si distinguono rispetto alle altre.

Sempre dalla stessa analisi, era emerso che la città di Beaumont risultava essere quella con un mercato intermedio, con una fascia di prezzi nella media rispetto alle altre. Questa analisi conferma quanto affermato in precedenza, infatti possiamo notare che il valore totale delle vendite si mantiene nella media.

Le due città più costose, con un valore totale delle vendite più alto, risultano la città di Tyler e quella di Bryan-College Station.

Usare un grafico a barre sovrapposte per confrontare il totale delle vendite nei vari mesi, sempre considerando le città

ggplot(data = dati)+
  geom_bar(aes(x = month,
               y = sales,
               fill = city),
           stat = "identity", 
           position = "stack") +
  labs(
    title = "Totale delle vendite per mese e città",
    x = "Mese",
    y = "Totale vendite",
    fill = "Città"
  ) +
  theme_minimal() +
  scale_x_continuous(breaks = seq(1,12,1))+
  scale_y_continuous(breaks = seq(0,5000,500))

Ci permette di confrontare meglio quanto ogni città contribuisce alla vendita totale per ogni mese. Ad esempio, osserviamo che la maggior parte delle vendite per ogni mese è fornita dalla città di Tyòer e Bryan-College Station, mentre la città di Wichita Falls contribuisce meno alle vendite totali ogni mese.

Osserviamo anche la rappresentazione grafica a barre sovrapposte normalizzata

ggplot(data = dati)+
  geom_bar(aes(x = month,
               y = sales,
               fill = city),
           stat = "identity", 
           position = "fill") +
  labs(
    title = "Totale delle vendite per mese e città",
    x = "Mese",
    y = "Totale vendite",
    fill = "Città"
  ) +
  theme_classic() +
  scale_x_continuous(breaks = seq(1,12,1))+
  scale_y_continuous(breaks = seq(0,1,0.1))

In questo caso ogni barra è normalizzata, e questo ci consente di analizzare come le diverse città contribuiscono al totale delle vendite in termini di percentuali, in quanto ogni barra rappresenta il 100% del totale delle vendite per ogni mese. Ad esempio possiamo dire che la città che domina il totale delle vendite è la città di Tyler.

Proviamo ad aggiungere anche la variabile year per permetterci di confrontare il totale delle vendite di ogni città per ogni mese dei rispettivi anni.

ggplot(data = dati)+
  geom_bar(aes(x = month,
               y = sales,
               fill = city),
           stat = "identity", 
           position = "fill") +
  labs(
    title = "Totale delle vendite per mese e città",
    x = "Mese",
    y = "Totale vendite",
    fill = "Città"
  ) +
  theme_minimal() +
  scale_x_continuous(breaks = seq(1,12,1))+
  scale_y_continuous(breaks = seq(0,1,0.1))+
  facet_wrap(~ year)

Osservazioni finali:

Dalle varie analisi svolte possiamo giungere alla conclusione che il mercato immobiliare del Texas ha subito una forte impennata di vendite nel 2012, con un mercato in continuo aumento fino al 2014. Questo potrebbe essere dovuto all’efficacia delle inserzioni immobiliari utilizzate in quell’arco temporale, pertanto sembra che dal 2012 in poi sia cambiata la strategia di marketing adottata per la creazione delle inserzioni immobiliari e quindi consiglierei di continuare ad adottare quel tipo di strategia.

Dal punto di vista del mercato, è possibile soddisfare le esigenze di un vasto target di clientela. Infatti, troviamo città molto economiche come Wachita Falls, che quindi si adattano tranquillamente a qualsiasi fascia economica. A seguire, troviamo un mercato immobliare di fascia medio-bassa, ovvero il mercato immobiliare di Beaumont. Per una clientela che appartiene ad una fascia economica medio-alta troviamo sicurmanente le città di Tyler e Bryan-College Station, per le quali è possibile trovare anche soluzioni immobiliari di lusso, che quindi “sforano” la fascia medio-alta del mercato.

Sicuramente, si potrebbe puntare ad una crescita della città di Wachita Falls, che sembra essere la città che meno ha risentito dell’efficacia adottata nelle strategie di marketing dedicate alle inserzioni immobiliari. Quello che farei è adottare una strategia diversa, valorizzando i prezzi molto bassi degli immobili di quella città, cercando di aumentare il numero di richieste e quindi di vendite.

Un altro aspetto che non è passato inosservato è come il numero totale delle vendite aumenti durante la stagione estiva, sopratutto nelle due città più ricche analizzate. Pertanto andrei a studiare con ulteriori dati e variabili, il motivo per il quale questo avviene e rafforzerei la strategia di marketing adottata.