● Deal Hunter · methodology

How Deal Hunter actually scores a deal.

Most "AI deal finder" tools won't tell you what they're doing. We will. This page is the full ruleset — comp matching, outlier handling, confidence ratings, the three lenses (equity, flip, cashflow), and the bidding-war guard that stops us from flagging a strategic underprice as a discount. If something here doesn't pass your sniff test, push back. The rules are tunable and we'd rather hear it.

Overview Comp matching Outlier removal Confidence rating The three lenses Bidding-war guard Limits + honesty

1. What Deal Hunter actually does

Once a week (and on-demand when I refresh it manually), the engine pulls every active TRREB MLS listing in the cities it's scanning. For each listing it tries to answer three independent questions:

  1. Is this listing priced below its true market value right now?  → Equity lens.
  2. Is this a renovation opportunity where after-repair value comfortably exceeds list + reno cost?  → Flip lens.
  3. Will this thing cash-flow as a rental at today's rents?  → Cashflow lens.

A listing can win on one lens, two, or all three. The card you see on /deals shows whichever lens it wins on most strongly, with a confidence chip telling you how much to trust the math. Nothing here is an appraisal. It's a high-throughput first-pass filter so you don't waste a Saturday on the wrong listings — the real work starts when you and I open the file together.

2. Comp matching — tiered, not strict

The single biggest weakness of most "AI deal finder" tools is they apply one rigid comp filter and drop anything that doesn't match. That works great in a downtown Toronto condo building with 40 identical units sold last quarter. It works terribly in Brampton when a 4-bed semi has only one tight comp in the last 90 days.

Deal Hunter runs a three-tier search and stops at the first tier that returns at least 3 valid comps:

Tier 1 — strict 90 days
Same city · same subtype · ±1 bed · ±20% sqft · within 90 days
The cleanest read. Most condo buildings and tract-home subdivisions hit this tier easily.
Tier 2 — wider 180 days
Same city · same subtype · ±1 bed · ±35% sqft · within 180 days
Used when Tier 1 returns <3 comps. Wider geography is intentional — accuracy beats freshness here.
Tier 3 — loose 365 days
Same FSA · same broad type · within 365 days
Last resort. Returns a value estimate but with a Low-confidence chip so you know to weight it less.

Each comp gets price-per-sqft normalized (we use TRREB's LivingArea + bracket midpoint when range is bucketed), then we adjust for bed count, bath count, age, and condition tier (turnkey / light / cosmetic / heavy). The adjustments are capped at 25% of comp value — beyond that we don't trust the algorithm to handle the difference and the listing falls out.

3. Outlier removal — IQR

Once we have a comp set, we throw out the outliers using the interquartile-range rule. Concretely: sort the comp prices, find Q1 and Q3, compute IQR = Q3 - Q1, drop anything below Q1 - 1.5×IQR or above Q3 + 1.5×IQR.

Why bother? Because TRREB has data-entry mistakes (a $2.4M family of four mis-typed a $4.2M sale), forced sales (estate liquidations that go for 20% under market), and the occasional dual-agency lowball that doesn't reflect the actual market. Without IQR filtering, one bad comp pulls the estimated value 5-8% in the wrong direction. With IQR, the median of the survivors is what we trust.

4. Confidence rating

Every deal card shows a confidence chip. It's not vanity — it gates the math. A Low-confidence Equity flag uses a stricter % threshold than a High-confidence one, because we know we might be wrong.

ConfidenceWhat earned itWhat it changes
HIGH 5+ Tier-1 comps survived IQR · low price variance (CoV < 12%) Equity threshold relaxes to 8% below comp value
MEDIUM 3–4 Tier-1 comps, OR 5+ Tier-2 comps · moderate variance Equity threshold tightens to 12% below comp value
LOW Tier-3 fallback only · high variance · sparse data Equity threshold tightens further to 16% below comp value — we need a real margin of safety before we flag this

5. The three lenses

💰 Equity lens — list price vs true market value

We compute equity_pct = (comp_value − list_price) / comp_value. If that's above the confidence-aware threshold (8% / 12% / 16%) and the bidding-war guard doesn't fire (see below), the listing is flagged as an Equity deal.

The card shows the dollar gap ("$184,018 under market") and the percentage ("23.5% below comp value"). The comps behind the number are visible to paying members on the card — click "8 comps back this value" to expand.

🔨 Flip lens — renovation arbitrage

We score this when a listing is in cosmetic or heavy condition and either:

We deliberately don't enforce a hard "70% rule" the way some US flip tools do. In the GTA, retail homes never trade at 70% of ARV — that rule of thumb just kills the whole feed. Discount + condition signals + your own walk-through tell the real story.

📈 Cashflow lens — does it pay for itself?

For each listing we estimate market rent using TRREB rental comps in the same FSA / subtype / bed-count band over the last 180 days. We compute:

A listing wins the Cashflow lens if monthly cashflow ≥ $0, OR cap rate ≥ 5.0%, OR cash-on-cash ≥ 6%. Honest note: in 2026 GTA most resale residential does not cash-flow with 20%-down financing. When the feed shows 0 cashflow deals it's because the market is what it is, not because the engine is broken.

6. The bidding-war guard — why we override good-looking equity flags

⚠ The trick most "deal finder" tools fall for

In Toronto and Mississauga it's standard practice to list a $1.4M home at $1.19M and hold offers for 7 days. To a naive comp-match algorithm that's "16% below market — buy it!" In reality the seller is fielding 9 offers and the home will sell at $1.45M.

Deal Hunter detects this pattern and refuses to flag the listing as an Equity deal. The guard fires on either of:

  1. Offer-hold language detected in the listing remarks (any of: "offers reviewed", "offer date", "registered", "no pre-emptive", "no bully") AND discount to comp value is ≥ 8%.
  2. Very fresh + very discounted (≥ 15% below comp value with ≤ 7 days on market) — same pattern, different signature.

When the guard fires the listing still appears in the feed, but it gets a "⚠ Likely underpriced for offers" tag and won't carry the Equity lens badge. We're explicit about why — so you don't lose two weeks chasing a phantom discount.

7. What this engine is not

It's important to be square about what we can and can't do here:

Last methodology change: 2026-05-26 — added the bidding-war guard and the confidence-aware equity thresholds. If you notice a deal that you think the engine got wrong (in either direction), email me — that's how the rules get better.

See it on real listings

The latest scan surfaced 197 deals across the GTA. Take a look.

Open this week's deals →