## Quiz 2
- Calcolare media aritmetica e mediana della variabile fattmedia distinguendo tra clienti BUSINESS e CONSUMER (suggerimento: raggruppare rispetto alla variabile bu_co)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.0 ✔ readr 2.1.4
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ ggplot2 3.4.1 ✔ tibble 3.2.0
## ✔ lubridate 1.9.2 ✔ tidyr 1.3.0
## ✔ purrr 1.0.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the ]8;;http://conflicted.r-lib.org/conflicted package]8;; to force all conflicts to become errors
library(ggplot2)
clienti_na <- read.table("clienti_na.txt",header=T,sep=";")
clienti_na <- as_tibble(clienti_na)
glimpse(clienti_na)
## Rows: 8,052
## Columns: 21
## $ clienteattivo <int> 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1,…
## $ mesicliente <int> 12, 5, 12, 12, 12, 12, 12, 12, 12, 6, 12,…
## $ mesi_dalla_prima_attivazione <int> 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 1…
## $ n_utenze <int> 2, 2, 1, 4, 1, 1, 1, 3, 1, 2, 1, 1, 1, 3,…
## $ n_utenze_attive <int> 2, 0, 1, 1, 1, 1, 1, 3, 1, 0, 1, 1, 1, 3,…
## $ serviziattivaticliente <chr> "GA", "EG", "E", "EGAM", "E", "E", "M", "…
## $ serviziattivi <chr> "GA", "noservizi", "E", "A", "E", "E", "M…
## $ fattmedia <dbl> 141.48250, 170.26000, 54.79300, 140.27800…
## $ statoamministrativo <chr> "MOROSO", "REGOLARE", "MOROSO", "REGOLARE…
## $ ageingticketultimoreclamo <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
## $ areanielsencliente <chr> "Nord O", "Centro", "Centro", "Sud", "Cen…
## $ sessoreferente <chr> "F", "M", "F", "M", "F", "F", "F", "M", "…
## $ etareferente <int> 42, 39, 40, 29, 97, 62, 23, 62, 39, 75, 5…
## $ canalemodale <chr> "Retediretta", "ReteIndiretta", "ReteIndi…
## $ ultimamodalita <chr> "BP", "BP", "BP", "BP", "BP", "SDD", "BP"…
## $ proxy_churn_strong <int> 2, 2, 0, 6, 0, 1, 1, 4, 0, 2, 1, 0, 0, 0,…
## $ bu_co <chr> "CONSUMER", "BUSINESS", "CONSUMER", "CONS…
## $ reclami <int> 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0,…
## $ casi_credito <int> 22, 3, 6, 4, 5, 0, 0, 0, 0, 9, 8, 1, 0, 0…
## $ casi_fattura <int> 4, 1, 3, 5, 2, 0, 4, 0, 0, 4, 0, 4, 0, 7,…
## $ tiposped <chr> "Elettronica", "Elettronica", "Cartacea",…
clienti_na2 <- clienti_na %>%
group_by(bu_co) %>%
summarize(media=mean(fattmedia,na.rm=T),mediana=median(fattmedia,na.rm=T))
- Rappresentare la relazione tra le due variabili considerate nel precedente quesito (fattmedia e bu_co) mediante una rappresentazione grafica adeguata e commentare i risultati
clienti_na %>%
ggplot(aes(x=bu_co,y=fattmedia,fill=bu_co)) +
geom_boxplot(notch=T,outlier.colour = "red",alpha=0.7) +
theme_minimal() +
labs(x="bu_co", y="fattmedia") +
ylim(0,500)
## Warning: Removed 245 rows containing non-finite values (`stat_boxplot()`).
print("Sicuramente il seguente grafico ci fa capire come i clienti BUSINESS riescano a creare un maggiore fatturato rispetto ai clienti CONSUMER, infatti la mediana, la media certificano quanto detto. Oltretutto da notare un ampiezza interquartile maggiore per i clienti BUSINESS rispetto ai CONSUMER per intendere una maggiore variabilità. Infine c'è da considerare anche i valori anomali presenti per lo più nei business rispetto i consumer")
## [1] "Sicuramente il seguente grafico ci fa capire come i clienti BUSINESS riescano a creare un maggiore fatturato rispetto ai clienti CONSUMER, infatti la mediana, la media certificano quanto detto. Oltretutto da notare un ampiezza interquartile maggiore per i clienti BUSINESS rispetto ai CONSUMER per intendere una maggiore variabilità. Infine c'è da considerare anche i valori anomali presenti per lo più nei business rispetto i consumer"
- Si vuole ipotizzare una relazione tra il canale di acquisto del cliente (variabile canalemodale) e la longevità del cliente in termini di mesi trascorsi prima che disdica l’abbonamento (mesicliente). Rappresentare graficamente questa relazione e commentare i risultati
clienti_na %>%
ggplot(aes(x=canalemodale,y=as.numeric(mesicliente),fill=canalemodale)) +
geom_boxplot(notch=T,outlier.colour = "blue",alpha=0.7) +
theme_minimal() +
labs(x="Canali",y="Mesi Abbonamento cliente")
## Notch went outside hinges
## ℹ Do you want `notch = FALSE`?
## Notch went outside hinges
## ℹ Do you want `notch = FALSE`?
## Notch went outside hinges
## ℹ Do you want `notch = FALSE`?
print("Dalla seguente rappresentazione grafica ci appare chiaro che i clienti sottoscrivano abbonamenti più longevi per il canale TeleSelling. Mentre possiamo riscontrare diverse anomalie per il canale web. Oltretutto Teleselling presenta un grande variabilità rispetto agli altri canali.")
## [1] "Dalla seguente rappresentazione grafica ci appare chiaro che i clienti sottoscrivano abbonamenti più longevi per il canale TeleSelling. Mentre possiamo riscontrare diverse anomalie per il canale web. Oltretutto Teleselling presenta un grande variabilità rispetto agli altri canali."