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?!"
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