← All data exercises

Find where Rio inquiries fail to become bookings, and how to grow them

3 tables · 79.3K rowsUnlock with Pass

Harbor Stays is a two-sided marketplace that matches guests with hosts. A guest finds an available listing they like and sends the host an inquiry through one of three channels: contact_me, book_it or instant_book (explained below). For contact_me and book_it, the host then decides whether to accept; instant_book is accepted automatically. One of the company’s goals is to increase bookings.

You are the first data scientist on a cross-functional Product and Operations team working to grow bookings in Rio de Janeiro. You have every inquiry made for stays at Rio listings in 2016.

The data

  • contacts — one row per inquiry a guest makes for a stay at a Rio listing.
    • id_guest_anon, id_host_anon, id_listing_anon: anonymized ids of the guest, the host and the listing.
    • ts_interaction_first: when the inquiry was made. ts_reply_at_first, ts_accepted_at_first, ts_booking_at: when the host first replied, when the host accepted, and when the booking was made; empty if it never happened. All timestamps are UTC.
    • ds_checkin_first, ds_checkout_first: requested check-in and check-out dates.
    • m_guests: number of guests the inquiry is for.
    • m_interactions: total messages sent by guest and host, counted when the data was pulled (not at booking time).
    • m_first_message_length_in_characters: length of the guest’s first message, if one was sent.
    • contact_channel_first: contact_me, book_it or instant_book.
    • guest_user_stage_first: past_booker if the guest had booked before sending the inquiry, otherwise a new user.
  • listings — one row per listing: room_type (entire home, private room or shared room), listing_neighborhood, and total_reviews (counted when the data was pulled).
  • users — one row per user, guests and hosts alike (id_user_anon matches both id_guest_anon and id_host_anon): country of origin and words_in_user_profile, the number of words in the user’s “about me” section at the time of contact.

How the three channels work:

  1. contact_me — the guest writes to the host about the listing. The host can pre-approve the guest to book, reject, or reply with a free-text message that neither accepts nor rejects. If the host pre-approves, the guest can go ahead and book but doesn’t have to.
  2. book_it — the guest puts money down to book directly (“Request to book”), but the host has to accept. If the host accepts, the booking happens automatically.
  3. instant_book — the guest books directly (“Book”) and the request is auto-accepted.

A host can opt in to instant booking. On an opted-in listing a guest can use contact_me or instant_book but not book_it; on any other listing, only contact_me or book_it. So the channel mix tells you something about the host as well as the guest.

Your task

  1. Propose the key metrics the team should monitor over time to judge whether its work is improving guest–host matching. Define each one precisely, say how it is computed from these tables, and explain why it is the right thing to watch (and what it could hide).
  2. Where are inquiries lost on the way to a booking, and where should the team invest to increase successful bookings? Show which segments do well and which could be improved — for example by channel, room type, neighborhood, new versus returning guests, guest country, trip length, lead time, group size, host responsiveness or listing reviews. Be careful about which differences reflect the segment itself and which reflect who ends up in it.
  3. Propose 2–3 specific recommendations (business initiatives or product changes) that address these opportunities. Give the rationale for each, estimate its impact on bookings, and rank them by that estimate. For the top one, say how you would test it before rolling it out.
  4. Executives want to understand the broader challenge of matching supply and demand, beyond the data provided here. What other research, experiments or data would give the company more clarity on the problem?

What to deliver

A 5–8 slide deck for the Head of Product and the VP of Operations (who is not technical), with your recommendations and their rationale. Add an organized appendix for the data team covering your data decisions and the queries or code behind each number, so the work can be reproduced.

All company names in this question are fictional.

Data preview

contactsfirst 5 rows
id_guest_anonid_host_anonid_listing_anonts_interaction_firstts_reply_at_firstts_accepted_at_firstts_booking_atds_checkin_firstds_checkout_firstm_guestsm_interactionsm_first_message_length_in_characterscontact_channel_firstguest_user_stage_first
1630694d-6e19-463c-a5b9-bc517132248797fa1946-b2ac-41bd-854b-0039dc911495e1f83a70-a590-4a2c-a138-6505f3e3de482016-01-17 13:33:322016-01-17 13:36:15NULLNULL2016-02-062016-02-102580contact_menew
949d0029-4349-4611-9f78-a1990d48ff4a7bb459cb-3b97-48e9-ba87-309e9dc809c7b8ece1d0-ed4e-4def-a845-f3cb9f9c6d802016-03-15 01:00:482016-03-15 12:54:47NULLNULL2016-03-182016-03-19220book_itpast_booker
4d94ee7f-fd1e-4528-97ac-cf25335b15e5b15572ec-7a34-4062-8d89-e2906b1a8a31b4f23a9f-197b-4b3e-95fd-d5d759b11b0b2016-04-16 22:16:192016-04-17 16:07:072016-04-17 19:40:47NULL2016-06-032016-06-052544contact_mepast_booker
a9b23dcd-5826-4b04-8160-16ba6476afdc35a90f9a-0e5e-448a-9a3b-103c95b470c0f3b85ab8-9cd6-4f29-aa99-e472a82066fc2016-01-10 20:05:022016-01-10 20:05:022016-01-10 20:05:022016-01-10 20:05:022016-02-042016-02-0715220instant_booknew
377d9157-cbed-444e-8d91-6be79c81d1c8cf7199d2-7aaf-42b0-9cdb-9c63fbb2edff5ea28dcc-b2d2-4c70-972e-54948581fc8b2016-01-26 23:15:122016-01-28 09:38:572016-01-28 09:38:57NULL2016-02-082016-02-1523158contact_menew
listingsfirst 5 rows
id_listing_anonroom_typelisting_neighborhoodtotal_reviews
7368aaf3-a0af-4e4e-864e-f583661fdfadEntire home/aptCopacabana0
9909e54c-672d-4ec6-ad51-32c314f84425Entire home/apt-unknown-0
65b21484-c416-4d23-b806-63dc582c3527Entire home/aptCopacabana2
e29c8e1c-05ba-43cd-a8e5-8c244205341fEntire home/apt-unknown-0
8ad23ec4-10c9-4c33-a965-9361c8a8d173Entire home/aptVidigal0
usersfirst 5 rows
id_user_anoncountrywords_in_user_profile
fa7a031b-52ba-4eb8-b762-425729ceac58US0
238f0d56-8574-4def-aa4e-994d704ade91IL0
145a014b-0ea1-43f1-96a0-b160282e866fBR0
39fe1ba8-ec47-48f2-8149-4d2aea845896BR0
2ccb8c14-29b2-40b3-8430-e3ac87826239BR0