By the time a property lands on a foreclosure list, every investor in your market has it. Same with tax delinquency, probate, and whatever your list vendor packaged this month. Those lists are built from formal filings, which makes them accurate, and it also makes them late. The owner's trouble started long before the paperwork caught up.
The trouble shows up somewhere first. It leaks into the public record as small, scattered events: a neighbor complains about the yard, a rubbish fire gets dispatched, a building permit quietly expires, a code violation sits unfixed. Any one of those events means very little. Three of them on the same address is a story.
Signal stacking means tracking multiple independent distress signals against the same property and ranking properties by how many have piled up. One signal is noise. Two is a pattern. Three or more is a short list most investors never see, because no vendor sells it.
I run this every morning across Seattle's code enforcement, fire, 311, and permit data for my own deal sourcing. Stacking is the method; the full catalog of property distress signals is the raw material it runs on. Here is how the method works, what it looks like in real numbers, and how to do it with nothing but your city's open data portal.
List stacking got half the idea right
If you wholesale, you already know list stacking. Pull the absentee list, the pre-foreclosure list, the tax-delinquent list, load them into a spreadsheet or PropStream, and prioritize whoever shows up on two or more. The instinct is correct. Overlapping motivation beats any single source, and stacked lists outperform raw ones.
But list stacking has two problems it cannot escape. First, everyone buys the same lists. Your stacked list is someone else's stacked list, which is why owners on it get eleven postcards the same week. Second, a list records a status, and statuses arrive after a formal filing. Pre-foreclosure means a notice of default already hit the county recorder. Tax delinquent means the owner already missed the deadline. The status is the end of the story. The events that led there started months earlier.
Signal stacking keeps the logic and swaps the raw material: events instead of statuses, pulled from your city's open data instead of a vendor's export.
| List stacking | Signal stacking | |
|---|---|---|
| What you combine | Purchased lists of statuses (absentee, pre-foreclosure, probate) | Public-record events (violations, fires, 311 complaints, expired permits) |
| When it surfaces distress | After a formal filing | As neglect happens, before filings |
| Who else is working it | Everyone who bought the same lists | Almost nobody |
| What it costs | Per-record or subscription fees | Free, from the city's data portal |
| What it tells you | The owner's situation on paper | The property's condition on the ground |
The two are not enemies. A stacked signal lead that also shows up absentee is better than either alone, and both belong in a complete system for finding distressed properties. But if you only work statuses, you are always reacting to paperwork.
The four signals worth stacking
Code violations are the base layer. A violation means the city inspected the property and formally confirmed something is wrong, which makes it the strongest single distress event in the public record. Type matters a lot here. Vacant building, emergency, and land use cases point at an owner who has checked out. Construction violations point the opposite direction, at an owner actively improving the property, so we exclude them from distress scoring entirely. The full investor's guide to building code violations breaks down every type and what it signals.
Fire incidents corroborate. Fire dispatch data is public in most cities, and building fires, rubbish fires, and encampment fires at a residential address all say the same thing: nobody is minding the property. A fire on an address that already carries violations means the owner is now dealing with damage on top of city pressure. Fire incidents as a distress signal deserve their own writeup, but the short version is that they almost never appear on a healthy property.
311 complaints lead. Service requests are the earliest and noisiest stream, so category selection is everything. We keep three: illegal dumping, overgrown vegetation, and unauthorized encampments, because each one describes a property nobody is taking care of. We dropped graffiti entirely. It hits occupied commercial walls in perfectly healthy neighborhoods. Filtered right, 311 complaints are the neighbors telling you about neglect before the city gets around to citing it.
Expired building permits round it out. An expired permit is stalled intent. The owner planned the work, paid the fee, and never finished. On its own it is weak, plenty of permits expire for boring reasons, but stacked under a violation or a fire it reads as a project the owner could not carry.
One of these alone would not change how you spend your Tuesday. The stack is what changes it. A vacant building violation plus a rubbish fire plus a dumping complaint is not three coincidences.
What stacking looks like in real numbers
Here's how often signals actually overlap in FlaggedLeads production data, pulled the morning of July 9, 2026. Seattle has 9,759 properties with at least one code violation on record. Of those, 4,515 carry at least one more signal type. Require three or more types and you are down to 697 properties. All four signals, violations plus fire plus 311 plus an expired permit, and the list is 63 properties.
Nobody can work 9,759 leads. That number is why investors burn out on raw violation exports after two weeks. But 697 is a mail campaign you can actually run, and 63 is a call list you can finish this week.
Smaller is the feature, not the compromise.
That is the part list vendors get backwards. The pitch is always more records, bigger coverage, thousands of motivated sellers. The value is in the opposite direction. Every independent signal you require cuts the list and raises the floor on what is left. You are not paying for volume anymore; the whole point is to earn the right to ignore most of the market.
Signals show up in an order
Stacking does more than shrink the list. It shows you the sequence, and the sequence is where the head start lives.
We measured this across Seattle in May 2026. Among addresses that ended up with both a 311 complaint and a code violation, the complaint came first roughly three times out of four, and the typical gap was around ten months. Fire incidents ran similar: where a fire and a violation both happened, the fire led just under three quarters of the time, by about eight months. The neglect was sitting in the public record long before an inspector confirmed it.
That gap is workable time.
Right now our Seattle pipeline is watching 627 properties that carry two or more distress signals and no code violation at all yet. Since we started tracking them, 26 have gone on to pick up their first violation, exactly the progression the timing data predicts. Those owners were reachable months before their property showed up in anyone's violation export.
Be clear about what this does and does not claim. A stack of signals does not mean the owner will sell, and I do not trust anyone who quotes conversion odds on public data. What it tells you is which addresses deserve attention now, while the only thing on record is a complaint and a smell of smoke, instead of eighteen months later when the distress has hardened into a filing every buyer in town can see.
How to stack signals yourself
You do not need software to test this. You need a Saturday morning and your city's open data portal.
- Pull the violation data. Every major city publishes it. Seattle's lives on data.seattle.gov as code complaints and violations, and code violations are public record everywhere in the country, so your city has an equivalent.
- Pull one more stream. Fire dispatch and 311 service requests usually sit on the same portal. Start with 311 and keep only the neglect categories: dumping, vegetation, encampments.
- Normalize the addresses. This is the unglamorous step that makes or breaks the whole exercise. "1234 N Main St" and "1234 MAIN ST N" are the same property to you and different strings to a spreadsheet. Standardize casing, direction prefixes, and suffixes before you match anything.
- Count signal types per address. Not raw events, distinct types. Ten complaints from one angry neighbor is one signal. A complaint, a fire, and a violation is three.
- Gate before you reach out. Sort by signal count, then filter to what you can actually buy: residential, and ideally an owner whose mailing address is not the property. Distress tells you where to look. The owner situation tells you whether there is a deal in it. Our enforcement-stage breakdown covers reading how much pressure each case is applying.
The manual version of this is genuinely fine for one zip code. Doing it across a whole city, every morning, with the address matching and the type filtering handled, is the tedious part, and that is what I built FlaggedLeads to do. It reads Seattle's violation, fire, 311, and permit feeds daily, counts the stack on every property, and puts a Stacked filter one click away. We cover Seattle, Bellevue, Tacoma, and a growing set of Washington cities, not everywhere yet. The free map shows the violation layer for Seattle, Bellevue, and Tacoma if you want to see where the stacks are forming in your farm area.
Frequently Asked Questions
What is signal stacking in real estate?
Signal stacking is tracking multiple independent distress signals, like code violations, fire incidents, 311 complaints, and expired permits, against the same property and ranking properties by how many have accumulated. A single signal is usually noise. Several on one address indicate sustained neglect and, often, an owner worth contacting before the property is formally distressed.
How is signal stacking different from list stacking?
List stacking merges purchased lists of statuses, like absentee, pre-foreclosure, and probate, and works the overlap. Signal stacking applies the same overlap logic to public-record events instead: violations, fires, complaints, permits. Statuses appear after a formal filing that every list buyer can see. Events appear as the neglect happens, months earlier, and the data is free.
What are the strongest distress signals on a property?
A vacant building violation is the strongest single signal, followed by emergency and land use violations, fire incidents, neglect-category 311 complaints (dumping, overgrown vegetation, encampments), and expired building permits. Construction violations signal the opposite, an owner investing in the property. The strongest indicator overall is not any single signal but several independent ones on the same address.
Do stacked signals mean the owner will sell?
No, and be skeptical of anyone who attaches odds to it. Stacked signals mean the property is being neglected from several directions at once, which is a reason to prioritize the address, not a promise of a deal. Whether there is a transaction in it depends on the owner's situation, which is why you filter stacked leads by owner type before spending money on outreach.
How many stacked signals should a lead have before I act?
Two distinct signal types is a pattern worth a look. Three or more puts a property in rare company: in our Seattle data as of July 2026, 697 of 9,759 violation properties reach three signal types, about 7 percent. Work the deepest stacks first, gate by residential and absentee, and you get a contact list you can finish instead of a database you abandon.