Platform specifics
What a room-level rental market needs
These are the reasons a SpareRoom dataset needs its own handling rather than a shared retail schema.
Per room, per person, and per what period
Room rents are quoted per person, and the period is not consistent — some listings quote weekly, some
monthly, and the difference is four-point-three weeks rather than four.
- A naive weekly-to-monthly conversion using four weeks understates monthly rent by roughly 7%.
- We record
rent_amount with rent_period exactly as quoted.
- Normalised values are derived, with
normalisation_basis naming the conversion used.
Bills are the bigger issue
Room lets frequently include some or all bills in the rent. A room at £700 including bills and one at
£620 excluding them are not what a simple comparison suggests.
We capture bills_included as a structured state — all, some, none or unstated — plus
bills_detail_text as published. We do not estimate a bills-adjusted rent, because the estimate
would depend on household size, usage and tariff, none of which we observe.
Unstated is a real value here and it is common. Treating unstated as excluded would systematically understate
inclusive listings.
Who is advertising changes what the listing is
A room listing can come from a live-in landlord, a letting agent, a property company, or a current tenant looking
to fill a room in their own house share.
- Live-in landlord lets operate under different UK rules from standard tenancies and are priced
differently.
- Tenant-advertised rooms are usually a sublet or replacement within an existing tenancy.
- Agent and company listings behave more like conventional rentals.
advertiser_type is recorded where the listing states it, and flagged unstated where it does not. A
rental index that pools all four is blending markets with different regulation, different tenancy structures and
different price levels.
The property behind the rooms
Several rooms in one house appear as separate listings. Where attributes and images support it we assign
property_cluster_id with a confidence — the same approach as Idealista — so a property-level
view is possible without pretending each room was a separate house.
We do not assert a cluster on location alone, because room listings frequently obfuscate the address to street or
postcode level.
What we do not collect, and this source needs extra care
Room and flatshare listings carry more personal content than any other property source we cover, and the collection
boundary matters more here than almost anywhere.
- No advertiser names, photographs, phone numbers or contact details. Not landlords, not agents, not
tenants.
- No housemate descriptions. Listings frequently describe existing occupants — their ages, occupations,
genders, lifestyles. We do not collect that text.
- No preference criteria about who may apply. Where a listing states preferences about prospective tenants,
we do not collect them.
What we collect is the commercial content of the advertisement: rent, period, bills, deposit, room and
property attributes, location at the precision published, and availability dates.
This is a narrower collection than a naive extraction of the page, deliberately. A room listing contains real
information about identifiable people living somewhere, and none of it belongs in a rental dataset.