The Heuristic Challenge
The Business Problem
Lakeside Resorts Group takes reservations months in advance, and roughly two bookings in five never show up. Every cancellation is a room that could have been sold twice and was sold zero times. The revenue team wants a prediction: which of next season's bookings will be canceled? With that prediction they can overbook the fragile nights, hold a deposit where it matters, and send a save-offer to the guests worth saving.
You have the cleaned reservation log for 13,544 rooms whose outcome is known, and 6,655 rooms whose outcome only the instructor can see.
Competition link: Lakeside Booking Cancellations — join the competition there, with a free Kaggle account, to download the data and submit.
Download train.csv, test.csv, and sample_submission.csv from the competition's Data tab into the same folder as your notebook. The same three files are mirrored here if Kaggle is slow, but you still have to join the competition to submit.
| Column | Meaning |
|---|---|
BookingId | B-<reservation>-<room>; rooms in the same reservation share the middle number |
Channel | how it was booked: Direct, OTA, TravelAgent, Corporate |
LeadTimeDays | days between booking and arrival |
DepositType | NoDeposit, Partial, NonRefundable |
RoomRateUSD | nightly rate |
PartySize, Nights | guests in the room, nights booked |
ArrivalMonth, IsWeekendStay | when they arrive |
SpecialRequests | count of requests made (cot, late checkout, high floor …) |
LoyaltyTier | Standard, Silver, Gold |
PriorStays, PriorCancellations | this guest's history with the group |
GuestRegion | where the guest lives |
ParkingRequested | parking space requested |
Canceled | the target: 1 if the booking was canceled, 0 if the guest stayed |
Your submission needs exactly two columns, BookingId and Canceled, with one row per booking in test.csv.
The Challenge
Write rules, not models. Beyond that the approach is yours: find the columns that separate the cancellations from the arrivals, turn what you find into a rule, and submit it.
Bring the scores to class, along with the reasoning that moved you from each rule to the next.