← Catalogue

Purchase monitoring07

isanna towmate

In service

What a listing is worth, measured against its own comparables.

A daily watch over a car purchase. It reads the listings for the models under consideration, keeps the price history of each one, and answers the question that actually decides a purchase: is this one cheap for what it is?

The number that decides is not published anywhere. An armoured car costs what the car costs plus what the armour costs, and no listing separates the two — so the premium has to be derived from the market itself, by measuring a listing against the ones with the same model and the same year.

Sources
Three marketplaces, swept once a day. Two answer plain HTTP; the largest needs a real browser, because it refuses headless clients and datacenter addresses — which is why the whole thing runs on a machine at home rather than on a server.
The verdict
A signed distance from the median of the comparable listings, shown with the arithmetic instead of as a score. A sweep that was blocked partway is recorded as partial, so an interrupted run never reads as “nothing changed today”.
Isolation
Each search runs in its own process and its own browser profile, because a block sticks to the cookie rather than to the address: one model being turned away does not cost the others their run.
Storage
SQLite, one row per reading, so the price history is simply the table over time. The same car found on two sites is merged only when make, model, year, distance, price, city and seller all agree.