agentleFS
DataSift-Ty-PersonalDataSift-Ty-Personal/SiftStack/skills/sift-market-research/SKILL.md

sift-market-research

Skill22 starsChanged 53 days agoMITView on GitHub

Sift Market Finder research for real estate wholesaling with comprehensive market analysis. Use when the user requests market analysis, finding best zip codes for marketing, identifying investor activity hotspots, analyzing wholesaling markets, or creating detailed county-level investment reports. Combines Sift proprietary data with public sources (BLS, Census, Zillow, Redfin, FBI Crime Data) for quantitative data blending.

  • Reads credentials

The file

Show its rules and text

We split this skill into the rules it gives an agent

28 rules. About 0 are common, 26 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈26

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    All tabular data MUST be in Excel spreadsheet format

    line 21
  2. Very specific:

    Use the template at templates/MarketFinderResearchExample.xlsx as the structural guide

    line 22
  3. Distinctive:

    NEVER output raw text files or unformatted data dumps as standalone deliverables

    line 25
  4. Distinctive:

    Use your DataSift account credentials (email and password from app.reisift.io).

    line 39
  5. Distinctive:

    Before starting, detect the execution environment to determine whether automation is available:

    line 45
  6. Distinctive:

    Run the extraction script directly:

    line 53
  7. Distinctive:

    After automated extraction, skip directly to the Excel generation and analysis steps (Step 7).

    line 72
  8. Very specific:

    Follow Steps 2-6 below manually.

    line 76
  9. Distinctive:

    Before analyzing markets, get the national Days on Market baseline from FRED.

    line 91
  10. Distinctive:

    Use this exact value as your national baseline -- do NOT use an estimate

    line 98
  11. Distinctive:

    Check the "I agree to the Terms of Use" checkbox

    line 110
  12. Distinctive:

    Wait for dashboard to load

    line 113
  13. Distinctive:

    Default view shows all US states ranked by investor transactions

    line 126
  14. Distinctive:

    Switch to Neighborhood view: after you have identified your top 5-10 target ZIPs -- this reveals block-level variation within a ZIP

    line 140
  15. Distinctive:

    After selecting a state, the data table shows counties with these columns:

    line 176
  16. Distinctive:

    After selecting a county, the data table shows either ZIP codes or Neighborhoods (toggle between views).

    line 226
  17. Distinctive:

    After the table loads, scroll to the bottom of the visible rows

    line 258
  18. Distinctive:

    Wait 1-2 seconds for the next batch to load (DataSift uses lazy loading / infinite scroll)

    line 259
  19. Distinctive:

    Verify your total row count matches the county's known ZIP code count

    line 261
  20. Distinctive:

    If you see a "Load More" button or similar control, click it and wait for data to load before continuing

    line 262
  21. Distinctive:

    Use EXACT column headers: - Do not rename or abbreviate columns

    line 317
  22. Distinctive:

    Preserve data types: - Keep currency formatting with $ and commas

    line 318
  23. Distinctive:

    Note the sort order: - Default sort is by "TOTAL INV.

    line 320
  24. Distinctive:

    Use Python with openpyxl to create the spreadsheet:

    line 341
  25. Distinctive:

    Use judgment -- these thresholds are guidelines.

    line 483
  26. Distinctive:

    Always conduct independent due diligence before investing

    line 682
  27. Distinctive:

    Star ratings: Use Unicode star characters: ★ (filled) and ☆ (empty)

    line 692
  28. Distinctive:

    Excel Workbook: All quantitative data in properly formatted spreadsheets

    line 755

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Sift Market Research

Automate market research using Sift's Market Finder combined with public data sources to produce comprehensive, actionable market analysis for real estate investors.

Mandatory Output Requirements

All data outputs MUST include a properly formatted Excel spreadsheet (.xlsx). Never use plain text files (.txt) or poorly formatted data dumps.

Output TypeRequired FormatTemplate Reference
Quick ResearchExcel (.xlsx)templates/MarketFinderResearchExample.xlsx
Comprehensive AnalysisExcel (.xlsx) + Markdown ReportUse template structure
Data ExportsExcel (.xlsx)Multi-sheet workbook

Output Rules:

  1. All tabular data MUST be in Excel spreadsheet format
  2. Use the template at templates/MarketFinderResearchExample.xlsx as the structural guide
  3. Include proper column headers, formatting, and multiple worksheets as needed
  4. Pairing a Markdown report with the Excel spreadsheet is encouraged for comprehensive analysis
  5. NEVER output raw text files or unformatted data dumps as standalone deliverables

Acceptable Output Combinations:

  • Excel spreadsheet only (for quick research)
  • Excel spreadsheet + Markdown report (for comprehensive analysis)
  • Excel spreadsheet + PDF summary (when requested)

NOT Acceptable:

  • Text files (.txt) containing data tables
  • Markdown-only outputs with no accompanying spreadsheet
  • Unformatted data dumps

Credentials

Use your DataSift account credentials (email and password from app.reisift.io). Never hardcode credentials in skill files, prompts, or shared documents.

Login URL: https://app.reisift.io/

Execution Mode Detection

Before starting, detect the execution environment to determine whether automation is available:

Check 1: Does scripts/extract_market_finder.py exist in this skill's directory? Check 2: Is Playwright available? Run: python -c "from playwright.sync_api import sync_playwright; print('OK')" Check 3: Are credentials set? Check for DATASIFT_EMAIL and DATASIFT_PASSWORD in .env or environment variables.

Automated Mode (Claude Code CLI — all 3 checks pass)

Run the extraction script directly:

# Single county
python scripts/extract_market_finder.py --state "Tennessee" --county "Knox"

# Multiple counties
python scripts/extract_market_finder.py --state "Tennessee" --county "Knox,Blount"

# Headless mode (no visible browser)
python scripts/extract_market_finder.py --state "Tennessee" --county "Knox" --headless

The script handles login, Market Finder navigation, data extraction (ZIP codes + neighborhoods + summary panel), and outputs a JSON file. Then generate the Excel report:

python scripts/generate_market_excel.py --input output/market_finder_Tennessee_Knox_*.json --fred-dom 71

After automated extraction, skip directly to the Excel generation and analysis steps (Step 7). The JSON output contains all data that Steps 2-6 would produce manually.

Manual Mode (Co-Work or no Playwright — any check fails)

Follow Steps 2-6 below manually. Claude will guide you through the DataSift UI step by step. You can still use scripts/generate_market_excel.py for Excel generation if you format your extracted data as JSON.

Workflow Overview

  1. Determine analysis type (Quick Research vs. Comprehensive Analysis)
  2. Get FRED baseline for Days on Market
  3. Login to Sift and extract Market Map data
  4. For Comprehensive Analysis: gather public data and blend with Market Map data
  5. Generate output (spreadsheet or full market report)

Quick Research? -> Follow Steps 1-7 below for Sift data extraction only Comprehensive Analysis? -> Follow all steps, then see references/ComprehensiveAnalysisFramework.md

Step 1: Get FRED National Baseline

Before analyzing markets, get the national Days on Market baseline from FRED.

CRITICAL: Verify the current value before every analysis.

  1. Navigate to https://fred.stlouisfed.org/series/MEDDAYONMARUS
  2. Record the most recent monthly value displayed on the chart (look at the rightmost data point)
  3. Note the date of the most recent observation (e.g., "Dec 2025: 71 days")
  4. Use this exact value as your national baseline -- do NOT use an estimate

Why this matters: The national median DOM fluctuates monthly (it has ranged from 30 days to 90+ days in recent years). Using a stale estimate produces incorrect market comparisons.

  • Markets 15-20% below the FRED baseline indicate faster-moving markets
  • Markets at or near the baseline are average
  • Markets 50%+ above the baseline are slow-moving

Step 2: Login to Sift

  1. Navigate to https://app.reisift.io/
  2. Enter your DataSift email and password
  3. Check the "I agree to the Terms of Use" checkbox
  4. Click "Sign In" button
  5. Dismiss any notification popups that appear
  6. Wait for dashboard to load

Step 3: Navigate to Market Finder

  1. From dashboard, click "Market Finder" in the left sidebar navigation
  2. The interface shows:
    • Top filters: Select States -> Select Counties -> ZIP Codes/Neighborhoods toggle -> Select ZIP Codes -> Property Type
    • Heat map: Interactive US map with color-coded investor transaction density
    • Legend: Mo. Investor Transactions dropdown (can switch to Homes Sold, Median Sale Price, Homes on Market, Days on Market)
    • Data table: State/County/Zip level data with columns for investor transactions, homes on market, homes sold, days on market, median values
    • Right panel: Summary cards (Median Home Value, Homes on Market, Mo. Investor Transactions, Homes Sold Last Month) plus Home Prices distribution, Homeownership Rate, Market Rent, Gross Rental Yield, Property Types, Bedrooms, Year Built

Navigation Flow:

  • Default view shows all US states ranked by investor transactions
  • Click "Select States" dropdown -> select target state -> view updates to show counties
  • Click "Select Counties" dropdown -> select target county -> view updates to show zip codes
  • ZIP Codes toggle switches between ZIP Codes and Neighborhoods view

ZIP Code vs. Neighborhood View: When to Use Each

ViewBest ForScope
ZIP CodeInitial market screening, broad comparison across a countyEach row = one ZIP code (~15-30 rows per county)
NeighborhoodDeep-dive into a specific ZIP, micro-pocket analysisEach row = one neighborhood within the selected area

Decision guide:

  • Start with ZIP Code view to identify which ZIP codes have the most investor activity, fastest DOM, and best price points
  • Switch to Neighborhood view after you have identified your top 5-10 target ZIPs -- this reveals block-level variation within a ZIP
  • Neighborhood view is especially useful for comp analysis (finding which sub-areas within a ZIP have the tightest spreads)
  • Some ZIP codes contain neighborhoods with vastly different investor activity levels -- the neighborhood view exposes this

Step 4: State-Level Analysis

The default view shows states sorted by "Total Inv. Trans. for 6 Mo." (investor transactions).

Top States by Investor Activity (as of Jan 2026):

State6-Mo Investor TransDays on MarketNotes
Texas41,70965Highest activity
Florida27,13173At FRED baseline
California15,61341Fast market
Georgia12,29959Below baseline
North Carolina11,86960Below baseline
Ohio11,31145Fast market
Tennessee6,83062Below baseline

Green Light Criteria:

  • Days on Market at or 15-20% below FRED baseline
  • 500+ investor transactions in 6 months
  • Reasonable inventory levels

Red Flags:

  • Days on Market 50%+ above national average
  • Less than 10 investor transactions in 6 months

To analyze a state:

  1. Click the "Select States" dropdown
  2. Select your target state from the alphabetical list
  3. The map zooms to show county-level data
  4. Data table updates to show counties ranked by investor transactions

Step 5: County-Level Analysis

After selecting a state, the data table shows counties with these columns:

  • County: County name
  • Total Inv. Trans. for 6 Mo.: 6-month investor transaction count
  • Homes on Market: Current inventory
  • Homes Sold Last Month: Recent sales volume
  • Median Days on Market: Average time to sell
  • Median Home Value: Current values
  • Median Sale Price: Recent sale prices

Example - Tennessee Counties:

County6-Mo Inv TransHomes on MarketHomes SoldDays on Market
Shelby (Memphis)1,3064,200+93758
Davidson (Nashville)6834,17285359
Knox (Knoxville)4622,700+66857
Hamilton (Chattanooga)4492,800+53856

Evaluation Criteria:

MetricIdeal RangeNotes
6-Month Investor Transactions50+Indicates active market
Monthly Investor Transactions10+Minimum for wholesaling
Days on MarketBelow state avgFaster-moving
Supply (Months of Inventory)3-6 monthsBalanced market

Calculate Supply (Months of Inventory):

Supply = Homes on Market / Homes Sold Last Month

Formula explained: This tells you how many months it would take to sell all current inventory at the current sales pace. It is the single most important indicator of whether you are in a buyer's or seller's market.

Supply RangeMarket TypeWhat It Means for Investors
Under 3 monthsSeller's marketPrices rising, homes sell fast, harder to negotiate, strong buyer demand for wholesale deals
3-6 monthsBalanced marketHealthy conditions, reasonable negotiation room, good for both wholesale and flip
Over 6 monthsBuyer's marketPrices declining, homes sit longer, more motivated sellers, but fewer end buyers for assignments

Example calculation:

  • Knox County: 2,700 homes on market / 668 homes sold last month = 4.0 months (balanced market)

To drill down to zip codes:

  1. Click the "Select Counties" dropdown
  2. Select your target county (format: "County Name STATE")
  3. The map zooms to show zip code boundaries
  4. Data table updates to show zip codes ranked by investor transactions

Step 6: Zip Code & Neighborhood Data Extraction

After selecting a county, the data table shows either ZIP codes or Neighborhoods (toggle between views).

CRITICAL: Exact Table Column Headers

The Market Finder displays data with these exact column headers. Always capture data using these literal column names:

ZIP Code View Columns (in order):

Column PositionExact HeaderData Type
1ZIP CODE5-digit string
2TOTAL INV. TRANS. FOR 6 MO.Integer
3HOMES ON MARKETInteger
4HOMES SOLD LAST MONTHInteger
5MEDIAN DAYS ON MARKETInteger
6MEDIAN HOME VALUECurrency (e.g., $304,569)
7MEDIAN SALE PRICECurrency (e.g., $266,500)

Neighborhood View Columns (in order):

Column PositionExact HeaderData Type
1NEIGHBORHOODString
2TOTAL INV. TRANS. FOR 6 MO.Integer
3HOMES ON MARKETInteger
4HOMES SOLD LAST MONTHInteger
5MEDIAN DAYS ON MARKETInteger
6MEDIAN HOME VALUECurrency (e.g., $270,060)
7MEDIAN SALE PRICECurrency (e.g., $197,248)

Pagination and Large Data Sets

IMPORTANT: Some markets have 100+ ZIP codes. The data table may not display all rows at once.

  1. After the table loads, scroll to the bottom of the visible rows
  2. Wait 1-2 seconds for the next batch to load (DataSift uses lazy loading / infinite scroll)
  3. Continue scrolling until no new rows appear
  4. Verify your total row count matches the county's known ZIP code count
  5. If you see a "Load More" button or similar control, click it and wait for data to load before continuing

How to verify completeness: The right panel's summary statistics (e.g., "Mo. Investor Transactions: 53") should roughly correspond to the sum of the per-ZIP values in your extracted table. Large discrepancies indicate missing rows.

Reference Data: Knox County, TN ZIP Codes

This is the exact data as displayed in Sift Market Finder for Knox County, TN (ZIP Code view). Use this as a reference for data accuracy validation:

ZIP CODETOTAL INV. TRANS. FOR 6 MO.HOMES ON MARKETHOMES SOLD LAST MONTHMEDIAN DAYS ON MARKETMEDIAN HOME VALUEMEDIAN SALE PRICE
37920712926654$304,569$266,500
37917381803855$266,623$264,915
37918382798159$331,421$311,718
37914371953359$254,429$193,350
37919351592864$525,535$586,018
37921351763957$278,046$238,554
37912271293453$291,548$256,222
37922211904155$624,664$621,343
37924201063464$317,819$309,371
37931191864161$426,350$423,488
37849161103062$364,350$351,737
37923151112548$405,088$397,413
37934131714261$645,482$625,500
37938131233257$379,853$370,062
37932101632768$521,476$533,745
379029115107$597,539$5,266,704
379099491659$383,403$387,466

Reference Data: Knox County, TN Neighborhoods

This is the exact data as displayed in Sift Market Finder for Knox County, TN (Neighborhood view). Use this as a reference for data accuracy validation:

NEIGHBORHOODTOTAL INV. TRANS. FOR 6 MO.HOMES ON MARKETHOMES SOLD LAST MONTHMEDIAN DAYS ON MARKETMEDIAN HOME VALUEMEDIAN SALE PRICE
Colonial Village - Knoxville24381553$270,060$197,248
John Sevier12452274$307,627$274,762
Burlington - Knoxville11381068$204,971$183,450
Windsor Park - Knoxville11271859$258,505$212,555
Cherokee Ridge10421351$321,044$267,514
Vestal1034350$235,007$185,166
Island Home920951$252,572$291,343
Old City - Knoxville921592$599,649$4,658,938
Chilhowee Hills939666$219,135$158,427
Berkshire Wood9361249$431,075$399,082
Inskip827874$251,175$247,950
Harbison Crossroads8501187$314,404$294,696
Sequoyah Hills727474$769,508$693,336
Marble City - Knoxville713354$211,393$166,932
Westlyn727571$488,870$818,718
Lonsdale - Knoxville725240$210,157$138,435
Lakemoor Hills621543$419,762$384,169

Data Extraction Rules

  1. Capture ALL visible rows - Scroll through the entire table to capture all data (see Pagination section above)
  2. Use EXACT column headers - Do not rename or abbreviate columns
  3. Preserve data types - Keep currency formatting with $ and commas
  4. Capture BOTH views - Extract ZIP Code AND Neighborhood data when available
  5. Note the sort order - Default sort is by "TOTAL INV. TRANS. FOR 6 MO." descending

Right Panel Summary Data

Also capture the summary cards from the right panel:

  • Median Home Value: e.g., $364.4K
  • Homes on Market: e.g., 2.8K
  • Mo. Investor Transactions: e.g., 53
  • Homes Sold Last Month: e.g., 668
  • Market Rent: e.g., $2,107/mo
  • Gross Rental Yield: e.g., 7.07%

Property Characteristics Button: Click "Calculate recommended property characteristics" button to get AI-recommended property filters for the selected area.

Step 7: Create Excel Spreadsheet Output

ALWAYS create an Excel workbook (.xlsx) with 7 properly formatted worksheets.

The output spreadsheet should be a complete, self-contained market report that an investor can open and immediately understand the opportunity. The 7-sheet structure mirrors a professional research deliverable: start with the executive summary for quick decision-making, then let the reader drill into ZIP/neighborhood data, economic fundamentals, safety, and actionable recommendations.

Use Python with openpyxl to create the spreadsheet:

import openpyxl
from openpyxl.styles import Font, Alignment, Border, Side, PatternFill
from datetime import datetime

wb = openpyxl.Workbook()

# Style definitions
header_font = Font(bold=True, color="FFFFFF")
header_fill = PatternFill(start_color="4472C4", end_color="4472C4", fill_type="solid")
border = Border(
    left=Side(style='thin'),
    right=Side(style='thin'),
    top=Side(style='thin'),
    bottom=Side(style='thin')
)

Conditional Formatting Rules

Apply these color fills to data cells throughout the workbook (Sheets 2, 3, and 6 especially) for instant visual scanning:

ConditionFill ColorApplies To
DOM below FRED national averageGreen (#C6EFCE)Median DOM cells
DOM within 15% of FRED nationalYellow (#FFEB9C)Median DOM cells
DOM above 15% of FRED nationalRed (#FFC7CE)Median DOM cells
500+ investor transactions (6 mo)Green (#C6EFCE)Inv Trans cells
100-499 investor transactions (6 mo)Yellow (#FFEB9C)Inv Trans cells
Under 100 investor transactions (6 mo)Red (#FFC7CE)Inv Trans cells
Supply under 3 monthsGreen (#C6EFCE)Supply Months cells
Supply 3-6 monthsYellow (#FFEB9C)Supply Months cells
Supply over 6 monthsRed (#FFC7CE)Supply Months cells
Tier 1 zip code (10+ monthly inv trans)Bold textEntire row
Negative spread %Green (#C6EFCE)Spread % cells (buyer negotiation opportunity)

Required Worksheets (7 Sheets)

The workbook must contain exactly these 7 sheets, in this order. Each sheet serves a distinct purpose in telling the market story.


Sheet 1: Executive Summary

This is the first thing the investor sees. It should answer: "Is this market worth my time, and where specifically should I focus?" in under 60 seconds of reading.

Structure:

Row 1: Report title -- [COUNTY], [STATE] - MARKET RESEARCH REPORT (merged across columns A-E) Row 2: Generation date Row 3: Data source attribution -- Data Source: REI Sift Market Finder + Public Data Sources

Section A: County Overview (starts row 5) A table with columns: Metric | Value | Notes

Include these metrics (pulled from Sift right panel + public sources):

MetricSourceNotes Column Example
Population (latest year)Census+X.X% since 2020
Median Home ValueSiftREI Sift data
Median Household IncomeCensus ACSCensus ACS
Unemployment RateBLSBLS [Month Year]
Homes on MarketSiftREI Sift data
Monthly Investor TransactionsSift6-month average
Homes Sold Last MonthSiftREI Sift data
Market RentSiftREI Sift data
Gross Rental YieldSiftREI Sift data
Homeownership RateCensus/SiftRenters: XX.X%
Months of SupplyCalculatedHomes on Market / Homes Sold
National Days on MarketFREDFRED [Month Year] value

Section B: Market Assessment (starts ~row 19) A qualitative ratings table with columns: Category | Rating | Commentary

Rate each category using the criteria defined below:

CategoryHIGH RatingMODERATE RatingLOW Rating
Investor Activity500+ investor transactions in 6 months100-500 investor transactions in 6 monthsUnder 100 investor transactions in 6 months
Market VelocityDOM below FRED national averageDOM within 15% of FRED national averageDOM 50%+ above FRED national average
Supply TightnessUnder 4 months of inventory4-6 months of inventoryOver 6 months of inventory

Additional assessment categories (use STRONG/STABLE/IMPROVING/DECLINING as appropriate):

CategoryWhat to assess
Price AppreciationYoY price trend from Redfin
Population GrowthCensus growth rate and migration patterns
EmploymentUnemployment rate, job growth
Crime TrendDirection of crime stats (improving/worsening)

The commentary column should be a brief, specific explanation -- not generic filler. For example: 53 monthly transactions, strong wholesaling market rather than Good activity level.

Section C: Top 5 ZIP Codes for Wholesaling (starts ~row 28) Columns: Rank | ZIP Code | 6-Mo Inv Trans | Median Home Value | Days on Market

Pull the top 5 ZIPs sorted by investor transactions.

Section D: Top 5 Neighborhoods for Wholesaling (starts ~row 36) Columns: Rank | Neighborhood | 6-Mo Inv Trans | Median Home Value | Days on Market

Pull the top 5 neighborhoods sorted by investor transactions.


Sheet 2: ZIP Code Analysis

This is the deep-dive data sheet. Every ZIP code in the county gets a row, sorted by investor transactions descending. The calculated columns (DOM vs National, Spread %, Supply Months, Wholesaling Score) are what turn raw Sift data into actionable intelligence.

Columns (in order):

ColHeaderSourceDescription
AZIP CodeSift5-digit ZIP
B6-Mo Inv TransSiftTotal investor transactions for 6 months
CHomes on MarketSiftCurrent inventory
DHomes Sold/MoSiftHomes sold last month
EMedian DOMSiftMedian days on market
FDOM vs NationalCalculated= Median DOM - FRED baseline (negative = faster than national)
GMedian Home ValueSiftCurrency formatted
HMedian Sale PriceSiftCurrency formatted
ISpread %Calculated= (Median Sale Price - Median Home Value) / Median Home Value -- shows the gap between list and sale prices. Negative spread = buyers negotiating below list (opportunity). Large positive spread = competitive/premium market.
JSupply MonthsCalculated= Homes on Market / Homes Sold/Mo -- months of inventory at current sales pace (see formula and interpretation in Step 5)
KWholesaling ScoreCalculatedStar rating (see scoring methodology below)

Wholesaling Score Methodology:

The star rating is a composite score that answers: "How attractive is this ZIP code for a wholesaler?" It weighs three factors:

  1. Investor Activity (primary signal) -- Higher 6-month investor transactions = more proven buyer demand
  2. Market Velocity (secondary) -- DOM below national average = properties move quickly, reducing hold risk
  3. Price Accessibility (tertiary) -- Lower median home values = smaller capital requirements and broader buyer pool

Scoring rubric:

ScoreCriteriaAll 3 Must Be True Unless Noted
★★★★★30+ inv trans AND DOM 15+ days below FRED national AND median value under $350KAll 3 required
★★★★☆20+ inv trans AND DOM below FRED national AND median value under $400KAll 3 required. Also award for 30+ trans with higher prices (volume overrides price).
★★★☆☆10+ inv trans AND DOM near or below FRED nationalMeets 2 of 3 criteria solidly
★★☆☆☆Some investor activity but higher prices, slower DOM, or limited volumeMeets 1 of 3 criteria
★☆☆☆☆Low activity, DOM above FRED national, or anomalous data (e.g., very high sale price outliers)Meets 0 criteria or data unreliable

Use judgment -- these thresholds are guidelines. A ZIP with 35 investor transactions but $600K+ median values might be ★★★☆☆ because the price point limits the wholesale buyer pool, even though volume is strong.

Formatting notes:

  • Spread % should show sign: -12.5% or +11.5%
  • DOM vs National should show sign: -19 or +34
  • Supply Months to 1 decimal: 4.4
  • Star ratings as text: ★★★★★, ★★★★☆, etc.
  • Apply conditional formatting per the rules table above

Sheet 3: Neighborhood Analysis

Identical structure to Sheet 2, but for neighborhoods instead of ZIP codes. Same columns, same calculated fields, same scoring methodology.

ColHeader
ANeighborhood
B6-Mo Inv Trans
CHomes on Market
DHomes Sold/Mo
EMedian DOM
FDOM vs National
GMedian Home Value
HMedian Sale Price
ISpread %
JSupply Months
KWholesaling Score

Include ALL neighborhoods from Sift (typically 20-30 rows), sorted by investor transactions descending.


Sheet 4: Economic Indicators

This sheet provides the macroeconomic context that explains WHY the market behaves as it does. An investor needs to know: Is the local economy healthy? Are jobs growing? Is the population stable or growing?

Organize into 3 sections:

Section A: Employment Data (BLS) Pull from BLS (bls.gov/eag) for the county's MSA: Columns: Metric | Value | Trend

MetricExample
Civilian Labor Force468,800
Employment453,100
Unemployment15,700
Unemployment Rate3.4%
Total Nonfarm Jobs463,600

Employment by Sector sub-table: Columns: Sector | Jobs (000s) | 12-Mo Change

List all major BLS sectors (Education & Health, Trade/Transport/Utilities, Professional Services, Government, Leisure & Hospitality, Manufacturing, Financial Activities, Mining/Logging/Construction, Other Services, Information). Include the 12-month percentage change for each.

Section B: Demographic Data (Census) Columns: Metric | Value | Notes

Pull from Census QuickFacts (census.gov/quickfacts):

MetricNotes
Population (latest)Include growth since 2020
Population Growth RateAnnual rate
Median Age
Median Household IncomeCompare to national
Per Capita Income
Poverty Rate
Bachelor's Degree or HigherEducation level indicator
Owner-Occupied Housing
Median Home Value (Census)Note: ACS multi-year estimate

Section C: Housing Market (Redfin) Columns: Metric | Value | YoY Change

Pull from Redfin county page:

MetricInclude
Median Sale PriceYoY change
Median Price/Sq FtYoY change
Homes SoldYoY change
Median Days on MarketYoY change
Sale-to-List PriceYoY change (as percentage points)
Homes Above List PriceYoY change (as percentage points)
Homes with Price DropsYoY change (as percentage points)

Sheet 5: Crime & Safety

Crime data matters for investors because it directly impacts property values, insurance costs, and buyer pool. This sheet should make clear: Is the area getting safer or more dangerous? Which specific areas are higher risk?

Section A: Crime Statistics Columns: Crime Type | Prior Year | Current Year | Change

Pull from local police department or FBI UCR data. Include:

  • Murders
  • Non-Fatal Shootings
  • Robberies
  • Motor Vehicle Thefts
  • Car Burglaries
  • Aggravated Assaults

Format the Change column as percentage: -26%, +2%

Section B: Historical Murder Trend Columns: Year | Murders | Notes

Show 3-4 years of trend data. Murders are the most reliable crime stat (hardest to reclassify) and the strongest signal of neighborhood safety trajectory.

Section C: Safety Assessment by Area Columns: Area | Safety Rating | Notes

Rate major sub-areas within the county (e.g., West Knoxville, North Knoxville, East Knoxville, Downtown, suburban areas) as High, Moderate, or Lower. Include brief context like Lower crime, higher home values or Higher crime, but improving.

Section D: Key Insights for Investors Bullet-point rows (single column, merged) with 4-5 actionable observations connecting crime data to investment decisions. Examples:

  • Overall crime trending down significantly - positive for property values
  • East Knoxville has higher crime but also higher investor activity
  • Consider crime trends when evaluating neighborhood investments

Sheet 6: Investment Recommendations

This is the action sheet -- it translates all the data into specific, prioritized recommendations. An investor should be able to read this sheet alone and know exactly where to focus their marketing.

Section A: Tier 1 - Highest Priority ZIP Codes Columns: ZIP Code | Inv Trans | Median Value | DOM | Supply Months | Rationale

Include 4-6 top ZIPs. The Rationale column should be a concise sentence explaining WHY this ZIP is Tier 1: Highest activity, below-avg DOM, moderate prices

Section B: Tier 1 - Highest Priority Neighborhoods Columns: Neighborhood | Inv Trans | Median Value | DOM | Supply Months | Rationale

Include 4-6 top neighborhoods with specific rationale for each.

Section C: Tier 2 - Secondary Opportunities Columns: ZIP Code | Inv Trans | Median Value | DOM | Supply Months | Rationale

Include 3-5 ZIPs that have merit but with caveats (higher prices, slower DOM, etc.).

Section D: Market Timing Considerations Columns: Factor | Current Status | Implication

This helps investors understand whether NOW is a good time to enter the market:

FactorExample StatusExample Implication
Price Trend-2.9% YoYBuyer's market, negotiate harder
Inventory+9.7% sales volumeMore deals available
Days on Market63 days (below national)Market still moving
Competition18.6% above listLess bidding wars than peak
Price Drops19.3% with reductionsMotivated sellers exist

Section E: Recommended Strategy Numbered rows (single column) with 5-7 specific, actionable steps. These should reference specific ZIP codes, neighborhoods, price ranges, and DOM thresholds from the data. Example:

  1. Focus marketing on 37920, 37914, 37917, 37921 ZIP codes
  2. Target Colonial Village, Lonsdale, Vestal neighborhoods
  3. Look for properties with 60+ DOM for motivated sellers
  4. Target homes in $200K-$350K range for best wholesale margins

Sheet 7: Data Sources

Transparency matters. This sheet lets the investor (or their team) verify any number in the report and understand the methodology behind calculated fields.

Section A: Primary Data Sources Columns: Source | Data Type | Date Retrieved | URL/Notes

List every source used:

SourceData Type
REI Sift Market FinderInvestor transactions, home values, DOM
FRED (St. Louis Fed)National Days on Market baseline
U.S. Census BureauDemographics, population, income
Bureau of Labor StatisticsEmployment, unemployment
RedfinHousing market trends, prices
Local Police DepartmentCrime statistics
Local Chamber of CommerceMajor employers (if referenced)

Section B: Methodology Columns: Analysis Component | Description

Explain each calculated field:

ComponentDescription
Wholesaling ScoreComposite of investor transactions (primary), DOM vs national (secondary), price accessibility (tertiary)
DOM vs NationalComparison to FRED national median -- state the exact FRED value and observation date used
Price Spread(Median Sale Price - Median Home Value) / Median Home Value
Supply MonthsHomes on Market / Homes Sold Last Month -- under 3 = seller's market, 3-6 = balanced, over 6 = buyer's market
Tier ClassificationBased on investor activity volume and market fundamentals

Section C: Disclaimers Bullet-point rows with standard disclaimers:

  • Data is current as of retrieval date and subject to change
  • REI Sift data represents proprietary investor transaction tracking
  • Crime statistics may be preliminary and pending audit
  • Investment recommendations are for informational purposes only
  • Always conduct independent due diligence before investing

Formatting Requirements

  1. Headers: Bold, white text on blue background (#4472C4)
  2. Section headers: Bold, larger font, merged across columns where appropriate
  3. Borders: Thin borders on all data cells
  4. Number Formatting: Currency for prices ($XXX,XXX), 1 decimal for calculations, percentages with sign
  5. Column Widths: Auto-fit to content (minimum 12 for data columns, wider for text)
  6. Freeze Panes: Freeze header row on data-heavy sheets (Sheets 2, 3, 4)
  7. Star ratings: Use Unicode star characters: ★ (filled) and ☆ (empty)
  8. Conditional formatting: Apply the color rules from the Conditional Formatting Rules table above

Zip Code Scoring Weights (Source Code Reference)

These weights are used in the SiftStack market_analyzer.py scoring engine. They are verified against source code and should not be modified without updating the codebase.

FactorWeightDirectionRationale
Distress Density30%Higher = betterForeclosure/tax sale/probate count per ZIP -- more distress = more motivated sellers
Median Value20%Lower = betterLower-value properties have broader buyer pools for wholesale assignments
Equity15%Higher = betterHigher average equity = more room for deals and negotiation
Tax Delinquency15%Higher = betterMore delinquency = more financial distress = more motivated sellers
Competition10%Lower = betterLower investor activity = less competition for deals
Days on Market10%Higher = betterHigher DOM = more negotiating leverage and motivated sellers

Grade thresholds (from normalized 0-100 composite score):

  • A: Score >= 75
  • B: Score >= 55
  • C: Score >= 35
  • D: Score < 35

Decision Framework

Zip Code Selection Criteria

Tier 1 (Best):

  • 10+ monthly investor transactions
  • Supply 3-6 months
  • Days on Market below national average

Tier 2 (Good):

  • 5-10 monthly investor transactions
  • Supply 2-7 months
  • Days on Market near national average

Tier 3 (Requires Closing Ability):

  • Under 5 monthly investor transactions
  • Uncontested but requires flip/whole-tail capability

How Many Zip Codes to Target

Monthly Deal GoalRecommended Zip Codes
1-2 deals5-10 zip codes
3-5 deals10-15 zip codes
5+ deals15-20 zip codes

Output Filename Convention

Required format: [County]_[State]_Market_Research.xlsx

Examples:

  • Knox_County_TN_Market_Research.xlsx
  • Shelby_County_TN_Market_Research.xlsx
  • Fulton_County_GA_Market_Research.xlsx

Comprehensive Market Analysis

For detailed county-level analysis that blends Sift data with public sources, see:

  • references/ComprehensiveAnalysisFramework.md - Full analysis structure and methodology

This framework produces:

  • Excel Workbook: All quantitative data in properly formatted spreadsheets
  • Markdown Report: Narrative analysis covering 12 core indicator categories

Comprehensive Analysis Output Structure:

DeliverableFormatContents
Data WorkbookExcel (.xlsx)County data, Zip code data, Top 25 analysis, Public data blend
Analysis ReportMarkdown (.md)Narrative analysis, recommendations, outlook

Public Data Sources to Incorporate:

SourceData Points
BLSEmployment, unemployment, wages
Census BureauDemographics, population trends, migration
Realtor.com, Zillow, RedfinHome prices, days on market, inventory
FBI Crime DataCrime rates by ZIP code
Local GovernmentTax rates, zoning, regulations

Reference Files

  • references/ComprehensiveAnalysisFramework.md - Detailed analysis structure for blending quantitative data
  • references/MarketAnalysisPrompt.pdf - Original methodology document
  • references/MarketFinderNavigationAndAnalysisSOP.pdf - Detailed SOP with screenshots
  • templates/MarketFinderResearchExample.xlsx - Example output format (use as structural template for spreadsheet outputs)

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.