Το dataset που χρησιμοποιούμε στην παρούσα ανάλυση προέρχεται από μια βάση δεδομένων πελατών της εταιρείας marketing. Το dataset περιλαμβάνει δεδομένα για μια ομάδα πελατών και αφορά χαρακτηριστικά όπως το επίπεδο εκπαίδευσης, το εισόδημα, η ηλικία, η οικογενειακή κατάσταση, και το έτος γέννησης. Αυτή η βάση δεδομένων χρησιμοποιείται για ανάλυση δεδομένων σε σενάρια επιχειρηματικής ανάλυσης και marketing.
Η επιλογή αυτού του dataset βασίζεται στην ανάγκη ανάλυσης της σχέσης
μεταξύ διαφόρων χαρακτηριστικών των πελατών και των στρατηγικών
marketing. Αντιπροσωπεύει ένα δείγμα πραγματικών δεδομένων που μπορεί να
βοηθήσει στην κατανόηση των προτιμήσεων και συμπεριφορών των πελατών,
και στη βελτίωση των αποφάσεων marketing για την εταιρεία.
Από το συγκεκριμένο dataset μπορούμε να εξετάσουμε ερωτήματα όπως: - Ποιες ομάδες πελατών έχουν το μεγαλύτερο εισόδημα; - Ποιες είναι οι συνηθέστερες εκπαιδευτικές κατηγορίες σε σχέση με την οικογενειακή κατάσταση; - Ποιες μεταβλητές σχετίζονται με την αγοραστική συμπεριφορά των πελατών (αν αυτή υπάρχει στο dataset); - Ποια είναι η κατανομή των πελατών ανά ηλικία και εισόδημα;
| Μεταβλητή | Τύπος | Περιγραφή |
|---|---|---|
ID |
Numeric | Μοναδικός αριθμός αναγνώρισης για κάθε πελάτη. |
Year_Birth |
Numeric | Έτος γέννησης του πελάτη. |
Income |
Numeric | Ετήσιο εισόδημα του πελάτη σε νομισματική μονάδα. |
Dt_Customer |
Date | Ημερομηνία πρώτης εγγραφής του πελάτη στην εταιρεία. |
Education |
Character | Εκπαιδευτικό επίπεδο του πελάτη (π.χ., Basic, 2n Cycle, Graduation, Master, PhD). |
Marital_Status |
Character | Οικογενειακή κατάσταση του πελάτη (π.χ., Single, Married, Together, Divorced, Widow). |
NumChildrenAtHome |
Numeric | Αριθμός παιδιών που διαμένουν στο σπίτι του πελάτη. |
NumWebPurchases |
Numeric | Αριθμός αγορών που πραγματοποιήθηκαν μέσω του διαδικτύου από τον πελάτη. |
# Φόρτωση του dataset
marketing_campaign <- read.csv("marketing_campaign.csv")
# Εμφάνιση συνοπτικών στατιστικών
summary(marketing_campaign)
## ID Year_Birth Education Marital_Status
## Min. : 0 Min. :1893 Length:2240 Length:2240
## 1st Qu.: 2828 1st Qu.:1959 Class :character Class :character
## Median : 5458 Median :1970 Mode :character Mode :character
## Mean : 5592 Mean :1969
## 3rd Qu.: 8428 3rd Qu.:1977
## Max. :11191 Max. :1996
##
## Income Kidhome Teenhome Dt_Customer
## Min. : 1730 Min. :0.0000 Min. :0.0000 Length:2240
## 1st Qu.: 35303 1st Qu.:0.0000 1st Qu.:0.0000 Class :character
## Median : 51382 Median :0.0000 Median :0.0000 Mode :character
## Mean : 52247 Mean :0.4442 Mean :0.5062
## 3rd Qu.: 68522 3rd Qu.:1.0000 3rd Qu.:1.0000
## Max. :666666 Max. :2.0000 Max. :2.0000
## NA's :24
## Recency MntWines MntFruits MntMeatProducts
## Min. : 0.00 Min. : 0.00 Min. : 0.0 Min. : 0.0
## 1st Qu.:24.00 1st Qu.: 23.75 1st Qu.: 1.0 1st Qu.: 16.0
## Median :49.00 Median : 173.50 Median : 8.0 Median : 67.0
## Mean :49.11 Mean : 303.94 Mean : 26.3 Mean : 166.9
## 3rd Qu.:74.00 3rd Qu.: 504.25 3rd Qu.: 33.0 3rd Qu.: 232.0
## Max. :99.00 Max. :1493.00 Max. :199.0 Max. :1725.0
##
## MntFishProducts MntSweetProducts MntGoldProds NumDealsPurchases
## Min. : 0.00 Min. : 0.00 Min. : 0.00 Min. : 0.000
## 1st Qu.: 3.00 1st Qu.: 1.00 1st Qu.: 9.00 1st Qu.: 1.000
## Median : 12.00 Median : 8.00 Median : 24.00 Median : 2.000
## Mean : 37.53 Mean : 27.06 Mean : 44.02 Mean : 2.325
## 3rd Qu.: 50.00 3rd Qu.: 33.00 3rd Qu.: 56.00 3rd Qu.: 3.000
## Max. :259.00 Max. :263.00 Max. :362.00 Max. :15.000
##
## NumWebPurchases NumCatalogPurchases NumStorePurchases NumWebVisitsMonth
## Min. : 0.000 Min. : 0.000 Min. : 0.00 Min. : 0.000
## 1st Qu.: 2.000 1st Qu.: 0.000 1st Qu.: 3.00 1st Qu.: 3.000
## Median : 4.000 Median : 2.000 Median : 5.00 Median : 6.000
## Mean : 4.085 Mean : 2.662 Mean : 5.79 Mean : 5.317
## 3rd Qu.: 6.000 3rd Qu.: 4.000 3rd Qu.: 8.00 3rd Qu.: 7.000
## Max. :27.000 Max. :28.000 Max. :13.00 Max. :20.000
##
## AcceptedCmp3 AcceptedCmp4 AcceptedCmp5 AcceptedCmp1
## Min. :0.00000 Min. :0.00000 Min. :0.00000 Min. :0.00000
## 1st Qu.:0.00000 1st Qu.:0.00000 1st Qu.:0.00000 1st Qu.:0.00000
## Median :0.00000 Median :0.00000 Median :0.00000 Median :0.00000
## Mean :0.07277 Mean :0.07455 Mean :0.07277 Mean :0.06429
## 3rd Qu.:0.00000 3rd Qu.:0.00000 3rd Qu.:0.00000 3rd Qu.:0.00000
## Max. :1.00000 Max. :1.00000 Max. :1.00000 Max. :1.00000
##
## AcceptedCmp2 Complain Z_CostContact Z_Revenue
## Min. :0.00000 Min. :0.000000 Min. :3 Min. :11
## 1st Qu.:0.00000 1st Qu.:0.000000 1st Qu.:3 1st Qu.:11
## Median :0.00000 Median :0.000000 Median :3 Median :11
## Mean :0.01339 Mean :0.009375 Mean :3 Mean :11
## 3rd Qu.:0.00000 3rd Qu.:0.000000 3rd Qu.:3 3rd Qu.:11
## Max. :1.00000 Max. :1.000000 Max. :3 Max. :11
##
## Response
## Min. :0.0000
## 1st Qu.:0.0000
## Median :0.0000
## Mean :0.1491
## 3rd Qu.:0.0000
## Max. :1.0000
##
# Φόρτωση του dataset
marketing_campaign <- read.csv("marketing_campaign.csv")
#Επιλογή αριθμητικών μεταβλητών
numeric_vars <- c("Income", "Kidhome", "Year_Birth", "Recency")
#Υπολογισμός συντελεστών συσχέτισης
correlation_matrix <- cor(marketing_campaign[, numeric_vars], use = "complete.obs", method = "pearson")
#Προβολή του πίνακα συσχετίσεων
correlation_matrix
## Income Kidhome Year_Birth Recency
## Income 1.000000000 -0.42866901 -0.1617914 -0.003969756
## Kidhome -0.428669008 1.00000000 0.2336146 0.011492149
## Year_Birth -0.161791428 0.23361462 1.0000000 -0.016294900
## Recency -0.003969756 0.01149215 -0.0162949 1.000000000
getmode <- function(v) { uniqv <- unique(v) uniqv[which.max(tabulate(match(v, uniqv)))] } mode_income <- getmode(marketing_campaign$Income)
mean_income median_income mode_income
(“Μέσος Όρος Εισοδήματος:”, mean_income, “”) (“Διάμεσος Εισοδήματος:”, median_income, “”) (“Επικρατούσα Τιμή Εισοδήματος:”, mode_income, “”) (“Τυπική Απόκλιση Εισοδήματος:”, std_dev_income, “”) (“Διακύμανση Εισοδήματος:”, variance_income, “”) (“Εύρος Εισοδήματος:”, range_income, “”)
library(ggplot2)
ggplot(marketing_campaign, aes(x= Year_Birth, y=Income)) +
geom_point() +
theme_minimal()
Ερμηνεία του διαγράμματος
Το scatter plot που δημιουργήσαμε απεικονίζει τη σχέση μεταξύ Year_Birth και του Income των πελατών. Κάθε σημείο στο διάγραμμα αντιπροσωπεύει έναν πελάτη. O οριζόντιος άξονας (x) δείχνει το έτος γέννησης. Ο κάθετος άξονας (y) δείχνει το εισόδημα του πελάτη. Το διάγραμμα μπορεί να μας βοηθήσει να εντοπίσουμε πιθανές τάσεις, όπως αν οι νεότεροι ή οι μεγαλύτεροι σε ηλικία πελάτες έχουν υψηλότερα εισοδήματα.
ggplot(marketing_campaign, aes(x = Education, y = Income, fill = Education)) +
geom_boxplot() +
theme_minimal() +
scale_fill_brewer(palette = "Set3")
Ερμηνεία του Διαγράμματος Το boxplot που δημιουργήσαμε απεικονίζει τη σχέση μεταξύ Education και του εισοδήματος Income.
ggplot(marketing_campaign, aes(x = Year_Birth)) +
geom_histogram(binwidth = 5, fill = "lightblue", color = "black") +
labs(title = "Histogram of Age",
x = "Age",
y = "Count") +
theme_minimal()
library(ggplot2)
# Δημιουργία Bar chart για την κατανομή του εκπαιδευτικού επιπέδου των πελατών με διαφορετικά χρώματα για κάθε κατηγορία
ggplot(marketing_campaign, aes(x = Education, fill = Education)) +
geom_bar(color = "black") +
labs(title = "Bar Chart of Education Level",
x = "Education Level",
y = "Number of Customers") +
theme_minimal() +
scale_fill_manual(values = c("Basic" = "lightblue",
"2n Cycle" = "lightgreen",
"Graduation" = "lightpink",
"Master" = "lightyellow",
"PhD" = "lightcoral"))
Το συγκεκριμένο ραβδόγραμμα (bar chart) παρουσιάζει την κατανομή των πελατών σύμφωνα με το επίπεδο εκπαίδευσής τους.
Στον οριζόντιο άξονα (x-axis) εμφανίζονται τα επίπεδα εκπαίδευσης: - 2n Cycle - Basic - Graduation - Master - PhD Στον κατακόρυφο άξονα (y-axis) παρουσιάζεται ο αριθμός των πελατών.
Η πλειοψηφία των πελατών έχει ολοκληρώσει τουλάχιστον το επίπεδο Graduation, ενώ λιγότεροι πελάτες έχουν χαμηλότερο επίπεδο εκπαίδευσης.