Direct Answer
How does the Market Analyst Agent generate comps, trends, and risk scoring?
The agent reads a single Supabase market-intelligence view — comps, submarket trends, vacancy, rent growth, cap-rate distributions — and produces a complete intelligence brief per listing: top-five comps with similarity scores, three trend deltas, a 100-point risk score with five sub-scores, and a recommended ask. The whole brief renders in under 30 seconds because the join lives in Postgres, not in an analyst’s head.

A market analyst at a mid-market brokerage spends 60–70% of their week pulling comps, building trend charts, and writing risk memos that, by the time they hit the broker’s desk, are already a week behind the market. The work is necessary. The cadence is broken. The fix is not a faster analyst — it is a Supabase view, an agent, and a renderer.

The Market Intelligence Bottleneck

Every CRE listing needs intelligence: comps, submarket trends, risk profile, recommended ask. Every brokerage produces it the same way — an analyst pulls CoStar, exports to Excel, joins to property tax data, calls a colleague to ask about a rumored lease, opens five tabs, builds a memo. Three days later the broker has a one-page summary that is already stale.

The bottleneck is not the analyst. It is the lack of a single source view. Every input — comp data, submarket trends, tax records, vacancy reports — lives in a different system. The analyst’s job is reduced to a glorified ETL. The Market Analyst Agent collapses that ETL into one Supabase view (market_intelligence_view) and lets the agent read it.

The bottleneck is not the analyst. It is the lack of a single source view. Everything else is an artifact of that one structural failure.

Tommy Saunders · Founder, Windfield Real Estate

The Market Analyst Agent — Architecture

The agent is one process with three reads and three writes. It reads listings, comps_v, and submarket_trends_v. It writes to listing_intelligence, risk_scores, and pricing_recommendations. Every read is a Supabase materialized view; every write is an idempotent upsert keyed by listing ID. The agent is stateless. The data layer is the state.

Stateless agents are auditable. A broker can ask “why did this listing get a 72 risk score?” and the agent can re-render the brief from the data — same view, same weights, same number. If the data has changed since the original render, the new number explains itself. There is no oracle. There is a view, a formula, and an output.

Why a Supabase view, not a custom database

Because the comp table and the trend table are already in Postgres. Building a separate intelligence database means two write-paths, two backup strategies, and two opportunities for the views to disagree with the source. A materialized view in the same schema is one write-path, one backup, one source of truth.

Comparable Property Analysis

The comp module is the agent’s first read. It queries comps_v for transactions matching the listing’s submarket within a configurable radius and time window, then ranks the results by similarity score — a weighted composite of asset class, square footage band, year-built bracket, and use-type match. The top five are surfaced. Everything else is filed but not rendered.

Figure 01 · Top-5 Comp TableSubject: 4220 Vandiver Plaza
AddressClassSFPPSFCapDateSimilarity
2140 Linden RidgeOffice · B42,500$1846.8%Mar 2694
880 Sutter ParkOffice · B38,200$1787.1%Feb 2691
4400 Greer TowerOffice · B+45,800$1926.4%Jan 2688
112 Marlowe CourtOffice · B36,900$1717.4%Dec 2579
2900 Halsey PointeOffice · B-41,200$1627.8%Nov 2572
Similarity score is a weighted composite of class match (35%), SF band (25%), year-built bracket (20%), use-type (15%), and tenancy profile (5%). Anything below a 70 is filed but not surfaced. The broker reviews five comps, not thirty.

Surfacing five rather than thirty is the entire point. A broker reading a comp memo wants signal, not exhaust. The agent’s job is to do the filtering at query time so the broker’s job is recognition, not extraction.

Trends are the second read. The agent queries submarket_trends_v for the listing’s submarket and pulls three rolling-window series: vacancy rate (8-quarter), rent growth (8-quarter), and absorption (8-quarter). Each series is rendered as a sparkline-style bar block with a delta call-out so the broker sees the direction in two seconds.

Figure 02 · 8-Quarter Submarket Trends
Q1'24 → Q1'26
Vacancy Rate
−42%
Avg PPSF Rent
+18%
Net Absorption
+34%

Three deltas — vacancy down 42%, rent up 18%, absorption up 34% — tell the broker the submarket is tightening. The agent does not editorialize. It surfaces the numbers and leaves the read to the human. That is the discipline of a useful intelligence brief: the agent does the join, the broker does the judgment.

Risk and Opportunity Scoring

The risk score is the agent’s headline number. It is a weighted composite of five sub-scores: submarket vacancy trend (25%), rent-growth delta (20%), tenant credit profile (20%), asset age (15%), and capital-needs forecast (20%). Each sub-score is normalized to 0–100. The composite is presented as one number with the five inputs exposed so an analyst can audit which dimension drove it.

78
Composite · 0–100
Risk & Opportunity Score
Healthy submarket. Moderate capital needs. Strong rent-growth tailwind.
Grade A−
Vacancy Trend
86
Rent Growth
82
Tenant Credit
74
Asset Age
62
Capital Needs
68

The score is a recommendation, not a verdict. The broker still asks “is asset age dragging the headline number because the building is older or because the cap-needs forecast is conservative?” The agent surfaces the answer because both sub-scores are exposed.

Pricing Recommendations

After the comp analysis and the risk score are computed, the agent reads the asset’s target return, the comp PPSF distribution, and the risk-adjusted cap rate, and produces a recommended ask, a recommended floor, and a confidence band. The output is a one-line recommendation with a sentence of context — never a multi-page memo. The broker makes the decision; the agent provides the math.

$188
Recommended Ask
$174
Recommended Floor
±4%
Confidence Band

Recommended ask of $188/SF sits one standard deviation above the comp median, justified by the submarket’s 18% rent-growth tailwind. Recommended floor of $174/SF sits at the comp median, the price below which the deal stops working at the target IRR. The confidence band is narrow because the comp set is deep — five high-similarity transactions in the last 18 months. When the comp set is thin, the band widens automatically.

What used to be a three-day analyst memo is now a 30-second brief, refreshed every time the underlying view updates. The broker no longer chases stale numbers. The analyst no longer wastes a week per listing. The intelligence sits on the listing record, current to the last write of the materialized view, ready for the next conversation.

Frequently Asked Questions

5 Questions
An AI agent that reads a Supabase market-intelligence view and produces submarket overviews, comparable property analysis, trend deltas, and a 100-point risk score for every CRE listing — in under 30 seconds per asset. It replaces the analyst-week that mid-market brokerages spend pulling comps by hand.
The agent reads asset class, location, square footage, year built, and use type, then queries the comp table for transactions matching the same submarket within a configurable radius and time window. It ranks comps by similarity score (0–100) and surfaces the top five with PPSF, cap rate, lease terms, and a one-line note on why each comp is or is not a clean match.
A weighted composite of submarket vacancy trend, rent-growth delta, tenant credit profile, asset age, and capital-needs forecast. The agent renders the score on a 100-point scale and exposes the five sub-scores so an analyst can audit which dimension dragged the headline number.
Because the comp table, the submarket trend view, and the risk weights all live in one Supabase schema. The agent runs a single SQL query against a materialized view, joins five tables, and writes the result back to the listing record. A human analyst doing the same work opens five tabs and copies data between them — and then has to redo it when the underlying data changes.
Yes. After the comp analysis and risk score are computed, the agent reads the asset’s target return, the comp PPSF distribution, and the risk-adjusted cap rate, then produces a recommended ask, a recommended floor, and a confidence band. The output is a recommendation, not a decision — the broker still signs off.
About the author
TS
Tommy Saunders
Founder, Windfield Real Estate
Building the AI-native content operations system for business operators who need predictable output, not AI experiments.