datasets real and made-up data to practise on
Datasets
Data for the Playground, Database Lab and Performance Lab. Pick one and open its files.
Fictional short-term rental listings, hosts, a 90-day calendar and guest reviews.
120 listings4 tablesJan 2010 – Aug 2025
what to watch for
Tricky rows
- Prices stored as text with "$" and thousands separators120 rows
- Amenities stored as a JSON list inside one CSV cell120 rows
- Bathrooms as text ("1.5 shared baths", "Half-bath") instead of a number120 rows
- Listings with no reviews (no score, no last review date)16 rows
files
Open a file to see what one row means, its columns and a preview. Open in Playground starts a new file there with code that loads it.
hosts111 rows · 7 columns · CSV
One host account. A few professional hosts run many listings.
In your code: data/hosts.csv
- host_id
Host ID
- host_name
Invented first name or company
- host_since
Joined
- host_is_superhost
"t" (yes) or "f" (no)
- host_response_rate
Percent as text ("96%") or "N/A"
- host_response_time
Typical response time
- host_identity_verified
"t" (yes) or "f" (no)
listings120 rows · 21 columns · CSV
One listing.
In your code: data/listings.csv
- listing_id
Listing ID
- host_id
Host
- name
Listing title
- neighbourhood
Neighbourhood
- neighbourhood_group
Area of the city
- latitude
Latitude (approximate)
- longitude
Longitude (approximate)
- room_type
Entire home/apt, Private room, Shared room or Hotel room
- accommodates
Guests
- bathrooms_text
Bathrooms as text
- bedrooms
Bedrooms; empty for shared rooms
- beds
Beds
- amenities
JSON list of amenities
- price
Nightly price as text, "$1,250.00"
- minimum_nights
Minimum stay
- maximum_nights
Maximum stay
- instant_bookable
"t" (yes) or "f" (no)
- license
City licence number, "pending", "Exempt" or empty
- number_of_reviews
Reviews so far
- last_review
Date of the latest review
- review_scores_rating
Average rating out of 5
calendar3,600 rows · 5 columns · CSV
One night of one listing: available or booked, and the asking price. 90 nights from 1 June 2025.
In your code: data/calendar.csv
- listing_id
Listing
- date
Night
- available
"t" free, "f" booked or blocked
- price
Price as text
- minimum_nights
Minimum stay that night
reviews2,460 rows · 5 columns · CSV
One guest review.
In your code: data/reviews.csv
- review_id
Review ID
- listing_id
Listing
- date
Date
- reviewer_name
Invented first name
- comments
Review text; sometimes empty or not in English
relationships
How to join these tables. Left column matches the right column.
- listings.host_id → hosts.host_id
- calendar.listing_id → listings.listing_id
- reviews.listing_id → listings.listing_id