All posts
Insights and guides

How to set price and year filters that cut noise, not deals

Most vehicle filters fail in one of two ways, too loose or too tight. Here is how to set price and year bounds that kill junk without deleting deals.

Set vehicle price and year filters with intent: use a price cap for your walk-away number, a year floor to drop junk cheaply, excluded terms for parts and salvage language, and recency so stale rows never ping you. Too loose drowns you; too tight silently deletes real deals.

Vehicle filters fail in two directions. Too loose and you drown: every salvage title, dealer repost, and $1 "message me" listing pings you until you stop reading alerts. Too tight and you go quiet: the filter deletes the one mispriced listing you built the whole setup to catch, and you never know it existed.

The fix is not a smarter filter. It is knowing what each bound actually does, then setting it with intent. This guide covers price caps, price floors, year bounds, and the two supporting gates (excluded terms and recency) that carry more weight than most buyers expect.

How a filter gate works

A monitored search is a pass/fail test, not a ranking. In Crawlbench, every incoming listing is checked against each filter dimension separately: make and model, price, year, excluded terms, and how recently it was posted. A listing must pass every dimension to become a match. One failure and it never reaches you.

Two consequences follow:

  1. Filters multiply. A price cap that passes 30% of listings and a year floor that passes 40% do not add up to 70% noise reduction. They stack, and the queue gets quiet fast.
  2. A wrong bound is invisible. A failed listing does not show up crossed out. It just never appears. That is why you set bounds from evidence, not vibes.

Each Crawlbench match records the reason every dimension passed, so when an alert fires you can see exactly which gates it cleared (how matching works).

Step 1: Set the price cap from sold comps, not asking prices

The cap should be the number above which the listing is not a deal for you, all-in.

  1. Pull recent comps for your target (KBB private-party, plus what similar listings actually closed at if you track them).
  2. Subtract your minimum margin if you flip, or your walk-away gap if you are buying to keep.
  3. Add nothing for "maybe I can haggle." A monitor firing on listings you would only buy after a big discount is noise wearing a deal costume.

Concrete example: 2012 to 2016 Tacomas in your area trade around $17,000 to $21,000 private party. If you need $3,000 of room to make a flip work, the cap is $17,000, not $21,000. The listings between those numbers are browsing material, not alerts.

Step 2: Add a price floor, the filter most buyers skip

A floor sounds backwards. Why block cheap listings when cheap is the goal?

Because the bottom of a vehicle feed is not deals, it is garbage with a price tag:

  • Typos and placeholders. A truck listed at $800 that should say $8,000, or $1 because the seller wants "make me an offer" traffic.
  • Bait listings. Prices set absurdly low to farm messages, with the real number in the chat.
  • Parts and shells. Blown-motor rollers priced like scrap, which is fine if you want scrap and noise if you do not.

A floor at 30 to 50 percent of your cap clears most of it. For the $17,000 Tacoma cap above, a $6,000 floor still catches genuinely aggressive pricing while skipping the $1 crowd. If a real listing ever sits below your floor, it was almost certainly a typo you would have had to untangle in chat anyway.

Step 3: Set a year floor, and know when it silently does nothing

The year floor is the cheapest noise cut in vehicles. One number removes entire generations of rust, deferred maintenance, and "ran when parked."

  1. Pick the oldest model year you would actually drive to see. Not the oldest you would consider in theory.
  2. Set a ceiling only if newer years break your price logic (late models at your cap are usually accident or title stories, which excluded terms handle better).
  3. Prefer generation boundaries. For a 4Runner, 2010 and newer means one platform and one set of known problems, which makes your comps sharper too.

One honest caveat about how this works in Crawlbench: the year is read from the listing title. Most sellers lead with it ("2014 Toyota Tacoma SR5"), but when a title has no readable year, the year bounds are not applied and the listing can still pass on the other gates. That is deliberate. Dropping every listing with a lazy title would delete real deals to enforce a bound the seller never gave us. Expect the occasional yearless listing in your matches and treat the year check as your job on those.

Step 4: Let excluded terms do the dirty work

Price and year are blunt. Excluded terms are the scalpel, and in practice they remove more junk per keystroke than any other filter.

Start with the standard list and add from what you actually see:

  • salvage, rebuilt, branded
  • blown, no motor, no engine, bad transmission
  • parts only, mechanic special
  • lien, no title

Terms match as simple text against the listing title, so keep them short and literal. "Needs work" catches "needs work." It does not catch "needs a little TLC," so add the variants you keep seeing in your market. Two or three rounds of pruning over a week beats trying to predict every phrasing up front.

Step 5: Keep the recency window tight

Crawlbench also gates on when the listing was posted to Facebook. The default window is 2 days, and the maximum is 7.

Tighter is usually right. A listing that has been live for five days has been seen by every saved search in the county; whatever edge monitoring gives you is gone. The 2-day default exists because the win condition is catching listings in their first hours, not archiving the whole feed. Widen it only if your target is rare enough that you would drive out for a week-old post.

Tune with a one-week feedback loop

Set the bounds, then judge them by output, not by feel:

  1. Count matches for seven days. Roughly 3 to 10 plausible hits per week is the healthy band for a single buy box.
  2. Zero matches: loosen one bound at a time, price cap first, then year floor. Never loosen two at once or you will not know which change mattered.
  3. You ignore half the alerts: read the match reasons on the ones you skipped. The gate that let them through is the one to tighten, and it is usually a missing excluded term, not the price cap.

Filter edits apply to newly seen listings going forward, so give each change a few days of feed before judging it.

The takeaway

A price cap from sold comps, a floor at roughly a third of the cap, a year floor on a generation boundary, a short excluded-terms list, and a 2-day recency window. That is the whole setup, and it beats any single clever filter because the gates stack.

If you want the same gates running on a schedule instead of in your head, a vehicle monitor applies them to every new listing and shows you why each match passed.

put the guide to work

Never miss a mispriced listing

Crawlbench runs scheduled Marketplace checks and alerts you on Telegram, email, and in-app when a match clears your filters.

Full access for one day, no card · then 7-day free trial