Science of Hotel Optimization Rooms Revenue Workshop Day 1: Data Day 2: Analysis Day 3: Optimization
10 minute break every 50 minutes. 50 minute periods. SOHO Day 22 © Origin World Labs
Ask every question. Dozens of Books, Lectures, Courses in 4 hrs. Contribute examples. Give me a Pace. I will go back. © Origin World Labs SOHO Day 23
Day 2 Objectives Hour 1 Add analysis columns Models Hour 2 Let’s Count - Frequency Demand Analysis – The Manual Way Hour 3-4 Demand Analysis – The Math Way Dynamic Optimization (if possible) SOHO Day 24 © Origin World Labs
SOHODAY1.xlsx SOHODAY2.xlsx Before Class 1.Joined tables from Day 1 2.Removed Cancel, No Shows, Comps. 3.Vlookup for COMPANY_NAME 4.Convert all to text. 5.Deleted columns In-class 1.Gross up rates column 2.Days_out column 3.Month and Weekday column 4.Add month-weekday classification © Origin World Labs SOHO Day 25
BUILD FOR OTHERS © Origin World Labs SOHO Day 26
Nested Excel functions Function variable is another function. Combine two or more functions to deliver one answer. Innermost function first. Keeps worksheet clean. Hard to follow. May slow calculation speed. © Origin World Labs SOHO Day 27 =ROUND(A4*Sum(A1:A3),0) 1. Sum cells. 2. Multiply by A4. 3. Round to the tenth place.
Analysis Column: GROSS_RATE 1.Get the margin with vlookup. 2.Markup the Net rate 3.iferror then RATE_AMOUNT 4.Roundup to nearest 10. © Origin World Labs SOHO Day 28 When building nested Excel functions, go step-by-step. =ROUNDUP( IFERROR( GROSS RATE MARKUP
Analysis Column: ARATE 1.Roundup to nearest multiple of 25. © Origin World Labs SOHO Day 29 Analysis RATE
Analysis Column: DAYS_OUT, ADAYS_OUT 1.Subtract Insert from Reserv date. 2.Round to the next whole number. © Origin World Labs SOHO Day 210 Can’t use roundup because same day bookings will become -1. =CEILING( DAYS_OUT 1.Round to the next multiple of 30. Analysis DAYS_OUT
MONTH & WEEKDAY 1.Get month number. © Origin World Labs SOHO Day 211 MONTH 1.Get weekday number (sun=1) WEEKDAY
WEEKPART 1.If weekday number is less than 6 © Origin World Labs SOHO Day 212 WEEKPART 2. Then show “WEEK” for weekday 2. If not, show “END” for weekend
PERIOD 1.Get month number from MONTH column. 2.Add a hyphen for easier reading. 3.Get weekpart from WEEKPART column. © Origin World Labs SOHO Day 213 MODEL PERIOD
OWL’s vision for The Big RM Reset Clerical RM Distribute the Right Rates and Manage Inventory. Analytical RM To take data, to be able to understand it, to process it, to extract value from it, to visualize it and to communicate it. © Origin World Labs SOHO Day 214
Decision Models Mental Models Benefits Fast Simple Inexpensive Math Models Benefits Less biased Complex Rules-based Reusable © Origin World Labs SOHO Day 215 Problems Bias No Rules Personal Problems Assumptions Expensive
The Model “Remember that all models are wrong; the practical question is how wrong do they have to be to not be useful.” “The purpose of models is not to fit the data but to sharpen the questions.” © Origin World Labs SOHO Day 216 George Edward Pelham Box, Empirical Model-Building and Response Surfaces (1987) Samuel Karlin, Eleventh R. A. Fisher Memorial Lecture, Royal Society (April 1983) “The approximate nature of the model must always be borne in mind…”
The Fundamental Model of RM © Origin World Labs SOHO Day 217 How many units can I sell at each price point? Prices (P) Quantity (Q) High Low We’d like to put this relationship into a mathematical model. Demand Curve
The Fundamental Question of Hotel RM © Origin World Labs SOHO Day 218 How many rooms can I sell at each rate? Rate (P) Rooms (Q) High Low Hotel Demand Curve
Not that simple. Can’t you just go to your data table and count. Unfortunately, it’s not that simple. These data points have variation. © Origin World Labs SOHO Day 219 Rate (P) Rooms (Q) High Low (L,H) High (H,L)
Let’s Count - Random Events Every problem in RM involves uncertainty. Uncertainty means that a process is random. –Website visits –Conversions –Calls to reservations –Booking a room –Group sales –Restaurant visits –Check-in –No shows –Cancellations We need to count how often we can expect a random event to occur. How often an event occurs if the FREQUENCY. © Origin World Labs SOHO Day 220
Frequency Table SQL Code SELECT PERIOD, ARATE, RESERVATION_DATE, Count(ROOM) AS COUNT_ROOM FROM SOHODAY2.Elements WHERE MARKET_CODE='TRANSIENT' GROUP BY PERIOD, ARATE, RESERVATION_DATE MSQuery Modified Version SELECT `Elements$`.PERIOD, `Elements$`.ARATE, `Elements$`.RESERVATION_DATE, Count(`Elements$`.ROOM) AS ‘COUNT_ROOM’ FROM `C:\SOHODAY2.xlsx`.`Elements$` `Elements$` WHERE (`Elements$`.MARKET_CODE='TRANSIENT') GROUP BY `Elements$`.PERIOD, `Elements$`.ARATE, `Elements$`.RESERVATION_DATE © Origin World Labs SOHO Day 221
Tip: Put calculations on Manual © Origin World Labs SOHO Day 222
Let’s count – Expected Rooms Sold Frequency – How often an event happens. © Origin World Labs SOHO Day 223 For each Period: 1.Sum the number of times each rate was paid. SUMIFS(Frequency[''COUNT_ROOM''],Frequency[ARATE],$A3,Frequency[PERIOD],B$2) 2.Divide each count by total # of days that the rate appeared. COUNTIFS(Frequency[ARATE],$A3,Frequency[PERIOD],B$2) 3. Rounddown to the ones place and clean the errors. =+IFERROR( ROUNDDOWN( SUMIFS(Frequency[''COUNT_ROOM''],Frequency[ARATE],$A3,Frequency[PERIOD],B$2) / COUNTIFS(Frequency[ARATE],$A3,Frequency[PERIOD],B$2),0),0)
Demand Curve – The Manual Way Core Assumption – Those that paid a higher price will pay a lower price. Start from the highest rate and add the pickup to the next highest rate. © Origin World Labs SOHO Day 224
Pivot Chart Always try to graph your data. © Origin World Labs SOHO Day 225
INDEX(MATCH) © Origin World Labs SOHO Day 226 INDEX($A$133:$A$195,MATCH(B197,B$133:B$195,0)) 1. Find the row where this is 2. In this column 3. Get the info in this row 4. In this column
WARNING We are going to make a huge modeling mistake on purpose. © Origin World Labs SOHO Day 227
Demand Estimate – The Math Way Using the equation for a line, we can create an equation for demand. y = mx + b © Origin World Labs SOHO Day 228 Rooms SoldSlope Rate Intercept A measure of steepness. Where the line crosses the y-axis or the number of rooms sold when the rate is $0.
We need to extract two points from the data 1.How many rooms sold when we charge a low rate? (L,H) 2.How many rooms sold when we charge a high rate? (H,L) © Origin World Labs SOHO Day 229 Rate (P) Rooms (Q) High Low (L,H) High (H,L)
Defining an Equation for a Demand Line 1.Find the two points. 2.Find the Slope. 3.Use the slope and one data point to find the intercept. 4.Rework the equation to find the Price curve. 5.Use both equations to find the Revenue curve. © Origin World Labs SOHO Day 230
ARRAY FORMULAS Turn any function into a criteria function. © Origin World Labs SOHO Day 231 MIN(IF(FREQ[PERIOD]=B$2,FREQ[ARATE],"")) 1. If a row in the ARATE column is related to this PERIOD. 2. Then include it in the search for finding the minimum.
Find the Slope. Change in Rate divided by the change in Rooms Sold Always constant, always negative. © Origin World Labs SOHO Day 232 Change in Rooms Sold Change in Rate Slope = Low Rate – High Rate High Rooms Sold – Low Rooms Sold
Use the slope to find the intercept © Origin World Labs SOHO Day 233 For 1-Week, Slope = = (100) + b Data Point (100, 102) = b = b Rooms = *Rate
Graph “1-Week” Demand Equation © Origin World Labs SOHO Day 234 Now I can analyze any rate.
Revenue Curve, 1-Week © Origin World Labs SOHO Day 235 Revenue = Rate * Rooms Revenue = Rate * (-.0824*Rate ) Distribute Revenue = *Rate *Rate Rooms = *Rate
Price Curve, 1-Week © Origin World Labs SOHO Day 236 Rate = Rooms - Intercept Rate = Rooms Rooms = Slope * Rate + Intercept Slope
Revenue Graph © Origin World Labs SOHO Day 237
Derivative of Revenue Curve, 1-Week © Origin World Labs SOHO Day 238 Revenue = *Rate *Rate The derivative of the revenue curve basically helps us calculate where the curve reaches its highest value. Step 1Multiply by 2 and drop the second power on Rate Revenue = * Rate * Rate Step 2Drop the second RateRevenue = * Rate Revenue Change = *Rate
Optimal Rate © Origin World Labs SOHO Day 239 Solve for Revenue Change = *Rate = Rate = $668.56
The math is great, but the model is USELESS. Aggregating data increases errors. Break down the model even further. © Origin World Labs SOHO Day 240