1 Περιγραφή του συνόλου δεδομένων

Το σύνολο δεδομένων προέρχεται από μία διεθνής εταιρεία ηλεκτρονικού εμπορίου που επιδιώκει να ανακαλύψει βασικές πληροφορίες από τη βάση δεδομένων των πελατών της.

Σκοπεύει να χρησιμοποιήσει προηγμένες τεχνικές μηχανικής μάθησης για την ανάλυση των πελατών της. Συγκεκριμένα, η εταιρεία ειδικεύεται στην πώληση ηλεκτρονικών προϊόντων. Το dataset περιέχει 10.999 εγγραφές και 12 στήλες, οι οποίες σχετίζονται με την αποστολή προϊόντων, την ικανοποίηση των πελατών και επιχειρηματικές μετρήσεις.

Πηγή

1.1 Τίτλοι στηλών

ID: Αριθμός αναγνώρισης πελατών.

Warehouse block: Η εταιρεία διαθέτει μια μεγάλη αποθήκη που είναι χωρισμένη σε τμήματα, όπως A, B, C, D, E.

Mode of shipment: Η εταιρεία αποστέλλει τα προϊόντα με διάφορους τρόπους, όπως πλοίο, αεροπορική μεταφορά και οδική μεταφορά.

Customer care calls: Ο αριθμός των κλήσεων που έγιναν για ερωτήσεις σχετικά με την αποστολή.

Customer rating: Η εταιρεία λαμβάνει βαθμολογίες από κάθε πελάτη. Το 1 είναι η χαμηλότερη (χειρότερη) βαθμολογία, ενώ το 5 είναι η υψηλότερη (καλύτερη).

Cost of the product: Το κόστος του προϊόντος σε δολάρια ΗΠΑ.

Prior purchases: Ο αριθμός των προηγούμενων αγορών του πελάτη.

Product importance: Η εταιρεία έχει κατηγοριοποιήσει τα προϊόντα σε διάφορες κατηγορίες, όπως χαμηλή, μεσαία και υψηλή σημασία.

Gender: Φύλο (Άνδρας ή Γυναίκα).

Discount offered: Η έκπτωση που προσφέρεται για το συγκεκριμένο προϊόν.

Weight in gms: Το βάρος του προϊόντος σε γραμμάρια.

Reached on time: Αυτή είναι η μεταβλητή-στόχος, όπου το 1 υποδηλώνει ότι το προϊόν ΔΕΝ παραδόθηκε στην ώρα του, ενώ το 0 υποδηλώνει ότι παραδόθηκε στην ώρα του.

Για καλύτερη κατανόηση παρακάτω φαίνονται οι στήλες αναλυτικά για τις πρώτες 10 εγγραφές:

kable(head(ShipmentData, 10))
ID Warehouse_block Mode_of_Shipment Customer_care_calls Customer_rating Cost_of_the_Product Prior_purchases Product_importance Gender Discount_offered Weight_in_gms Reached.on.Time_Y.N
1 D Flight 4 2 177 3 low F 44 1233 1
2 F Flight 4 5 216 2 low M 59 3088 1
3 A Flight 2 2 183 4 low M 48 3374 1
4 B Flight 3 3 176 4 medium M 10 1177 1
5 C Flight 2 2 184 3 medium F 46 2484 1
6 F Flight 3 1 162 3 medium F 12 1417 1
7 D Flight 3 4 250 3 low F 3 2371 1
8 F Flight 4 1 233 2 low F 48 2804 1
9 A Flight 3 4 150 3 low F 11 1861 1
10 B Flight 3 2 164 3 medium F 29 1187 1

1.2 Αξιοποίηση δεδομένων

Το dataset μπορεί να απαντήσει σε διάφορες επιχειρηματικές ερωτήσεις, όπως:

Πώς επηρεάζει η έγκαιρη παράδοση την ικανοποίηση των πελατών;

Ποιος τρόπος αποστολής είναι πιο αξιόπιστος για την έγκαιρη παράδοση;

Υπάρχει σχέση μεταξύ εκπτώσεων και καθυστερήσεων στην παράδοση;

Υπάρχει κάποιο τμήμα που φαίνεται να έχει καθυστερήσεις στην παράδοση και να υπολειτουργεί?;

Ποιοι παράγοντες επηρεάζουν το αν ένας πελάτης θα κάνει επαναλαμβανόμενες αγορές;

2 Παρουσίαση Περιγραφικών Στατιστικών

Βασικά στατιστικά στοιχεία όπως ελάχιστη τιμή, μέγιστη τιμή, μέσος όρος και μέση τιμή κάθε στήλης και κατ’ επέκταση κάθε μεταβλητής παρουσιάζονται στο παρακάτω σχήμα.

summary(ShipmentData)
##        ID        Warehouse_block    Mode_of_Shipment   Customer_care_calls
##  Min.   :    1   Length:10999       Length:10999       Min.   :2.000      
##  1st Qu.: 2750   Class :character   Class :character   1st Qu.:3.000      
##  Median : 5500   Mode  :character   Mode  :character   Median :4.000      
##  Mean   : 5500                                         Mean   :4.054      
##  3rd Qu.: 8250                                         3rd Qu.:5.000      
##  Max.   :10999                                         Max.   :7.000      
##  Customer_rating Cost_of_the_Product Prior_purchases  Product_importance
##  Min.   :1.000   Min.   : 96.0       Min.   : 2.000   Length:10999      
##  1st Qu.:2.000   1st Qu.:169.0       1st Qu.: 3.000   Class :character  
##  Median :3.000   Median :214.0       Median : 3.000   Mode  :character  
##  Mean   :2.991   Mean   :210.2       Mean   : 3.568                     
##  3rd Qu.:4.000   3rd Qu.:251.0       3rd Qu.: 4.000                     
##  Max.   :5.000   Max.   :310.0       Max.   :10.000                     
##     Gender          Discount_offered Weight_in_gms  Reached.on.Time_Y.N
##  Length:10999       Min.   : 1.00    Min.   :1001   Min.   :0.0000     
##  Class :character   1st Qu.: 4.00    1st Qu.:1840   1st Qu.:0.0000     
##  Mode  :character   Median : 7.00    Median :4149   Median :1.0000     
##                     Mean   :13.37    Mean   :3634   Mean   :0.5967     
##                     3rd Qu.:10.00    3rd Qu.:5050   3rd Qu.:1.0000     
##                     Max.   :65.00    Max.   :7846   Max.   :1.0000

Επιπλέον, με τη χρήση του εργαλείου OpenRefine, μπορούμε να δημιουργήσουμε αρχικά διαγράμματα για την καλύτερη κατανόηση των διαθέσιμων δεδομένων. Ενδεικτικά, παρουσιάζεται και το ιστορικό του έργου όπου φαίνεται και η διαγραφή 0 στηλών κατα την εκτέλεση διαγραφής διπλότυπων εγγραφών.

3 Χρήση Scatterplot

ggplot(ShipmentData, aes(x = Weight_in_gms, y = Cost_of_the_Product, color = Weight_in_gms)) +
  geom_point(alpha = 0.7) 

Από το συγκεκριμένο Scatterplot παρατηρούμε ότι για τιμές μεταξύ 175 και 215 παρατηρείται αύξηση των παρατηρήσεων καθώς αυξάνεται το βάρος των πακέτων.

Επιπλέον, υπάρχει μεγαλύτερη συγκέντρωση τιμών για βάρη κάτω από 2 κιλά, καθώς και μεταξύ 4 και 6 κιλών, με τα πακέτα βάρους 2-4 κιλών να περιορίζονται αυστηρά σε τιμές μεταξύ 175 και 275.

4 Χρήση Boxplot

ggplot(ShipmentData, aes(x = Mode_of_Shipment, y = Weight_in_gms, color = Mode_of_Shipment)) +
  geom_boxplot() +
  labs(
    title = "Weight Distribution by Mode of Shipment",
    x = "Mode of Shipment",
    y = "Weight (grams)")

Από το συγκεκριμένο Βoxplot παρατηρούμε ότι η μέση τιμή του βάρους στις διαφορετικές μεθόδους μεταφοράς δεν παρουσιάζει σημαντική διαφορά.

Ωστόσο, το ανώτατο όριο του βάρους (ταβάνι) είναι χαμηλότερο στις αεροπορικές μεταφορές, υψηλότερο στις θαλάσσιες μεταφορές και ενδιάμεσο στις οδικές μεταφορές. Το γεγονός αυτό πιθανώς οφείλεται στη χωρητικότητα των μεταφορικών μέσων.

Επιπλέον, από το ακόλουθο Boxplot, παρατηρούμε μια θετική συσχέτιση μεταξύ του αριθμού των κλήσεων για την ενημέρωση σχετικά με τη μεταφορά του πακέτου και της τιμής του. Το αποτέλεσμα αυτό είναι αναμενόμενο, καθώς ακριβότερα πακέτα ενδέχεται να απαιτούν περισσότερη επικοινωνία και υποστήριξη κατά τη διαδικασία της μεταφοράς όπως και ενδιαφέρον απο τον παραλήπτη.

ggplot(ShipmentData, aes(x = factor(Customer_care_calls), y = Cost_of_the_Product)) +
  geom_boxplot(fill = "lightblue", color = "black", outlier.color = "red", outlier.shape = 16) +
  labs(
    title = "Distribution of Product Cost by Customer Care Calls",
    x = "Number of Customer Care Calls",
    y = "Cost of the Product (USD)"
  ) +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5, size = 14, face = "bold"))

5 Χρήση Histogram

ggplot(ShipmentData, aes(Discount_offered ))+geom_histogram(fill="lightblue", color="black", binwidth = 5)

Από το Histogram του ποσού έκπτωσης παρατηρούμε ότι οι περισσότερες τιμές βρίσκονται κάτω από το 10, ενώ για τιμές μεγαλύτερες του 12 η κατανομή εμφανίζεται σχετικά ομοιόμορφη.

6 Χρήση Bar Chart

ggplot(ShipmentData, aes(Product_importance)) + geom_bar(fill="palegreen", color="black")

Από το Bar Chart της σημασίας των μεταφερόμενων προϊόντων παρατηρούμε ότι μεταφέρονται σημαντικά περισσότερα προϊόντα μικρής και μεσαίας ποιότητας, με τον αριθμό των μεταφορών να υπερβαίνει τις 4.000.