I built a small collector to watch overseas secondhand listings and surface the ones that would actually be profitable to import, after shipping, customs, and card fees are worked in. The first end-to-end run, on demo data, produced a top result and a lesson about what “top” means in a ranked list like this.

The best deal on the list was a trap

The number-one hit was a camera body listed “for parts, not working,” priced 74% below typical market, with a calculated return on investment of 132%. Every step of the arithmetic checked out: $280.40 converted at the day's live exchange rate to a landed cost in won, plus an 8% customs duty and a further value-added tax, summed and matched against the reference figure to the won. The math was correct. The object was not something anyone should buy.

The structural problem is that the cheapest listing for anything will always sort to the top of a return-on-investment ranking, math being math. Without a filter for what the listing actually is, the tool's most confident recommendation will systematically be its least trustworthy one — a trap-finder dressed as a deal-finder.

Where the filter has to sit

The first version of the fix screened listings only at the judgement stage, after a median market price had already been computed from all of them. That's too late: by then, the parts-only and broken listings have already dragged the median down, so even the listings that survive the screen are being judged against a price benchmark that damaged listings helped set. The fix was to flag and remove contaminated listings by their title text before computing any price statistic, not after.

A regex too narrow to matter

A related leak: the bundle-detection pattern only matched the phrase “bundle of,” so listings phrased as “bundle with lens and bag” sailed through uncaught, and those bundled listings were pushing prices upward the same way the broken ones had pushed them downward. Widening the pattern to catch the word “bundle” on its own, rather than one specific phrasing of it, tightened the price spread for two tracked items by roughly half and pulled one item's median down by $39 that had been sitting there, invisibly inflated, the whole time. The narrower change in the number mattered less than the fact that the spread itself got tighter — a signal that the remaining listings were now actually describing the same kind of thing.

The answer that meant it was working

Under the demo run's exchange rate, every listing the screener judged came back “don't buy” — the landed cost, once duty and tax were added, exceeded a reasonable resale estimate for all of them. That result was the point. A tool that can only ever say yes isn't a screening tool, it's a recommendation engine with the recommendation baked in before any data arrives. Being able to say no, and mean it, was the first sign this one was actually measuring something.