Οδηγός εργαστηρίου σε 8 βήματα (το πρώτο γίνεται στο σπίτι, πριν το μάθημα). Δουλεύεις στο Tableau με τις πραγματικές κρατήσεις δύο ξενοδοχείων (119.388 κρατήσεις, 2015–2017) και σε κάθε βήμα υπάρχει ένα checkpoint: γράφεις τον αριθμό που βλέπεις στο Tableau και η σελίδα σου λέει αν είσαι στον σωστό δρόμο. Η πρόοδός σου αποθηκεύεται στον browser.
1. Πριν το εργαστήριο: εγκατάσταση και δεδομένα
Το εργαστήριο γίνεται στον δικό σου υπολογιστή. Χρειάζεσαι δύο πράγματα πριν έρθεις στην τάξη, γιατί η άδεια του Tableau θέλει 1–2 μέρες για να εγκριθεί.
Α. Tableau
ΠΡΟΤΕΙΝΟΜΕΝΟ · TABLEAU DESKTOPΔωρεάν για φοιτητές για έναν χρόνο μέσω του προγράμματος Tableau for Students. Κάνεις αίτηση με το ακαδημαϊκό σου email (uom.gr) και, όταν εγκριθεί, κατεβάζεις το Tableau Desktop και βάζεις το κλειδί. Αποθηκεύει τοπικά (.twbx) και συνδέεται με οτιδήποτε.
ΕΝΑΛΛΑΚΤΙΚΑ · TABLEAU PUBLICΔωρεάν για όλους, χωρίς αίτηση: public.tableau.com. Έχει σχεδόν ίδιο περιβάλλον, αλλά αποθηκεύει μόνο δημόσια στο cloud της Tableau. Για το εργαστήριο είναι μια χαρά, για πραγματικά δεδομένα επιχείρησης όχι.
Β. Τα δεδομένα
Κατέβασε το αρχείο hotel_bookings.csv (18 MB) και αποθήκευσέ το σε έναν φάκελο που θα βρίσκεις εύκολα, π.χ. Έγγραφα/MTM/Tableau. Είναι οι κρατήσεις δύο ξενοδοχείων στην Πορτογαλία, ενός resort στο Algarve και ενός city hotel στη Λισαβόνα, από τον Ιούλιο 2015 ως τον Αύγουστο 2017: ένα από τα πιο γνωστά ανοικτά datasets ξενοδοχείων (Antonio, de Almeida & Nunes, 2019), ελαφρά καθαρισμένο για το μάθημα.
Λεξικό δεδομένων (data dictionary)
Στήλη
Τι σημαίνει
Booking ID
Αύξων αριθμός κράτησης. Μετράμε κρατήσεις μετρώντας αυτά.
Hotel
Resort Hotel (Algarve) ή City Hotel (Λισαβόνα)
Canceled
Yes αν η κράτηση ακυρώθηκε, No αν ο πελάτης ήρθε
Arrival Date / Year / Month
Ημερομηνία άφιξης, και χωριστά έτος και μήνας
Lead Time (days)
Πόσες μέρες πριν την άφιξη έγινε η κράτηση
Nights, Weekend Nights
Διανυκτερεύσεις συνολικά και Σαββατοκύριακου
Adults, Children, Guests
Ενήλικες, παιδιά, σύνολο ατόμων
Meal
Bed & Breakfast, Half Board, Full Board, Self Catering
Country
Χώρα προέλευσης του πελάτη
Market Segment
Online TA, Offline TA/TO, Direct, Groups, Corporate, Complementary, Aviation
Distribution Channel
TA/TO (τουριστικά γραφεία και tour operators), Direct, Corporate, GDS
Repeated Guest
Yes αν ο πελάτης έχει ξαναμείνει
Deposit Type
No Deposit, Non Refund (μη επιστρέψιμη προκαταβολή), Refundable
Customer Type
Transient (μεμονωμένος), Transient-Party, Contract, Group
Room Type
Κωδικός τύπου δωματίου που κρατήθηκε (A–L)
ADR
Average Daily Rate: μέση τιμή ανά διανυκτέρευση, σε ευρώ. Ο βασικός δείκτης τιμής στα ξενοδοχεία.
Revenue
ADR × Nights: τα έσοδα της κράτησης. Για τις ακυρωμένες, τα έσοδα που χάθηκαν.
Special Requests
Αριθμός ειδικών αιτημάτων (ψηλός όροφος, δίδυμα κρεβάτια…)
Reservation Status
Check-Out, Canceled, No-Show
Έτοιμος;
2. Σύνδεση με τα δεδομένα: διαστάσεις και μέτρα
Το Tableau δεν «ανοίγει» αρχεία όπως το Excel· συνδέεται σε πηγές δεδομένων (data sources): αρχεία, βάσεις, cloud. Το πρώτο πράγμα που βλέπεις είναι η σελίδα Data Source, όπου ελέγχεις ότι κατάλαβε σωστά τις στήλες.
Άνοιξε το Tableau. Στην αρχική οθόνη, στο Connect › To a File, διάλεξε Text file και βρες το hotel_bookings.csv.
Στη σελίδα Data Source βλέπεις τις στήλες και τις πρώτες γραμμές. Πάνω από κάθε στήλη υπάρχει ένα εικονίδιο τύπου: Abc κείμενο, # αριθμός, 📅 ημερομηνία, 🌐 γεωγραφία.
Έλεγξε ότι το Arrival Date έχει εικονίδιο ημερομηνίας και το Country υδρόγειο. Αν όχι, κάνε κλικ στο εικονίδιο και άλλαξε τον τύπο.
Κάνε κλικ στο Sheet 1 κάτω αριστερά. Αυτό είναι το φύλλο εργασίας(worksheet), όπου φτιάχνονται τα γραφήματα.
Το πιο σημαντικό πράγμα σε όλο το Tableau
Στο αριστερό πάνελ Data τα πεδία χωρίζονται σε δύο χρώματα:
ΜΠΛΕ · ΔΙΑΣΤΑΣΕΙΣ (DIMENSIONS)Κατηγορίες που τεμαχίζουν τα δεδομένα: HotelCountryMarket SegmentArrival Date. Απαντούν στο «ανά τι;».
ΠΡΑΣΙΝΟ · ΜΕΤΡΑ (MEASURES)Αριθμοί που αθροίζονται: ADRRevenueNightsLead Time (days). Απαντούν στο «πόσο;». Το Tableau τα αθροίζει αυτόματα (SUM) αν δεν του πεις αλλιώς (AVG, COUNT…).
Κάθε γράφημα είναι ένας συνδυασμός: ένα ή περισσότερα μέτρα, ανά μία ή περισσότερες διαστάσεις. «Έσοδα ανά μήνα», «κρατήσεις ανά χώρα», «μέση τιμή ανά ξενοδοχείο και μήνα».
ΠΡΟΣΟΧΗΤο Booking ID είναι αριθμός, οπότε το Tableau το βάζει στα μέτρα. Αθροίζοντάς το όμως δεν βγαίνει τίποτα χρήσιμο. Το χρησιμοποιούμε με COUNT για να μετράμε κρατήσεις. Σύρε το στις διαστάσεις (drag στο μπλε τμήμα) ή απλώς άλλαξε την aggregation σε Count όταν το χρειάζεσαι.
Checkpoint 1
Πόσες κρατήσεις έχει το αρχείο;
3. Το πρώτο γράφημα: κρατήσεις και ακυρώσεις ανά ξενοδοχείο
Στο Tableau φτιάχνεις γραφήματα σέρνοντας πεδία σε ράφια(shelves): Columns (οριζόντιος άξονας), Rows (κάθετος) και την κάρτα Marks (χρώμα, μέγεθος, ετικέτα).
Σύρε το Hotel στο Columns.
Σύρε το Booking ID στο Rows. Κάνε δεξί κλικ στο pill που εμφανίστηκε › Measure › Count. Βλέπεις δύο μπάρες.
Σύρε το Canceled πάνω στο Color της κάρτας Marks. Οι μπάρες χωρίζονται σε δύο χρώματα.
Σύρε ξανά το Booking ID πάνω στο Label (και πάλι Count), για να φανούν οι αριθμοί.
Κάνε διπλό κλικ στον τίτλο Sheet 1 κάτω και ονόμασέ το Κρατήσεις ανά ξενοδοχείο. Κάθε φύλλο που φτιάχνεις θα το χρησιμοποιήσουμε στο dashboard.
ΔΟΚΙΜΑΣΕΠάτησε Show Me πάνω δεξιά. Σου δείχνει ποια είδη γραφημάτων ταιριάζουν στα πεδία που έχεις επιλέξει. Δοκίμασε «stacked bar» και «side-by-side bar». Μετά γύρνα στο αρχικό με Ctrl+Z.
Checkpoint 2
Πόσες κρατήσεις του City Hotel ακυρώθηκαν;
Checkpoint 3
Τι ποσοστό των κρατήσεων του City Hotel ακυρώθηκε;
Σύγκρινέ το με το Resort Hotel. Το city hotel χάνει πάνω από 4 στις 10 κρατήσεις, το resort λιγότερο από 3 στις 10. Γιατί; Κράτα την ερώτηση· θα την απαντήσουμε με δεδομένα στο βήμα 7.
4. Εποχικότητα: αφίξεις ανά μήνα
Ο χρόνος είναι η πιο σημαντική διάσταση στον τουρισμό. Το Tableau καταλαβαίνει τις ημερομηνίες και σου επιτρέπει να αλλάζεις επίπεδο: έτος, τρίμηνο, μήνας, εβδομάδα, ημέρα.
Νέο φύλλο: κλικ στο εικονίδιο New Worksheet κάτω (ή Ctrl+M).
Σύρε το Arrival Date στο Columns. Εμφανίζεται ως YEAR(Arrival Date). Κάνε κλικ στο μικρό + πάνω στο pill για να «ανοίξει» σε τρίμηνα, ξανά για μήνες. Βγάλε το QUARTER σέρνοντάς το έξω.
Σύρε το Booking ID στο Rows, Count. Έχεις μια χρονοσειρά 26 μηνών.
Σύρε το Hotel στο Color. Δύο γραμμές.
Τώρα το αντίστροφο: βγάλε το YEAR και άφησε μόνο το MONTH. Δεξί κλικ στο pill: διάλεξε το Month από την πάνω ομάδα (η «discrete» ομάδα, που δίνει Ιανουάριος…Δεκέμβριος ανεξαρτήτως έτους). Τώρα βλέπεις την εποχικότητα: όλα τα έτη μαζί, ανά μήνα.
Ονόμασε το φύλλο Εποχικότητα.
ΔΥΟ ΕΙΔΗ ΗΜΕΡΟΜΗΝΙΑΣΣτο μενού του pill υπάρχουν δύο ομάδες Year/Quarter/Month. Η πάνω (μπλε, discrete) δίνει κατηγορίες: «Αύγουστος» όλων των ετών μαζί. Η κάτω (πράσινη, continuous) δίνει μια συνεχή γραμμή χρόνου: «Αύγουστος 2016». Για εποχικότητα θέλεις την πρώτη, για τάση (trend) τη δεύτερη.
Checkpoint 4
Πόσες αφίξεις έχουν συνολικά οι Αύγουστοι (και τα τρία έτη μαζί);
5. Από πού έρχονται οι πελάτες: ο χάρτης
Το Tableau αναγνωρίζει ονόματα χωρών, πόλεων και ταχυδρομικούς κώδικες και τα τοποθετεί μόνο του στον χάρτη. Χρειάζεται σύνδεση στο internet για το υπόβαθρο.
Νέο φύλλο. Κάνε διπλό κλικ στο Country. Αν έχει αναγνωριστεί ως γεωγραφικό πεδίο, εμφανίζεται αμέσως χάρτης με μία κουκκίδα ανά χώρα.
Σύρε το Booking ID (Count) στο Size. Οι κουκκίδες μεγαλώνουν ανάλογα με τις κρατήσεις.
Σύρε το Canceled στο Color; Όχι, θα γίνει χάος. Σύρε αντίθετα το ADR στο Color και άλλαξέ το σε Average: ποιες αγορές πληρώνουν περισσότερο;
Ονόμασε το φύλλο Αγορές προέλευσης.
Νέο φύλλο για το ίδιο ερώτημα σε μπάρες: Country στο Rows, Booking ID Count στο Columns. Πάτησε το κουμπί Sort descending στη γραμμή εργαλείων.
Σύρε το Country στο Filters › καρτέλα Top › By field › Top 10 by Count of Booking ID. Ονόμασέ το Top 10 αγορές.
ΑΝ Ο ΧΑΡΤΗΣ ΔΕΝ ΒΓΑΙΝΕΙΚάνε δεξί κλικ στο Country στο πάνελ Data › Geographic Role › Country/Region. Αν κάτω δεξιά λέει «X unknown», κλικ εκεί: η τιμή «Unknown» δεν είναι χώρα, αγνόησέ την.
Checkpoint 5
Ποια είναι η τρίτη μεγαλύτερη αγορά προέλευσης;
Checkpoint 6
Πόσες κρατήσεις ήρθαν από αυτή τη χώρα;
Σχεδόν 4 στις 10 κρατήσεις είναι από την Πορτογαλία. Κράτα το κι αυτό για το βήμα 7: η εγχώρια αγορά έχει πολύ διαφορετική συμπεριφορά από τις ξένες.
6. Τιμή και έσοδα: ADR ανά μήνα
Ο ADR(Average Daily Rate) είναι η μέση τιμή που πληρώθηκε ανά διανυκτέρευση. Μαζί με την πληρότητα είναι οι δύο αριθμοί που κοιτάζει κάθε revenue manager κάθε πρωί. Εδώ θέλουμε μέσο όρο, όχι άθροισμα.
Νέο φύλλο. Arrival Date στο Columns ως MONTH (discrete, όπως στο βήμα 4).
Σύρε το ADR στο Rows. Εμφανίζεται ως SUM(ADR): λάθος. Δεξί κλικ › Measure › Average.
Hotel στο Color. Στην κάρτα Marks άλλαξε τον τύπο από Automatic σε Line.
Σύρε το ADR και στο Label, Average, και από το μενού του Label διάλεξε να δείχνει μόνο min/max αν γεμίζει πολύ.
Ονόμασε το φύλλο Μέση τιμή ανά μήνα.
Ακόμη ένα φύλλο, πολύ απλό: Hotel στο Rows, Revenue (SUM) στο Columns, Canceled στο Color. Τα έσοδα που μπήκαν και τα έσοδα που χάθηκαν. Ονόμασέ το Έσοδα.
Checkpoint 7
Ποιος είναι ο μέσος ADR του Resort Hotel τον Αύγουστο;
Checkpoint 8
Πόσα έσοδα πραγματοποιήθηκαν συνολικά (κρατήσεις που δεν ακυρώθηκαν);
Και πόσα χάθηκαν από ακυρώσεις; Περίπου 16,7 εκατ. ευρώ, δηλαδή σχεδόν το 40% των εσόδων που θα μπορούσαν να είχαν μπει. Αυτό το νούμερο είναι ο λόγος που υπάρχει το επόμενο βήμα.
7. Το πρώτο υπολογιζόμενο πεδίο: ποσοστό ακυρώσεων
Μέχρι τώρα χρησιμοποιήσαμε πεδία που υπήρχαν. Συχνά όμως ο δείκτης που θέλουμε πρέπει να υπολογιστεί: ποσοστό ακυρώσεων, έσοδα ανά άτομο, μέση διάρκεια διαμονής. Αυτό γίνεται με υπολογιζόμενα πεδία(calculated fields).
Στο πάνελ Data, κλικ στο βελάκι δίπλα στην αναζήτηση › Create Calculated Field.
Διάβασέ το: «μέτρα 1 για κάθε ακυρωμένη, άθροισε, διαίρεσε με το πλήθος των κρατήσεων». Πάτησε OK. Το νέο πεδίο εμφανίζεται στα μέτρα.
Νέο φύλλο: Market Segment στο Rows, Cancellation Rate στο Columns. Δεξί κλικ στον άξονα › Format › Numbers › Percentage, 1 δεκαδικό. Sort descending.
Αντέγραψε το φύλλο (δεξί κλικ στην καρτέλα › Duplicate) και αντικατέστησε το Market Segment με το Deposit Type. Μετά με το Repeated Guest. Μετά με το Country (Top 10).
Ονόμασε τα φύλλα Ακυρώσεις ανά τμήμα, Ακυρώσεις ανά προκαταβολή κ.λπ.
Checkpoint 9
Ποιο είναι το ποσοστό ακυρώσεων για το τμήμα Groups;
Checkpoint 10
Ποιο είναι το ποσοστό ακυρώσεων για τις κρατήσεις με Non Refund προκαταβολή;
ΤΟ ΠΑΡΑΔΟΞΟΟι κρατήσεις με μη επιστρέψιμη προκαταβολή ακυρώνονται στο 99%; Κανονικά θα περιμέναμε το αντίθετο. Δύο πιθανές εξηγήσεις: (α) είναι κρατήσεις μέσω πρακτόρων ή γκρουπ που «κλείδωναν» δωμάτια μαζικά και μετά τις ακύρωναν, (β) το ξενοδοχείο καταχωρούσε ως «Canceled» κρατήσεις που δεν πληρώθηκαν ποτέ. Τα δεδομένα δεν μας λένε ποιο ισχύει. Ένα γράφημα δείχνει τι συνέβη, όχι γιατί. Αυτή είναι η δουλειά του αναλυτή: να ρωτήσει. Έλεγξε την υπόθεση (α): βάλε το Market Segment στο Color.
8. Το πρώτο dashboard και το παραδοτέο
Ένα dashboard συνδυάζει φύλλα σε μία οθόνη, με κοινά φίλτρα. Είναι αυτό που βλέπει ο διευθυντής, όχι τα 8 φύλλα σου.
Κλικ στο εικονίδιο New Dashboard κάτω (δίπλα στο New Worksheet).
Αριστερά, στο Size, διάλεξε Automatic ώστε να γεμίζει την οθόνη.
Σύρε από τη λίστα Sheets τέσσερα φύλλα στον καμβά: Κρατήσεις ανά ξενοδοχείο, Εποχικότητα, Αγορές προέλευσης, Ακυρώσεις ανά τμήμα. Το Tableau τα τακτοποιεί σε πλέγμα· σύρε τα για 2×2.
Κλικ σε ένα φύλλο στο dashboard › το μικρό βελάκι πάνω δεξιά › Filters › Hotel. Εμφανίζεται ένα φίλτρο. Στο βελάκι του φίλτρου › Apply to Worksheets › All Using This Data Source. Τώρα ένα κλικ στο «Resort Hotel» αλλάζει και τα τέσσερα γραφήματα.
Από το Objects σύρε ένα Text στην κορυφή με τίτλο, π.χ. «Κρατήσεις 2015–2017 · Resort & City Hotel» και το όνομά σου.
Αποθήκευσε: File › Save As › Επώνυμο_Tableau1.twbx (packaged workbook, περιέχει και τα δεδομένα). Στο Tableau Public: File › Save to Tableau Public.
Παραδοτέο (μέχρι το επόμενο μάθημα)
ΤΙ ΑΝΕΒΑΖΕΙΣ ΣΤΟ eCLASS
1. Το αρχείο .twbx (ή το link του Tableau Public).
2. Μία εικόνα του dashboard (Dashboard › Export Image).
3. Τρεις προτάσεις, στα ελληνικά: ένα εύρημα από τα δεδομένα που σε εξέπληξε, μία ερώτηση που θα έκανες στον διευθυντή του ξενοδοχείου, και ένα γράφημα που θα ήθελες να φτιάξεις και δεν ξέρεις ακόμη πώς.
Checkpoint 11
Πόσα φύλλα έχει το dashboard σου;
Την επόμενη εβδομάδα
Εργαστήριο Tableau 2: dashboard revenue management με πληρότητα, RevPAR, lead time και ακυρώσεις ανά κανάλι, με παραμέτρους και υπολογιζόμενα πεδία. Φέρε το .twbx σου· θα χτίσουμε πάνω του.