Cheaper Abroad: How the Price Data Is Built
cheaper-abroad.com compares what things cost in Da Nang, Bangkok and Budapest with what they cost at home. Every number is a dated observation from a named source, nothing is ever deleted, and a quarterly report freezes the whole database. This is how that data is built.
cheaper-abroad.com went live on 3 September 2026. It answers one question: what does a zirconia crown, an eye test, a blood panel or a made-to-measure suit cost in Da Nang, Bangkok or Budapest, and what does the same thing cost at home in the Netherlands, Germany, the UK, the US or Australia. The pages are plain. The data is the product, so this note is about how the data is built.
The one rule. Every number on the site is an observation: one price, from one provider, on one date, from a named source. Never an average of things that were not measured, never a range someone remembers from a forum. Of the roughly 1,800 local prices, about 95 percent link to the page they were read from. Where nothing was published, the row says “estimate”, and an estimate never sets a headline figure and never leads an item.
Four labels, not a score. Each price says who produced the number, because that is the thing a reader can judge for themselves:
- Seller’s price. The business publishes it: its own site, its own price list, or a tariff that binds it. You can open the page and check.
- Paid in person. Somebody paid this and there is a receipt. It proves the price was charged, not that you will be charged the same. Where it was haggled, the row says “negotiated”.
- Reported elsewhere. A listing, a review, a quote, a reader’s submission. The seller did not publish it, so it can change without them.
- Estimate. Nobody published a price, and the site says so.
A price only counts as the seller’s when the cited page is demonstrably the seller’s own. If a clinic’s website is not on record, its prices read as reported, even when the page is probably theirs. Understating what can be proven is the cheaper mistake.
Nothing is deleted. A new observation is added next to the old one. When a number turns out to be wrong it is withdrawn, not edited, and the old row stays in the history with the correction beside it. The audit of 5 September withdrew 23 prices that did not survive checking and the method page says so. The side effect is the part I care about most: after a few rounds of rechecking, every item has a price history, and nobody else publishes that for a dentist in Da Nang.
The home side. A local price on its own is a curiosity. The comparison is what the site is for, so every item that can have one carries a home reference price: for the Netherlands that is mostly the NZa tariff for dental work (the fixed maximum every Dutch dentist bills), optician and lab price lists, and pharmacy prices. Those are legal maximums in the dental case, which flatters the destination a little, and the page shows the route the figure came by so you can discount it yourself.
What the ranking cannot see. Providers on a category page are ordered from the data alone: how often they hold the cheapest current price, how many of their services have a price at all, how recently they were checked, how complete their listing is. If a provider ever pays to appear, it gets a fixed slot outside the ranked list, and the ranking code has no way to read who paid. No commission on anything. A price site that tells you to stay home when staying home is cheaper is worth more than one that does not, and that only holds if the rule is structural rather than a promise.
The quarterly report. Once a quarter the whole database is read once and frozen into a report. The provisional Q3 2026 edition compares 347 items between Da Nang and the Netherlands: the median one costs 78 percent less in Da Nang, and 8 are cheaper at home. The final reading is taken on 30 September and after that the figures do not move, so someone citing it in February sees what someone citing it in October saw.
What it runs on. Astro, one SQLite file, pages rendered at request time, Cloudflare in front, on the same Hetzner box as everything else on this site. Agents do the finding and the reading: they locate price pages and offer rows, a script checks every offered row against the page it claims to come from, and only rows that survive that check can be published. I do the judging, and the judging is most of the work.
What is next. Prices paid in person, with the receipt, from the next trip. Monthly rechecks of the most-visited items, so the history gets its second point. And more of the Dutch side, because the Dutch web currently has no answer at all to “wat kost een kroon in Vietnam”.