Airbnb practice guide
Stay inside one business context for a few reps in a row while still working from the same live bank used across practice, tracks, and reviews.
Airbnb
Explore 20 Airbnb-tagged SQL scenarios focused on query basics, aggregation, filtering.
Context, not signal
Company labels help frame practice in a familiar business context. They are directional study aids, not official interview guidance from the companies listed.
Sign in to track progress while you browse this guide.
Questions
20
Estimated prep time
390 min
Progress tracking
Sign in to track progress
Concept focus
The most common patterns in the current Airbnb-tagged set.
Query basics
11
Aggregation
10
Filtering
5
Joins
5
Date functions
2
Mix at a glance
Use the difficulty and path mix to decide whether you want fundamentals, breadth, or stretch reps.
Suggested rhythm
Start with the easiest scenario in the set, then move upward while tracking accuracy and retry speed. This keeps the context stable while the difficulty rises.
Suggested next scenarios
The next best reps from this company-tagged set based on what you have not solved yet.
Waitlist Fill Rate
Practice query basics through a Airbnb-tagged business scenario.
Top Rated Venues
Practice query basics through a Airbnb-tagged business scenario.
2024 App Click Volume
Practice query basics through a Airbnb-tagged business scenario.
Question list
The current Airbnb-tagged list with learning objectives and your latest status.
Waitlist Fill Rate
Marketplace ops wants to see how efficiently waitlists are being cleared. Return each city, the total number of waitlist requests, and the percentage of fulf...
Practice query basics through a Airbnb-tagged business scenario.
Top Rated Venues
Return the top two venue_id values with the highest average star rating, considering only venues that have at least three reviews. Output venue_id and avg_st...
Practice query basics through a Airbnb-tagged business scenario.
2024 App Click Volume
At Airbnb, analysts are preparing a coverage report focused on 2024 app click volume. Return each app_id and the total number of click events recorded in 202...
Practice query basics through a Airbnb-tagged business scenario.
Find Total Time Spent By Each Employee
Use this Airbnb weekly brief to work on find total time spent by each employee. Return each app_id and the total number of click events recorded in 2024. Sor...
Practice query basics through a Airbnb-tagged business scenario.
Most Frequent Item Counts
Airbnb wants a trend check for most frequent item counts. Return the item_count value or values with the highest order_occurrences. Sort by item_count.
Practice query basics through a Airbnb-tagged business scenario.
Page Recommendation
Airbnb is reviewing page recommendation through a trend check. Return every page_id that has no follower rows. Sort by page_id.
Practice query basics through a Airbnb-tagged business scenario.
3. What does the keyword DISTINCT do
The DISTINCT keyword removes duplicates from a SELECT query. Suppose you had a table of Airbnb customers, and wanted to figure out which cities the customers...
Practice filtering through a Airbnb-tagged business scenario.
10. What's the SQL command INTERSECT do, and when would you use it
The SQL command INTERSECT merges the results of multiple SELECT statements and keeps only those rows that are present in all sets. For example, say you were ...
Practice filtering through a Airbnb-tagged business scenario.
6. Find the Average Number of Guests per Booking in Each City for Airbnb
As an analyst at Airbnb, one of the most useful insights you could provide would be to understand the average number of guests per booking across locations. ...
Practice joins through a Airbnb-tagged business scenario.
10078 Find Matching Hosts And Guests In A Way That They Are Both Of The Same Gender And Nationality
SELECT distinct h.host_id, g.guest_id FROM airbnb_hosts h JOIN airbnb_guests g ON h.nationality=g.nationality and h.gender = g.gender
Practice joins through a Airbnb-tagged business scenario.
9629 Find The Count Of Verified And Non Verified Airbnb Hosts
SELECT host_identity_verified, COUNT(id) as n_hosts FROM airbnb_search_details GROUP BY host_identity_verified -- NOTE: very easy; shouldn't be in the Medium...
Practice aggregation through a Airbnb-tagged business scenario.
Average Annual Deal Size
Airbnb is reviewing average annual deal size through a scorecard. Return the average annual deal size across all customers rounded to two decimals.
Practice query basics through a Airbnb-tagged business scenario.
Year-on-year Product Spend Growth
At Airbnb, analysts are preparing a operations review focused on year-on-year product spend growth. Calculate the year-on-year growth rate for each product_i...
Practice query basics through a Airbnb-tagged business scenario.
Monthly Reactivated Users
Use this Airbnb trend check to work on monthly reactivated users. Count how many users logged in during a month after being inactive in the previous month. R...
Practice query basics through a Airbnb-tagged business scenario.
April Weekly Event Totals
Airbnb wants a scorecard for april weekly event totals. Return the week_start date and total_events for April 2024. Sort by week_start.
Practice query basics through a Airbnb-tagged business scenario.
Second-highest Salary
Airbnb is reviewing second-highest salary through a coverage report. Return the second-highest salary amount in the table as second_highest_salary.
Practice query basics through a Airbnb-tagged business scenario.
11. Analyze Host Listings and Booking Transactions
As an Airbnb data analyst, you have been asked to analyze the performance of hosts' listings in the past year. Your task is to **identify the top 10 listings...
Practice joins through a Airbnb-tagged business scenario.
10074 Find The Average Age Of Guests Reviewed By Each Host
SELECT from_user, AVG(age) as average_age FROM airbnb_reviews r JOIN airbnb_guests g ON r.to_user = g.guest_id WHERE from_type = 'host' GROUP BY from_user
Practice joins through a Airbnb-tagged business scenario.
10159 Ranking Most Active Guests
SELECT id_guest, SUM(n_messages) as sum_n_messages, DENSE_RANK() OVER(ORDER BY SUM(n_messages) desc) as ranking FROM airbnb_contacts GROUP BY id_guest ORDER ...
Practice aggregation through a Airbnb-tagged business scenario.
10161 Ranking Hosts By Beds
SELECT host_id, SUM(n_beds) as number_of_beds, DENSE_RANK() OVER(ORDER BY SUM(n_beds) desc) as rank FROM airbnb_apartments GROUP BY host_id ORDER BY number_o...
Practice aggregation through a Airbnb-tagged business scenario.