The Dark side of Digitizing Starbucks Lines
We are Tapingo
changing the way people engage in commerce
- Live on more than 125 campuses across the US
- The average student is ordering with Tapingo 4 times a week
- At our campuses - every other order is a Tapingo order
- 70% of the orders at top locations are going through Tapingo
- Employing more than 500 students in the first students based on-demand delivery
- Launched January 2012
- R&D in Israel 20+, HQ in the US 65+
People love Tapingo'ing their coffee
Started Simple
Happy barista = Happy user
P1: Oops!
50 orders sent at 8:00am
Don't kick us out just yet!
"Dear Barista,
Can you handle 2 orders a minute?!"
Can you handle 2 orders a minute?!"
No problem!
We forgot the users..
50 people showed up at 8:00am
Dynamic ETA!
ETA = (Orders in queue * throttle) + prep time
Why not using a simple queue?
- Merchant capacity changes per time of day
- Calculating ETA in a dynamic throttle environment isn't easy
So...
Window based Queue
-
Divide
the big queue to little containers (“windows”) for each time range
-
Each
window has N available slots defined by the span of the window / throttling
-
When
a window gets to full capacity, new window will be created after it
Examples
Dynamic Throttling
Wait but...
Users need to guess when to order so they can get it on time
Scheduled Ordering!
Great Idea! But...
- Everyone wants to get their coffee at 8:00am
- What if something goes bad at the restaurant?
Accuracy vs Speed
By using 'buffer slots' we can exchange speed with accuracy
Now what?
P1: ETA is still not accurate :(
knowing when to send the order isn't enough if the food preparation time is changing
S1: Let's have them tell us!
P2: Both sides are not happy
- Too much (braincell) work for the merchants
- Users are counting on an ETA that is changing while they wait
S1: Tell us when it's ready and we do the rest
Ask the merchant to click on a button when it's ready and we will calculate the prep time per item for them.
P3: When things get hectic things get messy
Barista is calm Barista is under pressure
Let the Data do its thing
The prep time prediction is based on two elements:
1. Null state prep time per item
2. Prep time change per time of day / day of week
Finally we get a function which is the sum of both functions:
f(x)=rush hour factor(now()) + max(ordered items prep time) + g(exiting_orders_in_q)
And in reality
What's next?
-
How can we get a better understanding of what's actually going on
at the coffee shops?
- These stores are physically evolving introducing new challanges:
How do you pick your cup of coffee among 50 other similar cups? - How can we make the operation more efficient now that we control the flow?
- Treating Grab and Go items differently
- Hot milk products should be aggregated
-
What role do deliveries play in this changed eco-system?
Thanks!
The T is not silent
Dark side of digitizing starbucks lines
By tapingo
Dark side of digitizing starbucks lines
- 579