statistical “universe”) and thus sample appropriately to achieve representativeness. In EMDEs, by contrast, we expect most transactions to occur informally and outside of what is observable publicly. Through web scraping, we constrain our analysis to the formal housing market and to what is transacted online. With this approach, we are able to obtain house prices for the formal housing market but are unable to infer the degree the estimations apply to – in some EMDEs admittedly large – informal housing markets. We aim for representativeness of the formal housing market only, and to achieve this, we scrape entire websites to cover all available listings. Despite these efforts, we encounter smaller sample sizes in some countries, which are likely to stretch margins of error (cf. Section 3.3). Annex 1 provides an overview of the sample coverage and percentage of formal households scraped.

# 3.2 Data Processing: Data Cleaning and Outlier Removal

As with any data set that is obtained from user-inserted data, the scraped data is prone to incorrect, inconsistent, or missing information. Most online listing platforms do not run quality checks on the listed properties or require fully populated identification of property features. Preparing the data for analysis, we diligently cleaned the web scraped data removing data entry errors, duplicates, and outliers. Given the issues outlined in the previous section, which are inherent to EMDEs, data cleaning is more tedious and timeconsuming than for more structured data likely to be obtained in developed economies. We describe the data processing steps in detail below, illustrating descriptive statistics of the various stages of the process (Table 1).

## Duplicates

The first step in processing the data is identifying and flagging repeat data and duplicates. These mostly arise for two reasons: first, many EMDEs’ property websites allow for the re-submission of the same property within some days’ interval. Realtors mainly use this option to restore the property at the top of the search results list to improve visibility on the website. Second, duplicates may also arise because of crosslisting of properties across different platforms. Ideally, we want to create a data set that removes both occurrences. Hence, we deduplicate the data set to obtain what we call the _original data set_ , dropping all exact duplicates that either have the same listing ID or that include the same title and description. Typically, properties with the same title and the same description are a clear indication for a repeat entry of a property on the same website. The title and description of properties, however, might bear similarities in instances where multiple, newly built apartments are advertised within the same complex. Also, in these cases, property features such as price, size, address, or number of bedrooms might be identical while referring to unique listings. Retaining these observations in the data set, we only remove _exact_ duplicates with the exact values on price, size, bedroom, title, and description. A downside of this approach is that we run into the risk of keeping observations in the data set where the title or description has been slightly altered during the re-submission of the same property listing to the website.

As we assume that we will retain some duplicates in the data set, we also perform a more rigorous deduplication where we remove all data that could potentially constitute a duplicate to understand how this alters our estimations. In this stringent outlier removal process, we remove all observations that have the same value on available property features only (price, type, bedroom, bathroom, and city) and disregard the title and the description of the property. While we note that this procedure is highly likely to also remove observations that are in fact unique but share the same property features, we perform this robustness test to 14