The evidence base
Where Guru's numbers come from
Anyone can ask an AI to guess a price. Guru's estimates are anchored to official statistics, registered sales and over a decade of archived market history, and every figure in a report names its source.
Platform coverage figures, updated continuously.
Official statistics: the growth backbone
Statistics South Africa publishes the Residential Property Price Index, the country's official measure of house-price movement, monthly since 2010, for the nation, all nine provinces and the eight metros. Guru ingests it every month and uses it as the shape of growth for your area: when a report shows a 12-month trend or a long-range growth curve, the slope comes from the official index, not from an AI's impression of the market.
Registered sales, not just asking prices
Asking prices tell you what sellers hope for. For recent years Guru also works from registered average sale prices and sales volumes per suburb: what homes actually changed hands for, and how many did. That's also how a report can tell you a suburb's real sale-vs-asking gap ("homes here sold 4% above asking last year") and its months-of-inventory at the suburb's true sales pace.
The archives: suburb history with receipts
Portal pages from the early 2010s still exist in public web archives, and many carry the suburb price statistics of their day. Guru harvests roughly one snapshot per year per suburb and turns them into real historical anchors: what your suburb averaged in 2013 is a recorded figure, not a back-projection. On the growth chart, every historical anchor names the source it came from and links to the archived page it was read off, so you can check the receipt yourself.
A market pool that compounds
Every scan feeds an anonymised market pool: listing observations, price cuts we caught, verdicts we issued and how they ranked in their suburb. Owners who tell us what they paid (and when) add ground-truth growth anchors, though a single unverified report never shapes a curve: it takes several owners corroborating a period before Guru trusts it. The result is a dataset that gets sharper with every report, in every suburb we touch.
Live supply, straight from the portal
Property24's own search pages state how many listings match a filter, and they accept price filters. Guru probes those totals band by band, so the Price Shelves widget can tell you how many homes compete on your shelf right now rather than estimating it. There is no AI in that number, and one probe run is shared by every scan in the suburb. When the filtered probes fail, the shape falls back to our own pool scaled to the page's stated total and the widget says so; with no total at all the widget does not render.
Inflation, so growth means something
A suburb up 30% over a decade has not necessarily made anyone richer. Guru ingests Statistics South Africa's Consumer Price Index alongside the house-price index and uses it to deflate long-range growth, so where a report talks about a real move it means after inflation, not before it.
What is actually around the property
The Local Life section names real places with real distances: schools, healthcare, shopping, gyms and the nearest police station, read from the mapping provider rather than written by a model. If the provider is unavailable the section steps aside rather than filling itself with plausible names.
Not all evidence is equal
Two comparable sales can point at the same number and still deserve very different trust. So Guru does not treat its evidence as one pile. Every possible way of arriving at a value is scored on how directly it measures your property, then multiplied by how much evidence actually stands behind it, and the strongest surviving route wins. Roughly strongest to weakest:
- Like-for-like rate. The median price per m² of genuine comparables, applied to your property's own floor area.
- Land rate. The same idea on erf size, used when floor area is unknown. Weaker, because two houses on identical plots can differ by a hundred square metres under roof.
- Comparable median. The middle comparable price, size-adjusted.
- Suburb rate. The area's average price per m² from our pool.
- Registered average. The suburb's average recorded sale price.
- Area average. A raw suburb average, the last resort.
It is a score rather than a queue on purpose: ranked by method alone, a single comparable's rate could outvote a suburb rate built on twelve. Three rules run underneath it, and each one throws evidence away rather than dilute the answer. A flat is never evidence about a house, because sectional title and freehold are different markets wearing similar prices. A land rate and a floor rate are never averaged together, because they measure different things. And an asking price is never counted as a sale: they are labelled separately end to end, and asking evidence is discounted toward what properties actually fetch before it can move your number.
We keep score on ourselves
Most valuation tools publish a confidence range and never find out whether it was right. Guru writes every estimate to a ledger along with the exact shape of the evidence behind it: which method won, how many comparables, whether any were confirmed sales, which size basis, which metro. Later, when the property sells or is relisted or quietly disappears, that outcome is recorded against the prediction and scored: how far off, in which direction, and whether the price landed inside the published range.
Those scores are what set future ranges. Instead of a confidence band chosen by an assumption, the question becomes empirical: for estimates that rested on evidence of this exact shape, where did real prices actually land? Some honesty about the limits of that, because it matters: a bucket needs at least 30 scored outcomes before it is allowed to say anything at all (which is where most reports still sit today, on the conservative default), portal "sold" prices are excluded because they are last asking prices rather than transfer prices, and measurement is only ever allowed to widen a range, never to talk us into more precision than we started with. Expect bands to get wider where the evidence is thin. That is the system working. The full method, and the rules that keep the scoring honest, are on the accuracy page.
Confidence tiers: honesty as a feature
Every growth figure carries a label naming the geography that shaped it: suburb-level history when we hold real anchors for your suburb, otherwise metro, province or national index data, clearly said, never blurred. "Then vs now" comparisons only ever quote real recorded figures. And when a suburb's history is still being researched, the report says exactly that instead of inventing a curve.
What we don't have (yet)
We do not integrate title-deed transfer records, and municipal valuation rolls are not wired in. So where a report shows price history, it is built from our own repeated observations of a listing and from published suburb figures, not from the deeds office. Most comparables are asking prices rather than recorded sales, and a suburb growth curve takes its shape from a metro or provincial index because no official index is published at suburb level. Where a widget depends on data we lack for your area, it shows a lower confidence tier or doesn't render: that's deliberate. See the AI disclaimer for the full accuracy picture.