1import{A as e,M as t,P as n,i as r,t as i}from"./jsx-runtime-BFnmFciN.js";import{t as a}from"./arrow-right-D8xrjt1y.js";import{t as o}from"./chevron-right-pZ_fgcwD.js";import{t as s}from"./Byline-CzXtpXcU.js";var c=n(t(),1),l=i();function u(){return[{title:`How to Stack Lists in PropStream: Filter-Layering Strategy â FlipProperties.com`},{name:`description`,content:`How to stack filters in PropStream to narrow a large lead list down to a short list of likely sellers. The filter-layering technique that works across every lead type â equity, ownership, occupancy, and recency.`},{property:`og:title`,content:`How to Stack Lists in PropStream: Filter-Layering Strategy â FlipProperties.com`},{property:`og:description`,content:`How to stack filters in PropStream to narrow a large lead list down to a short list of likely sellers. The filter-layering technique that works across every lead type â equity, ownership, occupancy, and recency.`},{property:`og:url`,content:`https://www.flipproperties.com/how-to-stack-lists-in-propstream`},{property:`og:type`,content:`article`},{property:`og:image`,content:`https://assets.ls-assets.com/uploads/770d8029-6fea-4858-9200-c09b40c1d737/0416d420-c899-4eb6-a0ba-400ca401acfd.jpg?w=1200`},{name:`twitter:card`,content:`summary_large_image`},{name:`twitter:image`,content:`https://assets.ls-assets.com/uploads/770d8029-6fea-4858-9200-c09b40c1d737/0416d420-c899-4eb6-a0ba-400ca401acfd.jpg?w=1200`}]}var d=()=>[{rel:`canonical`,href:`https://www.flipproperties.com/how-to-stack-lists-in-propstream`}],f=[{category:`Absentee Owners`,layers:[{filter:`Absentee â out-of-state`,note:`Owner lives in a different state â can't manage the property`},{filter:`+ Equity 30%+`,note:`Room for an investor offer after costs`},{filter:`+ Owned 5+ years`,note:`Eliminates recent flips â real owners, not traders`}],result:`High-probability out-of-state absentee owners with equity and history â the ones who answer letters.`},{category:`Pre-Foreclosure`,layers:[{filter:`Pre-foreclosure â NOD filed`,note:`The legal clock has started`},{filter:`+ Filed within 90 days`,note:`Recent and active â not stale or already resolved`},{filter:`+ Equity 20%+`,note:`Ensures the owner has something to sell and walk away with`}],result:`Active, equity-positive pre-foreclosures where the owner can still sell and has a reason to.`},{category:`Vacant + High Equity`,layers:[{filter:`Vacant â long-term`,note:`Nobody has lived there for 6+ months`},{filter:`+ High equity 50%+`,note:`The owner has significant equity â and is paying costs on an empty asset`},{filter:`+ Absentee owner`,note:`Owner doesn't live nearby â can't check on or manage the property`}],result:`A strong combined signal: empty, equity-rich, and the owner is somewhere else paying for nothing.`}],p=[{q:`What does 'stacking lists' mean?`,a:`Stacking means layering filters on top of each other so each one removes owners who can't or won't sell. Start with a lead type (for example, Absentee Owners â say 50,000 properties in your county, though your numbers will differ). Add filter 1 (out-of-state â fewer owners). Add filter 2 (equity 30%+) . Add filter 3 (owned 5+ years). Each filter narrows the list, and what remains is a short list of owners who have both the capacity (equity) and a reason (absentee, distress, life event) to sell â a hypothetical worked example, not a promise of results.`},{q:`What's the best filter stack for beginners?`,a:`Absentee owners + out-of-state + equity 30%+ + owned 2+ years. This stack starts with the large absentee pool, narrows to the out-of-state subset, ensures deal room (equity), and eliminates flips and wholesales (ownership length). It's high-volume enough to produce leads every week, filtered enough to have real conversion potential, and the owners are reachable without the emotional complexity of distress categories.`},{q:`How many filters should I use?`,a:`Three filters is a good starting point. Two filters leaves the list large for efficient outreach â you'll waste time and skip-trace money on low-probability contacts. Four or more filters can over-narrow and eliminate good leads â owners who might sell even if one filter doesn't perfectly match. Three filters is a reasonable balance: enough to isolate motivation, while still leaving a workable list you can actually call.`}],m=e(function(){return(0,l.jsxs)(`div`,{className:`bg-bone font-body text-ink`,children:[(0,l.jsx)(`section`,{className:`bg-white border-b border-ink/10`,children:(0,l.jsx)(`div`,{className:`container py-4`,children:(0,l.jsxs)(`nav`,{className:`flex items-center gap-2 text-xs font-mono-stack text-ink/40`,children:[(0,l.jsx)(r,{to:`/`,className:`hover:text-ink transition-colors`,children:`Home`}),(0,l.jsx)(o,{className:`w-3 h-3`}),(0,l.jsx)(r,{to:`/learning-center`,className:`hover:text-ink transition-colors`,children:`Learning Center`}),(0,l.jsx)(o,{className:`w-3 h-3`}),(0,l.jsx)(`span`,{className:`text-ink/70 font-semibold`,children:`How to Stack Lists`})]})})}),(0,l.jsx)(`section`,{className:`bg-white`,children:(0,l.jsxs)(`div`,{className:`container py-12 md:py-16`,children:[(0,l.jsx)(`p`,{className:`font-mono-stack text-xs tracking-[0.15em] uppercase text-ink/25 mb-4`,children:`Learning Center · Method`}),(0,l.jsx)(`h1`,{className:`font-display text-3xl sm:text-4xl md:text-5xl font-bold text-ink leading-[1.08] tracking-tight mb-5 max-w-3xl`,children:`How to Stack Lists in PropStream`}),(0,l.jsx)(s,{published:`2026-09-08`,updated:`2026-10-03`}),(0,l.jsxs)(`p`,{className:`text-base sm:text-lg text-ink/60 leading-relaxed max-w-2xl mb-8`,children:[`Filter stacking is a core PropStream skill â the difference between pulling a large unfiltered data dump and building a focused pipeline of likely sellers. `,(0,l.jsx)(`strong`,{className:`text-ink font-semibold`,children:`Every filter removes owners who can't or won't sell.`}),` What remains is your actual deal flow.`]}),(0,l.jsx)(`div`,{className:`flex flex-wrap gap-4`,children:(0,l.jsxs)(`a`,{href:`https://signup.propstream.com/fp`,target:`_blank`,rel:`sponsored noopener`,className:`inline-flex items-center gap-2 px-6 py-3 bg-clay hover:bg-clay/90 text-bone font-semibold font-display tracking-wide rounded-sm transition-all hover:translate-y-[-1px] hover:shadow-lg hover:shadow-clay/20 text-sm shadow-md shadow-clay/10`,children:[`Start stacking lists free `,(0,l.jsx)(a,{className:`w-4 h-4`})]})})]})}),(0,l.jsx)(`section`,{className:`bg-ink py-8`,children:(0,l.jsx)(`div`,{className:`container`,children:(0,l.jsx)(`div`,{className:`grid grid-cols-3 gap-4`,children:[{stat:`Stacked filters`,label:`The layering technique`},{stat:`Narrower list`,label:`Each filter removes non-sellers`},{stat:`Your target size`,label:`Set your own working list size`}].map(e=>(0,l.jsxs)(`div`,{className:`text-center`,children:[(0,l.jsx)(`p`,{className:`font-display text-2xl sm:text-3xl font-bold text-bone mb-1`,children:e.stat}),(0,l.jsx)(`p`,{className:`font-mono-stack text-[10px] sm:text-xs uppercase tracking-[0.1em] text-bone/40`,children:e.label})]},e.label))})})}),(0,l.jsx)(`section`,{className:`bg-white border-b border-ink/10 py-12 md:py-16`,children:(0,l.jsxs)(`div`,{className:`container max-w-3xl`,children:[(0,l.jsx)(`h2`,{className:`font-display text-2xl sm:text-3xl font-bold text-ink tracking-tight mb-5`,children:`The stacking principle`}),(0,l.jsx)(`p`,{className:`text-ink/65 text-base leading-relaxed mb-5`,children:`A raw lead-type pull is not a deal list â it's a starting point. Every PropStream lead type returns properties that match a single criterion: the owner is absent, or the property is in pre-foreclosure, or there's a tax lien. That single criterion is necessary but not sufficient. Most of those owners can't or won't sell.`}),(0,l.jsx)(`p`,{className:`text-ink/65 text-base leading-relaxed`,children:`Each filter you add asks a question: "Can this owner actually sell?" (equity filter â no equity means the bank won't release the lien). "Does this owner have a reason to sell?" (absentee filter â out-of-state means they can't manage the property). "Is this owner likely to respond?" (ownership-length filter â long-term owners are more reachable than recent flippers). A stacked list is the intersection of capacity, motivation, and reachability.`})]})}),(0,l.jsx)(`section`,{className:`bg-card border-y border-ink/10 py-12 md:py-16`,children:(0,l.jsxs)(`div`,{className:`container`,children:[(0,l.jsx)(`h2`,{className:`font-display text-2xl sm:text-3xl font-bold text-ink tracking-tight mb-8`,children:`Three worked examples`}),(0,l.jsx)(`div`,{className:`space-y-6`,children:f.map((e,t)=>(0,l.jsxs)(`div`,{className:`bg-white border border-ink/10 rounded-sm p-6 md:p-8`,children:[(0,l.jsx)(`p`,{className:`font-display text-base font-semibold text-ink mb-4`,children:e.category}),(0,l.jsx)(`div`,{className:`space-y-2 mb-5`,children:e.layers.map((e,t)=>(0,l.jsxs)(`div`,{className:`flex items-center gap-4 bg-ink/[0.015] border border-ink/5 rounded-sm px-4 py-3`,children:[(0,l.jsxs)(`span`,{className:`font-mono-stack text-[10px] tracking-[0.12em] text-ink/25 flex-shrink-0`,children:[`LAYER `,t+1]}),(0,l.jsx)(`span`,{className:`text-sm flex-1 text-ink/55`,children:e.filter}),(0,l.jsx)(`span`,{className:`font-mono-stack text-[10px] text-ink/25 flex-shrink-0`,children:e.note})]},t))}),(0,l.jsxs)(`div`,{className:`bg-deed/[0.06] border border-deed/15 rounded-sm px-4 py-3`,children:[(0,l.jsx)(`p`,{className:`font-mono-stack text-[10px] uppercase tracking-[0.12em] text-deed mb-1`,children:`RESULT`}),(0,l.jsx)(`p`,{className:`text-ink/70 text-sm leading-relaxed`,children:e.result})]})]},t))})]})}),(0,l.jsx)(`section`,{className:`bg-white border-y border-ink/10 py-12 md:py-16`,children:(0,l.jsxs)(`div`,{className:`container max-w-3xl`,children:[(0,l.jsx)(`h2`,{className:`font-display text-2xl sm:text-3xl font-bold text-ink tracking-tight mb-5`,children:`The universal filter hierarchy`}),(0,l.jsx)(`p`,{className:`text-ink/55 text-base mb-8 max-w-2xl leading-relaxed`,children:`These are the filters that matter across every category, in the order you should apply them:`}),(0,l.jsx)(`div`,{className:`space-y-3`,children:[{filter:`Equity`,detail:`Always first. No equity = no deal. Filter 30%+ for standard deal
1s, 50%+ for maximum flexibility. This is the capacity filter â without it, nothing else matters.`},{filter:`Occupancy / absentee`,detail:`Is the owner living there? Second because it's a strong motivation proxy. Absentee + vacancy is a strong combination; owner-occupied requires a different conversation.`},{filter:`Ownership length`,detail:`How long have they owned? 2+ years eliminates flips and traders. 10+ years means deep equity and likely mortgage-free. Long ownership correlates with motivation and deal flexibility.`},{filter:`Recency`,detail:`How fresh is the signal? For distress categories (pre-foreclosure, bankruptcy, code violations), recency matters â contact while the filing is recent and the owner is still deciding what to do.`}].map((e,t)=>(0,l.jsxs)(`div`,{className:`flex items-start gap-4 bg-card border border-ink/5 rounded-sm px-5 py-4`,children:[(0,l.jsx)(`span`,{className:`font-mono-stack text-xs text-ink/20 flex-shrink-0 mt-0.5 w-5`,children:t+1}),(0,l.jsxs)(`div`,{children:[(0,l.jsx)(`p`,{className:`font-display text-sm font-semibold text-ink mb-0.5`,children:e.filter}),(0,l.jsx)(`p`,{className:`text-ink/50 text-xs leading-relaxed`,children:e.detail})]})]},t))})]})}),(0,l.jsx)(`section`,{className:`bg-card border-y border-ink/10 py-12 md:py-16`,children:(0,l.jsxs)(`div`,{className:`container max-w-3xl`,children:[(0,l.jsx)(`h2`,{className:`font-display text-2xl sm:text-3xl font-bold text-ink tracking-tight mb-6`,children:`Common stacking mistakes`}),(0,l.jsx)(`div`,{className:`space-y-3`,children:[`Stacking before pulling â select the lead type first, then filter. Filtering too early (before you know the pool size) over-narrows and you miss leads you didn't know existed.`,`Using all the filters â too many filters and you're hunting for unicorns. Leave enough list size for outreach to work.`,`Skipping equity because 'the motivation is strong enough' â a motivated seller with negative equity can't sell at your price no matter how badly they want to. Equity is non-negotiable.`,`Forgetting to save the stack â PropStream lets you save filter stacks as templates. Build each stack once, name it, and reuse it every week with fresh data.`].map((e,t)=>(0,l.jsxs)(`div`,{className:`flex items-start gap-4 bg-white border border-ink/5 rounded-sm px-5 py-4`,children:[(0,l.jsx)(`span`,{className:`font-mono-stack text-xs text-ink/20 flex-shrink-0 mt-0.5`,children:String(t+1).padStart(2,`0`)}),(0,l.jsx)(`p`,{className:`text-ink/60 text-sm leading-relaxed`,children:e})]},t))})]})}),(0,l.jsx)(`section`,{className:`bg-white border-y border-ink/10 py-12 md:py-16`,children:(0,l.jsxs)(`div`,{className:`container max-w-3xl`,children:[(0,l.jsx)(`h2`,{className:`font-display text-2xl sm:text-3xl font-bold text-ink tracking-tight mb-5`,children:`Where to go next`}),(0,l.jsxs)(`p`,{className:`text-ink/55 text-base mb-6 max-w-2xl leading-relaxed`,children:[`Apply stacking to a specific category: `,(0,l.jsx)(r,{to:`/how-to-find-absentee-owners`,className:`text-clay hover:underline font-semibold`,children:`How to Find Absentee Owners`}),` walks through the exact filter sequence for the highest-volume category. Or start with`,` `,(0,l.jsx)(r,{to:`/how-to-find-motivated-sellers`,className:`text-clay hover:underline font-semibold`,children:`the five-step method`}),` to see how stacking fits into the full deal-sourcing workflow.`]}),(0,l.jsxs)(`div`,{className:`grid sm:grid-cols-3 gap-4`,children:[(0,l.jsxs)(r,{to:`/how-to-find-absentee-owners`,className:`group block bg-card border border-ink/5 hover:border-ink/15 rounded-sm p-4 transition-all`,children:[(0,l.jsx)(`p`,{className:`font-mono-stack text-[10px] tracking-[0.12em] text-ink/25 mb-2`,children:`APPLIED STACKING`}),(0,l.jsx)(`p`,{className:`font-display text-sm font-semibold text-ink group-hover:text-clay transition-colors mb-1`,children:`Find Absentee Owners`}),(0,l.jsx)(`p`,{className:`text-ink/45 text-xs leading-relaxed`,children:`The exact filter sequence for absentee owners.`})]}),(0,l.jsxs)(r,{to:`/how-to-build-a-pre-foreclosure-list-in-propstream`,className:`group block bg-card border border-ink/5 hover:border-ink/15 rounded-sm p-4 transition-all`,children:[(0,l.jsx)(`p`,{className:`font-mono-stack text-[10px] tracking-[0.12em] text-ink/25 mb-2`,children:`APPLIED STACKING`}),(0,l.jsx)(`p`,{className:`font-display text-sm font-semibold text-ink group-hover:text-clay transition-colors mb-1`,children:`Build a Pre-Foreclosure List`}),(0,l.jsx)(`p`,{className:`text-ink/45 text-xs leading-relaxed`,children:`Filters, deal math, and outreach timing for NOD leads.`})]}),(0,l.jsxs)(r,{to:`/how-to-find-cash-buyers`,className:`group block bg-card border border-ink/5 hover:border-ink/15 rounded-sm p-4 transition-all`,children:[(0,l.jsx)(`p`,{className:`font-mono-stack text-[10px] tracking-[0.12em] text-ink/25 mb-2`,children:`APPLIED STACKING`}),(0,l.jsx)(`p`,{className:`font-display text-sm font-semibold text-ink group-hover:text-clay transition-colors mb-1`,children:`Find Cash Buyers`}),(0,l.jsx)(`p`,{className:`text-ink/45 text-xs leading-relaxed`,children:`Build the buyer list before you have the deal.`})]})]})]})}),(0,l.jsx)(`section`,{className:`bg-ink py-14 md:py-16`,children:(0,l.jsxs)(`div`,{className:`container max-w-2xl text-center`,children:[(0,l.jsx)(`p`,{className:`font-mono-stack text-xs tracking-[0.15em] uppercase text-bone/35 mb-4`,children:`Stop pulling raw lists. Start stacking.`}),(0,l.jsx)(`h2`,{className:`font-display text-2xl sm:text-3xl font-bold text-bone tracking-tight mb-4`,children:`Build your first stacked list this week.`}),(0,l.jsx)(`p`,{className:`text-bone/55 text-base max-w-lg mx-auto mb-7 leading-relaxed`,children:`PropStream's 7-day trial. Pick a lead type, layer three filters, and turn a data dump into a high-probability pipeline.`}),(0,l.jsxs)(`a`,{href:`https://signup.propstream.com/fp`,target:`_blank`,rel:`sponsored noopener`,className:`inline-flex items-center gap-2 px-7 py-3.5 bg-clay hover:bg-clay/90 text-bone font-semibold font-display tracking-wide rounded-sm transition-all hover:translate-y-[-1px] hover:shadow-lg hover:shadow-clay/20 text-sm shadow-md shadow-clay/10`,children:[`Start the free 7-day trial `,(0,l.jsx)(a,{className:`w-4 h-4`})]})]})}),(0,l.jsx)(`section`,{className:`bg-bone py-12 md:py-16`,children:(0,l.jsxs)(`div`,{className:`container max-w-3xl`,children:[(0,l.jsx)(`h2`,{className:`font-display text-2xl sm:text-3xl font-bold text-ink tracking-tight mb-8`,children:`List-stacking questions`}),(0,l.jsx)(`div`,{className:`flex flex-col gap-3`,children:p.map((e,t)=>(0,l.jsx)(h,{question:e.q,answer:e.a},t))})]})}),(0,l.jsx)(`script`,{type:`application/ld+json`,dangerouslySetInnerHTML:{__html:JSON.stringify({"@context":`https://schema.org`,"@type":`Article`,headline:`How to Stack Lists in PropStream: Filter-Layering Strategy`,description:`How to stack filters in PropStream to narrow a large lead list down to a short list of likely sellers. The filter-layering technique that works across every lead type.`,author:{"@type":`Organization`,"@id":`https://www.flipproperties.com/#organization`,name:`FlipProperties.com`},publisher:{"@type":`Organization`,"@id":`https://www.flipproperties.com/#organization`,name:`FlipProperties.com`}
1,datePublished:`2026-09-08`,dateModified:`2026-10-03`,image:`https://assets.ls-assets.com/uploads/770d8029-6fea-4858-9200-c09b40c1d737/0416d420-c899-4eb6-a0ba-400ca401acfd.jpg?w=1200`,keywords:`stack lists PropStream, filter stacking, PropStream filters, build real estate list, motivated seller filtering`})}}),(0,l.jsx)(`script`,{type:`application/ld+json`,dangerouslySetInnerHTML:{__html:JSON.stringify({"@context":`https://schema.org`,"@type":`FAQPage`,mainEntity:p.map(e=>({"@type":`Question`,name:e.q,acceptedAnswer:{"@type":`Answer`,text:e.a}}))})}}),(0,l.jsx)(`script`,{type:`application/ld+json`,dangerouslySetInnerHTML:{__html:JSON.stringify({"@context":`https://schema.org`,"@type":`BreadcrumbList`,itemListElement:[{"@type":`ListItem`,position:1,name:`Home`,item:`https://www.flipproperties.com/`},{"@type":`ListItem`,position:2,name:`Learning Center`,item:`https://www.flipproperties.com/learning-center`},{"@type":`ListItem`,position:3,name:`How to Stack Lists`,item:`https://www.flipproperties.com/how-to-stack-lists-in-propstream`}]})}})]})});function h({question:e,answer:t}){let[n,r]=(0,c.useState)(!1);return(0,l.jsxs)(`div`,{className:`border border-ink/5 rounded-sm overflow-hidden transition-colors duration-200 ${n?`bg-card shadow-sm`:`bg-white hover:bg-ink/[0.01]`}`,children:[(0,l.jsxs)(`button`,{onClick:()=>r(!n),className:`w-full flex items-center justify-between gap-4 px-5 py-4 text-left`,children:[(0,l.jsx)(`span`,{className:`font-display text-sm sm:text-base font-semibold text-ink pr-4`,children:e}),(0,l.jsx)(`div`,{className:`flex-shrink-0 w-6 h-6 rounded-full border border-ink/10 flex items-center justify-center transition-all duration-200 ${n?`bg-clay border-clay`:``}`,children:(0,l.jsx)(o,{className:`w-3.5 h-3.5 transition-all duration-300 ${n?`rotate-90 text-bone`:`text-ink/30`}`})})]}),(0,l.jsx)(`div`,{className:`overflow-hidden transition-all duration-300 ${n?`max-h-96`:`max-h-0`}`,children:(0,l.jsx)(`p`,{className:`px-5 pb-5 text-ink/55 text-sm leading-relaxed`,children:t})})]})}export{m as default,d as links,u as meta};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.