Market Mind

Watch an AI agent read the housing market
An active inference agent living in the Colorado Springs housing market. It checks the market every hour. Once a week it updates its belief about the hidden market regime, decides what to look at next, and makes 4-week calls on supply, days on market and close-to-list that it is graded on.
connecting…
Every week the agent scores each policy by its expected free energy and picks the lowest. These are the numbers for the policy it just chose.

The brain, live

What it believes is happening

Why it chose what it did

Its public calls

Belief over time

Surprise (nats)

Scorecard vs. "the trend continues"

Live readings, last 7 days

Checked every hour. Shaded band = the level the reading currently falls in.

What it assumes: P(observation | regime)

About this agent

Why this is not an LLM

There is no language model anywhere in it. No neural network, no training set, no calls to a model provider. The whole agent is a few hundred lines of Python and numpy, and every number on this page comes from Bayes' rule, a few matrix products and the expected free energy formula above.

An LLM can describe a housing market. It has no belief about this one that changes when the market does. This agent has an explicit belief, five numbers that sum to one, revised every week against real indicators. Its whole model is a few small tables you can inspect at /api/model.

It is small enough to audit. Every decision comes with the tables above showing why it chose what it chose, and every call is graded against what the market actually did. It can be wrong in public, and you can see the tally.

What is active inference

Active inference is a theory from neuroscience, developed by Karl Friston, about how living things perceive and act. An organism keeps a generative model of its world and minimizes surprise. Perception does this by updating beliefs to explain what was just observed. Action does it by choosing what to do next so that future observations are informative or preferred.

Here the hidden states are five market regimes, from strong seller's market to correction. The observations are seven market levels and three 4-week trends. The preferences say that being right about a trend is good, being wrong is worse, and sitting on the fence has a small cost. A policy is a choice of which three levels to read next week, plus a call on each trend.

Each policy is scored by its expected free energy: how much it would reduce uncertainty about the regime, and how well its calls are expected to pay off. The lowest score wins. That is why it sometimes reads affordability instead of supply: in that belief state, affordability tells it more.

What it can't do yet

It does not learn yet, on purpose. There is no ground truth for the regime, so an agent that learns online can only learn from its own beliefs. In simulation that made it worse: after a long softening spell it explained a market turn as more "softening" and missed the turn entirely. With learning off, it caught the turn. Learning comes back once its tables are fit and tested on years of historical Colorado Springs data.

Until then its tables are hand-set starting assumptions, and the thresholds for "steady" are provisional. Housing moves slowly, so "the trend continues" is a hard baseline to beat, and the scorecard will say so if it doesn't.

The feed does not yet include year-over-year price change, so that indicator is skipped rather than guessed. It is not financial advice, and it knows nothing about individual neighborhoods, properties or rate news.