Data reports

Report guide

What is in each Clearilytics workbook, what every column means, how to use it, the methodology behind it and the questions we are asked most.

Describes the Q2 2026 release

Is my segment covered? · All reports

Developer Market Package

Where to build, what to build, and how fast it clears

Latest release and free sample

What is in the workbook

8 sheets, in tab order.

Overview
The release on one page: the headline figures, how much to trust them, the main findings and coverage by state.
Market
Every segment: price band, supply flow, how fast it clears, and its price and speed position.
Insights
Where to build (price against speed) and what the marginal bedroom earns.
Demand
What people ask to rent and to buy, at what budget, against what is advertised.
Land
Asking land rates per sqm and per plot, published rows only.
Lookup
One segment's full record, with a scheme price test, holding cost and site cost.
Changes
What moved since 2026-Q1: published segments, listings, segments in and out.
Guide
Appraisal steps, column meanings, method, limits and checks.

How to use it

The appraisal, in five steps

  1. Find what you could build. Filter Market to your state and area, then to the types and bedroom counts your site can take. Prefer neighbourhood rows; LGA rows are a separate, wider population.
  2. Read the median, then the band. P25 to P75 is the middle half of the market. A scheme that only works above P75 relies on being the most expensive stock in the segment.
  3. Read the speed before you commit. Days to clear sets your holding cost. Use Lookup to price the carry at your own finance rate.
  4. Size units off the bedroom step. Insights shows what each extra bedroom earns and costs in days. Check the comparison count.
  5. Check what is missing. A segment absent from Market did not clear the evidence floor. Building against it means building without price evidence.

Columns and what they mean

Headers are exactly as printed in the workbook. 45 columns across 3 grids, and 13 hidden helper columns (the Lookup reads them, the companion CSV carries them; unhide them in Excel to see them).

Market: price band, supply flow and clearance speed per segment

Segment
Grain
Neighbourhood = that neighbourhood's own listings. LGA = the whole LGA's listings. Separate populations, not a roll-up: nothing has been substituted for anything.
State
Where the segment is, from broad to narrow. Area is the local district people use; (whole area) means the row pools every neighbourhood of the area.
Area
Where the segment is, from broad to narrow. Area is the local district people use; (whole area) means the row pools every neighbourhood of the area.
Neighbourhood
Where the segment is, from broad to narrow. Area is the local district people use; (whole area) means the row pools every neighbourhood of the area.
Property type
The kind of building, its bedroom count, and new-build or existing stock. Blocks of flats and self-contained rooms are not compiled on Market.
Beds (bedrooms)
The kind of building, its bedroom count, and new-build or existing stock. Blocks of flats and self-contained rooms are not compiled on Market.
Vintage
The kind of building, its bedroom count, and new-build or existing stock. Blocks of flats and self-contained rooms are not compiled on Market.
What it fetches
Band P25 (naira)
The middle asking price for similar properties here and the middle half of asking prices, after outliers are removed. Measured over the price quarter.
Median value (naira)
The middle asking price for similar properties here and the middle half of asking prices, after outliers are removed. Measured over the price quarter.
Band P75 (naira)
The middle asking price for similar properties here and the middle half of asking prices, after outliers are removed. Measured over the price quarter.
Band width (percent)
(P75 minus P25) divided by the median. Low means the market broadly agrees on price; high means it does not.
Supply and speed
Entrants (qtr) (listings)
New competing listings that arrived in the segment during the quarter: supply flow, not stock standing.
Days to clear (median) (days)
Typical days from a listing appearing to it leaving the portals; listings still up are counted properly (Kaplan-Meier), not dropped. Leaving the portals is not proof of a sale. Reads under 8 days or 180+ at the limits of what is measurable.
Cleared by 180 days (percent)
The share of the stock that had gone within the watch window: the fairest like-for-like speed comparison, because the population and the window are both fixed.
Speed grade (grade letter)
How much to trust the speed figures, A to D, by the listings behind them (A is 100 or more).
Where to build
Position
High or lower price, fast or slow, split at the state's own medians over the full release. Blank where no speed is measured, the type is vague, or the state has too few segments to split.
Notes
Vague listing type: the listing did not say what kind of building it is, so its slowness reflects listing quality, not liquidity. Speed not measured: too few entrants, or the curve never reached halfway.
Lookup helpers (hidden)
Segment key
The segment's combined label (State, Area, Neighbourhood, Property type, Beds, Vintage) that the Lookup picks by. One per row, and the key the Lookup reads the grid with.
LGA
A helper kept out of the grid to keep it readable. The Lookup reads it, and the companion CSV carries it.
Fast quarter (days)
A helper kept out of the grid to keep it readable. The Lookup reads it, and the companion CSV carries it.
Slow quarter (days)
A helper kept out of the grid to keep it readable. The Lookup reads it, and the companion CSV carries it.
Speed evidence (listings)
A helper kept out of the grid to keep it readable. The Lookup reads it, and the companion CSV carries it.
Vague listing type (yes or no)
A helper kept out of the grid to keep it readable. The Lookup reads it, and the companion CSV carries it.

Demand: what people ask for to rent and to buy, against what is advertised

Where and what
Grain
How wide a net the row casts. Area + bedrooms: one property type at one bedroom count in one area, the strongest form. Area, all sizes and State, all areas: pooled rows, shown only where the finer split had too few requests to publish.
State
What is asked for and where. Market is Rent or Sale and sets the unit of every money figure. All sizes and All areas mark a pooled row. Self-contained rooms appear at 0 beds.
Area
What is asked for and where. Market is Rent or Sale and sets the unit of every money figure. All sizes and All areas mark a pooled row. Self-contained rooms appear at 0 beds.
Market
What is asked for and where. Market is Rent or Sale and sets the unit of every money figure. All sizes and All areas mark a pooled row. Self-contained rooms appear at 0 beds.
Property type
What is asked for and where. Market is Rent or Sale and sets the unit of every money figure. All sizes and All areas mark a pooled row. Self-contained rooms appear at 0 beds.
Beds (bedrooms)
What is asked for and where. Market is Rent or Sale and sets the unit of every money figure. All sizes and All areas mark a pooled row. Self-contained rooms appear at 0 beds.
What is wanted
Requests (requests)
How many people asked, and how many named a budget this pack can use (inside the market's own price band). A request is a stated intention posted on a portal, not a transaction.
With a budget (requests)
How many people asked, and how many named a budget this pack can use (inside the market's own price band). A request is a stated intention posted on a portal, not a transaction.
Money basis
The unit of the money columns on the row, in words: Annual rent on a Rent row, Purchase price on a Sale row.
Budget P25 (naira)
The stated budgets behind the median. The median needs 5 usable budgets and the quartiles 8; blank below that.
Median budget (naira)
The stated budgets behind the median. The median needs 5 usable budgets and the quartiles 8; blank below that.
Budget P75 (naira)
The stated budgets behind the median. The median needs 5 usable budgets and the quartiles 8; blank below that.
What is advertised
Median asking (naira)
The middle advertised figure for the same area, type and size, and the listings behind it. Blank means no advertised segment cleared the evidence floor, not that nothing is available.
Listings (listings)
The middle advertised figure for the same area, type and size, and the listings behind it. Blank means no advertised segment cleared the evidence floor, not that nothing is available.
The gap
Budget vs asking (percent)
Median budget against median asking, within one market. A gap between two medians over two different populations, not a discount anyone was offered. Marked at -25% or worse.
Lookup helpers (hidden)
Segment key
The segment's combined label (State, Area, Neighbourhood, Property type, Beds, Vintage) that the Lookup picks by. One per row, and the key the Lookup reads the grid with.

Land: asking rate per square metre by area, use class and plot size

Where and what
Grain
Where the rate applies. Area and Neighbourhood are separate populations, not a hierarchy; commercial and mixed-use land appear at area level only.
State
Where the rate applies. Area and Neighbourhood are separate populations, not a hierarchy; commercial and mixed-use land appear at area level only.
Area
Where the rate applies. Area and Neighbourhood are separate populations, not a hierarchy; commercial and mixed-use land appear at area level only.
Neighbourhood
Where the rate applies. Area and Neighbourhood are separate populations, not a hierarchy; commercial and mixed-use land appear at area level only.
Use class
Residential, mixed use or commercial land as the source classified it. Never pooled.
Plot size
Standard is under 2,000 square metres; Large is 2,000 and above. Larger plots trade at a lower rate per square metre, so the two are kept apart.
Rate
Band P25 / sqm (naira per square metre)
The middle asking rate for land in the segment and the middle half of rates. Computed per listing and then taken as a median, so it does not move with the mix of plot sizes advertised.
Rate per sqm (naira per square metre)
The middle asking rate for land in the segment and the middle half of rates. Computed per listing and then taken as a median, so it does not move with the mix of plot sizes advertised.
Band P75 / sqm (naira per square metre)
The middle asking rate for land in the segment and the middle half of rates. Computed per listing and then taken as a median, so it does not move with the mix of plot sizes advertised.
Per plot
Plot standard (sqm) (square metres)
The plot size this state actually trades in, measured from listings describing themselves as one plot. There is no national plot size.
Value per plot (naira)
The rate per square metre multiplied by that state's plot standard, because that is how the market quotes land. It carries no evidence of its own beyond the rate. Blank where the state has no measured standard — deliberately, rather than assuming a national figure.
Trust
Grade (grade letter)
Graded on listing count and band width, then capped at B because title is unobserved. Listings is how many land listings the rate rests on.
Listings (listings)
Graded on listing count and band width, then capped at B because title is unobserved. Listings is how many land listings the rate rests on.
Lookup helpers (hidden)
Segment key
The segment's combined label (State, Area, Neighbourhood, Property type, Beds, Vintage) that the Lookup picks by. One per row, and the key the Lookup reads the grid with.
Band P10 / sqm (naira per square metre)
A helper kept out of the grid to keep it readable. The Lookup reads it, and the companion CSV carries it.
Band P90 / sqm (naira per square metre)
A helper kept out of the grid to keep it readable. The Lookup reads it, and the companion CSV carries it.
Band width (percent)
A helper kept out of the grid to keep it readable. The Lookup reads it, and the companion CSV carries it.
Automated check (yes or no)
A helper kept out of the grid to keep it readable. The Lookup reads it, and the companion CSV carries it.
Withheld because (Land)
A helper kept out of the grid to keep it readable. The Lookup reads it, and the companion CSV carries it.

Frequently asked questions

The questions asked most

How do I use this for a residual land valuation?

The product supplies the revenue side: what similar stock is asking, how tightly priced the segment is and how long it takes to clear, plus what a site costs on Land. Build cost, finance, professional fees and your required profit are yours; the residual falls out of the combination. We do not compile construction costs.

Does "Days to clear" mean the property sold?

No. It measures how long the listing was visible, from the first time we saw it on a portal to the point it was no longer there. A listing leaving the portals is not a sale. The source records no sold status, so a departure is indistinguishable from a sale, a withdrawal, an expiry or a re-post, and every figure here is an UPPER BOUND on how fast stock actually sells.

What does the bedroom step tell me?

What one extra bedroom earns, and what it costs you in extra days to sell, measured like for like: same neighbourhood, same property type, same vintage.

What does Position mean, and why is price not enough?

Position places a segment as high or lower priced and fast or slow clearing against its own state's medians. Price and speed are close to independent, so a price-only view cannot see the high-price, slow-clearing segments, which carry the largest values and the longest holding periods.

Is "Budget vs asking" a discount I can negotiate?

No. It compares two medians over two different populations: the people asking and the properties advertised are not the same set, and nobody was ever offered the gap. It is read within one market, a rent budget against an advertised rent and a purchase budget against an advertised price.

Why does Land list so few rows?

Because a rate needs 20 listings and a normal band, and title is unobserved, which caps every grade.

What we do not answer

Certain questions are outside what a data supplier should answer. The consistent response is: here is what the data shows and why — what you do with it is your policy decision. This applies to:

  • Which valuation to accept
  • What LTV or tolerance to set
  • Whether to lend, build, or buy
  • Whether a specific scheme is viable
  • Which segment to invest in
  • Whether a particular valuer is right

Declining these is not unhelpfulness. It is the correct scope for a data provider, it avoids straying into advice we are not licensed to give, and it protects the client's own accountability for their decision.

Methodology

Source

Residential sale listings from Nigerian property portals, de-duplicated across platforms. Asking prices: Nigeria has no transaction register, so achieved prices are not observable. The Demand sheet adds a second feed, requirements posted by people looking to rent or buy, set against the rent or sale index.

Price

Tukey fence at 1.5 x IQR within each segment and period, bands computed after fencing. Price floor: 20 listings in the quarter. The index itself publishes a stratum from 5 listings; this product lists a segment from 20.

Speed

Kaplan-Meier survival over listings entering in the 12 months to 2026-04-01, each watched 180 days; at least 20 entrants and a curve that reached halfway are needed.

Land

A rate needs 20 listings; grades are capped at B because title is unobserved. Only published rows are listed; withheld rows are in the CSV.

Limitations

  • A listing leaving the portals is not a sale. The source records no sold status, so a departure is indistinguishable from a sale, a withdrawal, an expiry or a re-post, and every speed figure is an UPPER BOUND on how fast stock actually sells.
  • Price is 2026-Q2; speed uses listings entering up to 2026-04-01. The two periods on a row are not the same, and speed necessarily lags price.
  • Position and the bedroom step are presentation aggregations over the published rows of the full release, reproducible from Market. Position splits each state at its own medians over segments with a measured speed and a specific property type; a state with fewer than 4 such segments is not split.
  • Not here: build cost, absorption or months of supply (no sold status exists), planning or title risk. Not a valuation.
  • Every field, including the ones kept out of the grids, the segments below the price floor and the withheld land rows, is in the companion CSVs that ship with the licensed release (full precision, raw identity columns).

Glossary

Band P25 / Median value / Band P75
The middle asking price for similar properties here and the middle half of asking prices, after outliers are removed. Measured over the price quarter.
Band P25 / Rate per sqm / Band P75 (per sqm)
The middle asking rate for land in the segment and the middle half of rates. Computed per listing and then taken as a median, so it does not move with the mix of plot sizes advertised.
Band width
(P75 minus P25) divided by the median. Low means the market broadly agrees on price; high means it does not.
Budget P25 / Median budget / Budget P75
The stated budgets behind the median. The median needs 5 usable budgets and the quartiles 8; blank below that.
Budget vs asking
Median budget against median asking, within one market. A gap between two medians over two different populations, not a discount anyone was offered. Marked at -25% or worse.
Cleared by 180 days
The share of the stock that had gone within the watch window: the fairest like-for-like speed comparison, because the population and the window are both fixed.
Days to clear (median)
Typical days from a listing appearing to it leaving the portals; listings still up are counted properly (Kaplan-Meier), not dropped. Leaving the portals is not proof of a sale. Reads under 8 days or 180+ at the limits of what is measurable.
Entrants (qtr)
New competing listings that arrived in the segment during the quarter: supply flow, not stock standing.
Grade / Listings
Graded on listing count and band width, then capped at B because title is unobserved. Listings is how many land listings the rate rests on.
Grain
Neighbourhood = that neighbourhood's own listings. LGA = the whole LGA's listings. Separate populations, not a roll-up: nothing has been substituted for anything.
Grain
How wide a net the row casts. Area + bedrooms: one property type at one bedroom count in one area, the strongest form. Area, all sizes and State, all areas: pooled rows, shown only where the finer split had too few requests to publish.
Grain / State / Area / Neighbourhood
Where the rate applies. Area and Neighbourhood are separate populations, not a hierarchy; commercial and mixed-use land appear at area level only.
Median asking / Listings
The middle advertised figure for the same area, type and size, and the listings behind it. Blank means no advertised segment cleared the evidence floor, not that nothing is available.
Money basis
The unit of the money columns on the row, in words: Annual rent on a Rent row, Purchase price on a Sale row.
Notes
Vague listing type: the listing did not say what kind of building it is, so its slowness reflects listing quality, not liquidity. Speed not measured: too few entrants, or the curve never reached halfway.
Plot size
Standard is under 2,000 square metres; Large is 2,000 and above. Larger plots trade at a lower rate per square metre, so the two are kept apart.
Plot standard (sqm)
The plot size this state actually trades in, measured from listings describing themselves as one plot. There is no national plot size.
Position
High or lower price, fast or slow, split at the state's own medians over the full release. Blank where no speed is measured, the type is vague, or the state has too few segments to split.
Property type / Beds / Vintage
The kind of building, its bedroom count, and new-build or existing stock. Blocks of flats and self-contained rooms are not compiled on Market.
Requests / With a budget
How many people asked, and how many named a budget this pack can use (inside the market's own price band). A request is a stated intention posted on a portal, not a transaction.
Speed grade
How much to trust the speed figures, A to D, by the listings behind them (A is 100 or more).
State / Area / Market / Property type / Beds
What is asked for and where. Market is Rent or Sale and sets the unit of every money figure. All sizes and All areas mark a pooled row. Self-contained rooms appear at 0 beds.
State / Area / Neighbourhood
Where the segment is, from broad to narrow. Area is the local district people use; (whole area) means the row pools every neighbourhood of the area.
Use class
Residential, mixed use or commercial land as the source classified it. Never pooled.
Value per plot
The rate per square metre multiplied by that state's plot standard, because that is how the market quotes land. It carries no evidence of its own beyond the rate. Blank where the state has no measured standard — deliberately, rather than assuming a national figure.

Investor Yield Package

Gross yields, the evidence behind them, and how long it takes to get out

Latest release and free sample

What is in the workbook

5 sheets, in tab order.

Overview
The release on one page: the headline figures, how much to trust them, the main findings and coverage by state.
Yield
Every segment: value, rent, gross yield, 12-month return, evidence and exit speed.
Lookup
Pick one segment and read its full record, with a net-yield estimator.
Changes
What moved since 2026-Q1: listings, segments in and out, grade moves.
Guide
How to screen, what each column means, method, limits and checks.

How to use it

How to screen, in five steps

  1. Filter before you sort. Set Screen-ready = Yes, then sort by yield. Screen-ready means published, a normal price band and grade A or B. It is the one field to filter on before ranking.
  2. Prefer Direct. Derivation must read Direct. 'Wider area' means the LGA or the state answered, so the listing counts on that row describe that area, not the neighbourhood you are buying in.
  3. Check both legs. A yield is one median divided by another. Both counts are shown: a thin rent count moves the yield as hard as a thin sale count, and it is the one people forget to check.
  4. Price the exit. Days to sell is how long similar stock stays listed. Half a point of extra yield is wiped out by an exit that takes six months longer. The slow-quarter figure is on the Lookup.
  5. Compare with the alternatives. Gross yield is before agency fees, voids, management, tax and maintenance, and the Overview shows it against the T-bill. The Lookup's net-yield estimator takes your own assumptions.

Columns and what they mean

Headers are exactly as printed in the workbook. 19 columns across 1 grid, and 8 hidden helper columns (the Lookup reads them, the companion CSV carries them; unhide them in Excel to see them).

Yield: value, rent, gross yield, evidence and exit speed per segment

Segment
State
Where the segment is, from broad to narrow. Area is the local district people use.
Area
Where the segment is, from broad to narrow. Area is the local district people use.
Neighbourhood
Where the segment is, from broad to narrow. Area is the local district people use.
Property type
What kind of stock, how many bedrooms, and new-build or existing. These define the segment rather than describing one property.
Beds (bedrooms)
What kind of stock, how many bedrooms, and new-build or existing. These define the segment rather than describing one property.
Vintage
What kind of stock, how many bedrooms, and new-build or existing. These define the segment rather than describing one property.
How much to trust it
Grade (grade letter)
How much to trust the row, A to D: listing count, price agreement and whether a wider area answered. Read it before the yield.
Screen-ready (yes or no)
Yes = published, a normal price band and grade A or B. The one field to filter on before ranking.
Derivation
Direct = this neighbourhood's own listings. Wider area (LGA or state) = substituted from a wider area, and labelled.
The return
Median value (naira)
Middle asking price and middle asking rent for the segment after outliers. Two medians over two different populations.
Median annual rent (naira)
Middle asking price and middle asking rent for the segment after outliers. Two medians over two different populations.
Gross yield (percent)
Annual rent divided by value. Before agency fees, voids, management, tax and maintenance.
Capital growth 12mo (percent)
Median value against the same segment's median a year earlier; total return adds gross yield. Median to median, not chain-linked. A dash means Not comparable.
Total return 12mo (percent)
Median value against the same segment's median a year earlier; total return adds gross yield. Median to median, not chain-linked. A dash means Not comparable.
Verdict vs T-bill
Beat T-bill, Beat inflation only (beat CPI, not the T-bill), Below both, or Not comparable (no reliable like-for-like 12-month comparison: not the same as no history).
Evidence and exit
Sale listings (listings)
Listings behind each leg of the ratio.
Rent listings (listings)
Listings behind each leg of the ratio.
Days to sell (median) (days)
Median days from a listing appearing to it leaving the portals (a departure is not proof of a sale). Shown as <8 or 180+ at the limits of what is measurable.
Notes
Very wide price band: the segment's P25 to P75 band is wider than 90% of its median, the limit for grade C. Vague listing type: the source listing named no specific type. Exit not measured: too few listings entering the segment to read a speed.
Lookup helpers (hidden)
Segment key
The segment's combined label (State, Area, Neighbourhood, Property type, Beds, Vintage) that the Lookup picks by. One per row, and the key the Lookup reads the grid with.
Band width (percent)
A helper kept out of the grid to keep it readable. The Lookup reads it, and the companion CSV carries it.
Slow quarter (days)
A helper kept out of the grid to keep it readable. The Lookup reads it, and the companion CSV carries it.
Price-to-rent yrs (years)
A helper kept out of the grid to keep it readable. The Lookup reads it, and the companion CSV carries it.
Capital growth 12mo, real (percent)
A helper kept out of the grid to keep it readable. The Lookup reads it, and the companion CSV carries it.
Total return 12mo, real (percent)
A helper kept out of the grid to keep it readable. The Lookup reads it, and the companion CSV carries it.
Vs T-bill (percentage points)
A helper kept out of the grid to keep it readable. The Lookup reads it, and the companion CSV carries it.
Vs inflation (percentage points)
A helper kept out of the grid to keep it readable. The Lookup reads it, and the companion CSV carries it.

Frequently asked questions

The questions asked most

Is the yield gross or net?

Gross. Median annual asking rent divided by median asking value, before agency fees, void periods, management, maintenance and tax, all of which sit outside this data and all of which reduce the return. The Lookup has a net-yield estimator that takes your own assumptions.

Why are the yields low compared to the T-bill?

Because they are, and we would rather show it than hide it. The Overview sets gross residential yield beside the 364-day Treasury bill, the return an investor can actually earn, and inflation. On income alone, residential does not compete: the case for it in this market rests on capital growth, not yield.

Why is the file sorted by grade before yield?

Because sorting by yield alone puts the least reliable rows at the top. Thin samples produce extreme ratios in both directions, and only the high ones look like opportunities.

What does Screen-ready mean?

That the row is published, its band status is Normal and its grade is A or B. It is the single field to filter on before ranking anything.

Why do sale listings and rent listings appear separately?

Because a yield is one median divided by another, over two different populations. A segment with many sale listings and few rent listings gives a confident price and a guessed rent, and the yield inherits the weaker of the two.

Why is the verdict tested against the T-bill and not the policy rate?

Because the policy rate is not a return an investor can earn. MPR is what the CBN charges commercial banks to borrow; the 364-day Treasury bill is federal-government-backed and investable. Total return over 12 months is compared with that rate, averaged over every auction in the release quarter.

What we do not answer

Certain questions are outside what a data supplier should answer. The consistent response is: here is what the data shows and why — what you do with it is your policy decision. This applies to:

  • Which valuation to accept
  • What LTV or tolerance to set
  • Whether to lend, build, or buy
  • Whether a specific scheme is viable
  • Which segment to invest in
  • Whether a particular valuer is right

Declining these is not unhelpfulness. It is the correct scope for a data provider, it avoids straying into advice we are not licensed to give, and it protects the client's own accountability for their decision.

Methodology

Source

Residential sale and rent listings from Nigerian property portals, de-duplicated across platforms. Asking prices and asking rents: Nigeria has no transaction register, so achieved prices are not observable.

Yield

Median annual asking rent divided by median asking value, same segment, grain and quarter, after a Tukey fence at 1.5 x IQR applied to each leg separately. Computed once in the Collateral Benchmark and read here unchanged. Segments under 20 listings are withheld, not estimated.

Exit speed

Kaplan-Meier survival over listings entering up to 2026-04-01, each watched 180 days. An older window than the yield on the same row, and a listing leaving the portals is not proof of a sale, so it is an upper bound.

12-month return

Median value against the same segment's median a year earlier, not chain-linked; total return adds gross yield, and is tested against the average 364-day T-bill stop rate (6 auctions in 2026-Q2), never the MPR. Shown as Not comparable where there is no year-ago row, either period has under 30 listings, the listing count moved enough to describe a different population, or the swing itself exceeded a doubling or halving. Not comparable is not 'no history': most such rows have history that fails one of those tests.

Limitations

  • The rent index now includes self-contained single rooms (revised this release), so aggregate rent series are not comparable with earlier releases; individual segment rows and every yield here are unaffected.
  • Not a valuation, not a forecast and not a net return. Coverage is concentrated in Lagos and Abuja, and the thinner states carry wider bands and lower grades.
  • Every field, including the ones kept out of the grid and the segments with no yield, is in the companion CSV that ships with the licensed release (full precision, raw identity columns).

Glossary

Capital growth / Total return 12mo
Median value against the same segment's median a year earlier; total return adds gross yield. Median to median, not chain-linked. A dash means Not comparable.
Days to sell (median)
Median days from a listing appearing to it leaving the portals (a departure is not proof of a sale). Shown as <8 or 180+ at the limits of what is measurable.
Derivation
Direct = this neighbourhood's own listings. Wider area (LGA or state) = substituted from a wider area, and labelled.
Grade
How much to trust the row, A to D: listing count, price agreement and whether a wider area answered. Read it before the yield.
Gross yield
Annual rent divided by value. Before agency fees, voids, management, tax and maintenance.
Median value / annual rent
Middle asking price and middle asking rent for the segment after outliers. Two medians over two different populations.
Notes
Very wide price band: the segment's P25 to P75 band is wider than 90% of its median, the limit for grade C. Vague listing type: the source listing named no specific type. Exit not measured: too few listings entering the segment to read a speed.
Property type / Beds / Vintage
What kind of stock, how many bedrooms, and new-build or existing. These define the segment rather than describing one property.
Sale / Rent listings
Listings behind each leg of the ratio.
Screen-ready
Yes = published, a normal price band and grade A or B. The one field to filter on before ranking.
State / Area / Neighbourhood
Where the segment is, from broad to narrow. Area is the local district people use.
Verdict vs T-bill
Beat T-bill, Beat inflation only (beat CPI, not the T-bill), Below both, or Not comparable (no reliable like-for-like 12-month comparison: not the same as no history).

Collateral Benchmark

Residential value bands for checking mortgage collateral

Latest release and free sample

What is in the workbook

6 sheets, in tab order.

Overview
The release on one page: the headline figures, how much to trust them, the main findings and coverage by state.
Benchmark
Every segment's value band (P10–P90), grade, tolerance and evidence.
Land
Asking land rates per sqm and per plot, published rows only.
Valuation check
Test a submitted valuation against its segment, and apply a forced-sale discount.
Changes
What moved since 2026-Q1: segments in and out, listings, grade moves.
Guide
The four-step check, column meanings, method, limits, withheld segments and checks.

How to use it

The check, in four steps

  1. Match the segment. Pick the property's segment on Valuation check, or find its row on Benchmark by state, area, neighbourhood, type, bedrooms and vintage. Where Derivation reads Wider area, the neighbourhood was too thin and a wider area answered instead, so Listings counts that area.
  2. Read the grade first. Grade says how much to trust the row, and sets the tolerance (Overview). A or B: use the band as a policy threshold. C or D: widen it. A band flagged in Notes: refer to a valuer, do not automate.
  3. Compare the submitted value. Inside P25–P75 is unremarkable. Outside P10–P90 is worth a look. The band shows how much the market itself varies; it is not a margin of error. Valuation check does the comparison with each segment's own tolerance.
  4. Record the vintage. Log the index vintage with the decision. It lets anyone reproduce the same check months later, which an auditor will ask for.

Columns and what they mean

Headers are exactly as printed in the workbook. 35 columns across 2 grids, and 9 hidden helper columns (the Lookup reads them, the companion CSV carries them; unhide them in Excel to see them).

Benchmark: median value, band and evidence grade per segment

Segment
State
Where the segment is, from broad to narrow. LGA is the official administrative area; Area is the local district people actually use, which is finer. Both appear because one LGA can contain several districts. LGA shows only where it differs from Area.
LGA
Where the segment is, from broad to narrow. LGA is the official administrative area; Area is the local district people actually use, which is finer. Both appear because one LGA can contain several districts. LGA shows only where it differs from Area.
Area
Where the segment is, from broad to narrow. LGA is the official administrative area; Area is the local district people actually use, which is finer. Both appear because one LGA can contain several districts. LGA shows only where it differs from Area.
Neighbourhood
Where the segment is, from broad to narrow. LGA is the official administrative area; Area is the local district people actually use, which is finer. Both appear because one LGA can contain several districts. LGA shows only where it differs from Area.
Property type
The kind of building, as described in the source listing. Blocks of flats and single rooms are excluded from the index, and so from this file. Bedroom count. Segments outside the range we compile are not published. New-build or existing stock. Kept separate because the two price differently, so mixing them would blur both.
Beds (bedrooms)
The kind of building, as described in the source listing. Blocks of flats and single rooms are excluded from the index, and so from this file. Bedroom count. Segments outside the range we compile are not published. New-build or existing stock. Kept separate because the two price differently, so mixing them would blur both.
Vintage
The kind of building, as described in the source listing. Blocks of flats and single rooms are excluded from the index, and so from this file. Bedroom count. Segments outside the range we compile are not published. New-build or existing stock. Kept separate because the two price differently, so mixing them would blur both.
How much to trust it
Grade (grade letter)
How much to trust this row overall. Unlike Confidence, it also accounts for how spread the prices are and whether a wider area answered the question. If you read one reliability column, read this one.
Automated check (yes or no)
Whether this row is safe to use in an automated check. Yes means published, band status Normal, and Grade A or B. If you read only one field, read this one.
Derivation
Whether this figure came from the neighbourhood you asked about, or from a wider area. The location columns show what was asked; this shows what answered. Wider area (LGA) or (state) caps the grade.
Tolerance
The policy threshold the segment's grade supports: grade A: flag outside P25—P75; grade B: flag outside P10—P90; grade C: flag outside P10—P90, manual review; grade D: do not automate; a flagged band: refer to a valuer, do not automate. It is a suggestion for a credit policy, not a measure of the property.
What it is worth
Band P10 (naira)
Asking-price percentiles for the segment after outlier removal: P25 to P75 is the middle half of asking prices, P10 to P90 the outer edges ignoring the cheapest and dearest tenth. The band is market variation, not a margin of error.
Band P25 (naira)
Asking-price percentiles for the segment after outlier removal: P25 to P75 is the middle half of asking prices, P10 to P90 the outer edges ignoring the cheapest and dearest tenth. The band is market variation, not a margin of error.
Median value (naira)
The middle asking price for similar properties here — half ask more, half ask less. Outliers removed. A median is used rather than an average so one unusual property cannot distort it.
Band P75 (naira)
Asking-price percentiles for the segment after outlier removal: P25 to P75 is the middle half of asking prices, P10 to P90 the outer edges ignoring the cheapest and dearest tenth. The band is market variation, not a margin of error.
Band P90 (naira)
Asking-price percentiles for the segment after outlier removal: P25 to P75 is the middle half of asking prices, P10 to P90 the outer edges ignoring the cheapest and dearest tenth. The band is market variation, not a margin of error.
Band width (percent)
How much prices vary within this segment. Low means the market broadly agrees on price here; high means it does not. Calculated as (P75 − P25) ÷ median.
Evidence and trend
Listings (listings)
How many listings the figure rests on, after outliers are removed. Important: this counts listings at the level named in Derivation — on a fallback row it counts the wider area, not this neighbourhood.
Capital growth 12mo (percent)
This row's median value against the same segment's median twelve months earlier. Median to median, not chain-linked. A dash means there is no reliable like-for-like comparison.
Notes
Very wide price band: the segment's P25 to P75 band is wider than 90% of its median, the limit for grade C. Band too narrow to use (a false precision from very few listings) or too wide to use (it tells you nothing): refer to a valuer. Withheld: the reason the segment has no figure.
Lookup helpers (hidden)
Segment key
The segment's combined label (State, Area, Neighbourhood, Property type, Beds, Vintage) that the Lookup picks by. One per row, and the key the Lookup reads the grid with.
Tolerance code
A helper kept out of the grid to keep it readable. The Lookup reads it, and the companion CSV carries it.
Band status
A helper kept out of the grid to keep it readable. The Lookup reads it, and the companion CSV carries it.
Confidence
A helper kept out of the grid to keep it readable. The Lookup reads it, and the companion CSV carries it.
Pre-fence (listings)
A helper kept out of the grid to keep it readable. The Lookup reads it, and the companion CSV carries it.

Land: asking rate per square metre, title unobserved

Where and what
Grain
LGA (the area's own rate) or Neighbourhood. These are separate populations, not a hierarchy: a neighbourhood row is not part of the area row beside it, and neither is substituted for the other. Commercial and mixed-use land appear at area level only, because at neighbourhood level there is too little of either to publish.
State
Where the land is. (whole area) means the row is the area's own rate, not one neighbourhood in it.
Area
Where the land is. (whole area) means the row is the area's own rate, not one neighbourhood in it.
Neighbourhood
Where the land is. (whole area) means the row is the area's own rate, not one neighbourhood in it.
Use class
Residential, mixed use or commercial land, as the source classified it. They are not pooled: commercial land trades well above residential land in the same neighbourhood, so averaging them would describe neither.
Plot size
Standard is under 2,000 square metres; Large is 2,000 and above. Larger plots trade at a lower rate per square metre, so the two are kept apart.
Rate per sqm
Band P10 / sqm (naira per square metre)
The same bands as the property grid, per square metre: P25 to P75 the middle half of asking rates, P10 to P90 the outer edges.
Band P25 / sqm (naira per square metre)
The same bands as the property grid, per square metre: P25 to P75 the middle half of asking rates, P10 to P90 the outer edges.
Rate per sqm (naira per square metre)
The middle asking rate for land in this segment — half ask more per square metre, half ask less. Computed per listing and then taken as a median, not as one price divided by one area, so it does not move with whatever mix of plot sizes happened to be advertised.
Band P75 / sqm (naira per square metre)
The same bands as the property grid, per square metre: P25 to P75 the middle half of asking rates, P10 to P90 the outer edges.
Band P90 / sqm (naira per square metre)
The same bands as the property grid, per square metre: P25 to P75 the middle half of asking rates, P10 to P90 the outer edges.
Per plot
Plot standard (sqm) (square metres)
The plot size this state actually trades in, measured from listings that describe themselves as one plot. It is 500 sqm in Lagos, 600 in Ogun, 465 in Rivers, 464 in Delta — there is no single national plot. Blank where too few listings quote a plot to measure it.
Value per plot (naira)
The rate per square metre multiplied by that state's plot standard, because that is how the market quotes land. It carries no evidence of its own beyond the rate. Blank where the state has no measured standard — deliberately, rather than assuming a national figure.
Trust
Grade (grade letter)
Graded on listing count and band width like the property grades, then capped: no land row may grade better than B, because title is unobserved on all of them. A land B and a property B are NOT the same claim.
Listings (listings)
How many listings the rate rests on, after outliers are removed.
Lookup helpers (hidden)
Segment key
The segment's combined label (State, Area, Neighbourhood, Property type, Beds, Vintage) that the Lookup picks by. One per row, and the key the Lookup reads the grid with.
Band width (percent)
A helper kept out of the grid to keep it readable. The Lookup reads it, and the companion CSV carries it.
Band status
A helper kept out of the grid to keep it readable. The Lookup reads it, and the companion CSV carries it.
Pre-fence (listings)
A helper kept out of the grid to keep it readable. The Lookup reads it, and the companion CSV carries it.

Frequently asked questions

The questions asked most

What does "Automated check: Yes" actually mean?

That the row is published, its band status is Normal, and its grade is A or B. It is a statement about the evidence, not an instruction to automate.

What tolerance should we set for flagging valuations?

That is a policy decision for your credit committee. The Tolerance column suggests one per segment, from its grade, because segments vary enormously in how tightly prices cluster.

Which figure do we lend against: the submitted valuation or your benchmark?

Yours to decide. We provide market evidence; the lending policy is yours. The benchmark is a segment median of asking prices and a valuation is a professional judgement about one property. They measure different things and neither is automatically right.

What happens when a segment we lend in is withheld?

The row stays on Benchmark with its values blank and the reason in Notes, and Valuation check answers 'No benchmark: segment withheld'. It means the evidence does not support a defensible figure, which is itself information about that segment.

What if the property has features you cannot see?

Then the figure will be wrong for that property, and the band is where it shows. Corner plots, extensions, exceptional finish, a C of O against unregistered title: none of these are visible in listing data.

Can you value a specific property for us?

No. We publish segment-level market evidence, not property-level valuations. A specific property needs an inspection, a title check and professional judgement, none of which we do.

What we do not answer

Certain questions are outside what a data supplier should answer. The consistent response is: here is what the data shows and why — what you do with it is your policy decision. This applies to:

  • Which valuation to accept
  • What LTV or tolerance to set
  • Whether to lend, build, or buy
  • Whether a specific scheme is viable
  • Which segment to invest in
  • Whether a particular valuer is right

Declining these is not unhelpfulness. It is the correct scope for a data provider, it avoids straying into advice we are not licensed to give, and it protects the client's own accountability for their decision.

Methodology

Source

Residential listings from Nigerian property portals, de-duplicated across platforms. Asking prices: Nigeria has no transaction register, so achieved prices are not directly observable.

Stratification

State, area and neighbourhood, crossed with property sub-type, bedroom count and new-build or existing vintage, identical to the index, so a property matched here lands in the same stratum the index reports.

Bands

A Tukey fence at 1.5 x IQR is applied within each segment and period, and the median and every band are computed over exactly the rows that survive it.

Evidence floor

A segment with fewer than 20 listings in the period is withheld, not estimated.

Fallback

Where a neighbourhood is too thin the figure is computed for the wider area and labelled in Derivation; the grade is capped so a substituted answer cannot outrank a direct one.

Capital growth 12mo

Median value against the same segment's median a year earlier, not chain-linked. Shown where both periods have at least 30 listings, the listing count did not move enough to describe a different population, the swing is within a doubling or halving, the band moved with the median, and the segment has a rent figure (the calculation is shared with Investor Yield).

Refresh

Quarterly, following the index release. Every row carries its index vintage in the CSV.

Limitations

  • Rent, yield and the return-against-benchmarks verdicts are not on this workbook's grids: they are Investor Yield's. They are in the CSV that ships with the licensed release.
  • Not a valuation: nothing here inspects, measures or appraises a specific property, and nothing addresses title, planning consent or approval risk, the constraints that most often bite in Nigeria. Floor area is unavailable for most built stock.
  • Every field, including the ones kept out of the grids and the segments the release withholds, is in the companion CSV files that ship with the licensed release (full precision, raw identity columns): one for the Benchmark and one for Land.

Glossary

Automated check
Whether this row is safe to use in an automated check. Yes means published, band status Normal, and Grade A or B. If you read only one field, read this one.
Band P10 / P25 / P75 / P90
Asking-price percentiles for the segment after outlier removal: P25 to P75 is the middle half of asking prices, P10 to P90 the outer edges ignoring the cheapest and dearest tenth. The band is market variation, not a margin of error.
Band P10 / P25 / P75 / P90 per sqm
The same bands as the property grid, per square metre: P25 to P75 the middle half of asking rates, P10 to P90 the outer edges.
Band width
How much prices vary within this segment. Low means the market broadly agrees on price here; high means it does not. Calculated as (P75 − P25) ÷ median.
Capital growth 12mo
This row's median value against the same segment's median twelve months earlier. Median to median, not chain-linked. A dash means there is no reliable like-for-like comparison.
Derivation
Whether this figure came from the neighbourhood you asked about, or from a wider area. The location columns show what was asked; this shows what answered. Wider area (LGA) or (state) caps the grade.
Grade
How much to trust this row overall. Unlike Confidence, it also accounts for how spread the prices are and whether a wider area answered the question. If you read one reliability column, read this one.
Grade
Graded on listing count and band width like the property grades, then capped: no land row may grade better than B, because title is unobserved on all of them. A land B and a property B are NOT the same claim.
Grain
LGA (the area's own rate) or Neighbourhood. These are separate populations, not a hierarchy: a neighbourhood row is not part of the area row beside it, and neither is substituted for the other. Commercial and mixed-use land appear at area level only, because at neighbourhood level there is too little of either to publish.
Listings
How many listings the figure rests on, after outliers are removed. Important: this counts listings at the level named in Derivation — on a fallback row it counts the wider area, not this neighbourhood.
Listings
How many listings the rate rests on, after outliers are removed.
Median value
The middle asking price for similar properties here — half ask more, half ask less. Outliers removed. A median is used rather than an average so one unusual property cannot distort it.
Notes
Very wide price band: the segment's P25 to P75 band is wider than 90% of its median, the limit for grade C. Band too narrow to use (a false precision from very few listings) or too wide to use (it tells you nothing): refer to a valuer. Withheld: the reason the segment has no figure.
Plot size
Standard is under 2,000 square metres; Large is 2,000 and above. Larger plots trade at a lower rate per square metre, so the two are kept apart.
Plot standard (sqm)
The plot size this state actually trades in, measured from listings that describe themselves as one plot. It is 500 sqm in Lagos, 600 in Ogun, 465 in Rivers, 464 in Delta — there is no single national plot. Blank where too few listings quote a plot to measure it.
Property type / Beds / Vintage
The kind of building, as described in the source listing. Blocks of flats and single rooms are excluded from the index, and so from this file. Bedroom count. Segments outside the range we compile are not published. New-build or existing stock. Kept separate because the two price differently, so mixing them would blur both.
Rate per sqm
The middle asking rate for land in this segment — half ask more per square metre, half ask less. Computed per listing and then taken as a median, not as one price divided by one area, so it does not move with whatever mix of plot sizes happened to be advertised.
State / Area / Neighbourhood
Where the land is. (whole area) means the row is the area's own rate, not one neighbourhood in it.
State / LGA / Area / Neighbourhood
Where the segment is, from broad to narrow. LGA is the official administrative area; Area is the local district people actually use, which is finer. Both appear because one LGA can contain several districts. LGA shows only where it differs from Area.
Tolerance
The policy threshold the segment's grade supports: grade A: flag outside P25—P75; grade B: flag outside P10—P90; grade C: flag outside P10—P90, manual review; grade D: do not automate; a flagged band: refer to a valuer, do not automate. It is a suggestion for a credit policy, not a measure of the property.
Use class
Residential, mixed use or commercial land, as the source classified it. They are not pooled: commercial land trades well above residential land in the same neighbourhood, so averaging them would describe neither.
Value per plot
The rate per square metre multiplied by that state's plot standard, because that is how the market quotes land. It carries no evidence of its own beyond the rate. Blank where the state has no measured standard — deliberately, rather than assuming a national figure.