Methodology and motivation for Numbeo.com
Motivation
Before Numbeo was created there were several other reports about cost of living indexes, i.e. reports from Mercer, UBS and Economist.
However, in these reports the data behind the research was usually hidden or expensive to purchase. There were no guarantees that their data are correct.
Their research was very limited in the number of cities included in the research and is difficult to scale without significant increase in expenses.
Also, there were no insight about the error rate in their manually collected data.
Manual collection of cost of living data is error prone:
- there is a different price during the year - price oscillation (i.e. cheaper fruits and vegetables during the summer; or high fluctuation of potato price because of lack of storage and high moisture)
- in different supermarkets, bars and restaurants the price of items is usually different
- there are different types of milk, cheese, etc. with different prices even in the same supermarket
- the country could face temporary shortages of a given item which could drive the price temporary up (i.e. rice shortages)
- if only one person collects the price, possibility of human error is higher
Some of those reports publishes just an index, which is not enough for
a personal estimate since a person is not an
average person due to different lifestyles such as:
- the size of a family (number of dependent persons)
- dining out or eating at home
- renting or owning an apartment
- driving or using a public transport
- drinking alcoholic drinks and smoking or not
Other available cost of living sources didn't provide a systematic way to extract custom indexes. Numbeo provides a world-class software
for extracting various economic indicators for free.
Before the Great Recession (World Economic Crysis of 2007-2009) price of properties worldwide tended to look like a crazy to
the founder of this website. The price of a small flat in a third world country he currently lives in was same as 310 ultra
modern TFT monitors at that time. The wild speculation in property prices suggested that people really needed a tool for a
speculation or to turn their speculation down.
So, that's how Numbeo was born. Numbeo :
- provides to a reader of a website prices for free
- allows a person to estimate they own expenses
- uses the wisdom of the crowd to get as reliable data as possible
- provides a system for systematic reaserch of cost of living and property markets
- provides a system for other systematic economical research on huge dataset with worldwide data
Methodology
Collecting and processing data
To collect data Numbeo relies on user inputs and manually collected data from authoritative sources
(websites of supermarkets, taxi company websites, governmental institutions, newspaper articles, other surveys, etc.). There are automatic and
semi-automatic filters to filter out noise data. The simplest filter is working as follows : if, for a particular price in a city,
values are 5, 6, 20 and 4 in a short time span, the value 20 is discarded as noise.
Afterwards, ¼ (one quadrantile) of lowest and highest inputs are discarded as borderline cases. Out of remaining entries, mean value is calculated
and lowest and highest number is displayed.
There are more sophisticated filters in use. The filters are performing better when there are more inputs. One of those is to prevent bad training of data,
it digs into discarded data (spam data) and if notices irregularities, it moves them back into the calculation.
To put it briefly, Numbeo uses heuristic technology. Using the existing data Numbeo periodically discards data which most likely are
incorrect statistically. Numbeo also archives the values of old data (currently data which are more than 18 months old). The values of old data are preserved
to be used for historical purposes. Due to higher number of inputs for a country than for a city, data showed on a country level in general contains lower
noise than data showed on a city level.
Currencies
We do use multiple currency feeds including European Central Bank feed to update our internal currency exchange rates almost every hour.
We save in our database EUR, USD and local currency values on the day they are entered. When calculating averages, we do reuse one of those entries based on currency
stability history and predominant currency in the country to try to minimize cross currency comparison errors.
Calculating indexes
Numbeo indexes are a
best guess of relative average expenses in a given city. Weights are subject of change over time.
But since methodology is not hidden, as the moment of writing these weights are as follows :
mysql> select name, category, cpi_factor, rent_factor from item;
+-----------------------------------------------------------------+------------------------+------------+-------------+
| name | category | cpi_factor | rent_factor |
+-----------------------------------------------------------------+------------------------+------------+-------------+
| Meal, Inexpensive Restaurant | Restaurants | 16 | 0 |
| Meal for 2, Mid-range Restaurant, Three-course | Restaurants | 3.5 | 0 |
| Combo Meal at McDonalds or Similar | Restaurants | 6 | 0 |
| Domestic Beer (0.5 liter draught) | Restaurants | 5 | 0 |
| Imported Beer (0.33 liter bottle) | Restaurants | 5 | 0 |
| Coke/Pepsi (0.33 liter bottle) | Restaurants | 6 | 0 |
| Water (0.33 liter bottle) | Restaurants | 6 | 0 |
| Milk (regular), 1 liter | Markets | 25 | 0 |
| Loaf of Fresh White Bread (500g) | Markets | 31 | 0 |
| Eggs (12) | Markets | 28 | 0 |
| Local Cheese (1kg) | Markets | 13 | 0 |
| Water (1.5 liter bottle) | Markets | 30 | 0 |
| Bottle of Wine (Mid-Range) | Markets | 4 | 0 |
| Domestic Beer (0.5 liter bottle) | Markets | 6 | 0 |
| Imported Beer (0.33 liter bottle) | Markets | 6 | 0 |
| Pack of Cigarettes (Marlboro) | Markets | 15 | 0 |
| One-way Ticket (Local Transport) | Transportation | 20 | 0 |
| Monthly Pass (Regular Price) | Transportation | 1.5 | 0 |
| Apples (1kg) | Markets | 36 | 0 |
| Apartment (1 bedroom) in City Centre | Rent Per Month | 0 | 0.25 |
| Apartment (1 bedroom) Outside of Centre | Rent Per Month | 0 | 0.25 |
| Apartment (3 bedrooms) in City Centre | Rent Per Month | 0 | 0.25 |
| Apartment (3 bedrooms) Outside of Centre | Rent Per Month | 0 | 0.25 |
| Basic (Electricity, Heating, Water, Garbage) for 85m2 Apartment | Utilities (Monthly) | 1 | 0 |
| 1 min. of Prepaid Mobile Tariff Local (No Discounts or Plans) | Utilities (Monthly) | 320 | 0 |
| Internet (6 Mbps, Unlimited Data, Cable/ADSL) | Utilities (Monthly) | 1 | 0 |
| Price per Square Meter to Buy Apartment in City Centre | Buy Apartment Price | 0 | 0 |
| Price per Square Meter to Buy Apartment Outside of Centre | Buy Apartment Price | 0 | 0 |
| Median Monthly Disposable Salary (After Tax) | Salaries And Financing | 0 | 0 |
| Mortgage Interest Rate in Percentanges (%), Yearly | Salaries And Financing | 0 | 0 |
| Gasoline (1 liter) | Transportation | 60 | 0 |
| Fitness Club, Monthly Fee for 1 Adult | Sports And Leisure | 2.3 | 0 |
| Tennis Court Rent (1 Hour on Weekend) | Sports And Leisure | 3 | 0 |
| Cinema, International Release, 1 Seat | Sports And Leisure | 6 | 0 |
| Chicken Breasts (Boneless, Skinless), (1kg) | Markets | 30 | 0 |
| Volkswagen Golf 1.4 90 KW Trendline (Or Equivalent New Car) | Transportation | 0.0065 | 0 |
| 1 Pair of Jeans (Levis 501 Or Similar) | Clothing And Shoes | 0.35 | 0 |
| 1 Summer Dress in a Chain Store (Zara, H&M, ...) | Clothing And Shoes | 0.35 | 0 |
| 1 Pair of Nike Shoes | Clothing And Shoes | 0.35 | 0 |
| 1 Pair of Men Leather Shoes | Clothing And Shoes | 0.35 | 0 |
| Taxi Start (Normal Tariff) | Transportation | 5 | 0 |
| Taxi 1km (Normal Tariff) | Transportation | 20 | 0 |
| Taxi 1hour Waiting (Normal Tariff) | Transportation | 0 | 0 |
| Oranges (1kg) | Markets | 36 | 0 |
| Potato (1kg) | Markets | 30 | 0 |
| Lettuce (1 head) | Markets | 16.5 | 0 |
| Cappuccino (regular) | Restaurants | 15 | 0 |
| Rice (1kg) | Markets | 16 | 0 |
| Tomato (1kg) | Markets | 24 | 0 |
+-----------------------------------------------------------------+------------------------+------------+-------------+
49 rows in set (0.00 sec)
When calculating Local Purchasing Power, formula which is used for weights is
1.5 * cpi_factor + rent_factor.
This correction factor is used to estimate other goods and services which is not tracked at this website.
Local_Puchasing_Power_Index = Affordability(This_City) / Affordability(New York)
Affordability (of a city) = Average_monthly_disposable_income / sum_of (Price_in_the_city * (1.5 * cpi_factor) + rent_factor)
If you need more information about the calculations, please
Contact Us.