The problem with flagging distressed listings is that you get too many flags. Run any reasonable filter across a metro market and you will surface dozens of listings a day with at least one distress signal. The valuable question is not "which listings show distress" but "which five should I look at first." That requires scoring.

The Four Factors

A workable distress score weights four factors into a 0 to 100 scale. Price drop history (roughly 30 points): cumulative reduction from original list, with bonus weight for cut frequency and shrinking intervals between cuts. Days on market versus the area median (roughly 25 points): not raw DOM, but the multiple of the local median, because 60 days means nothing in a slow market and everything in a fast one. Remarks language (roughly 25 points): AI-detected distress keywords, weighted by strength, where probate and as-is outweigh a generic motivated seller. ARV spread (roughly 20 points): the gap between current list price and the estimated after repair value from recent sold comps, which is the factor that separates a cheap house from an actual opportunity.

Calibration Is the Real Work

The weights above are a starting point, not gospel. Every market needs its own calibration: the DOM median is different in Tampa than in Tulsa, price cut behavior differs between a cooling market and a hot one, and remarks vocabulary varies regionally. The right process is to run the score across 60 to 90 days of historical listings, check which scoring bands actually went on to sell at investor-style discounts, and adjust the weights until the top band reliably contains the real deals.

You can see this exact framework running in our distressed property feed demo, including a full scoring breakdown showing how a sample listing earns a 92: each factor, its points, and the remarks text the AI read to get there. Scores above roughly 85 mean multiple strong signals are stacking, and those are the listings worth a same-day call.