Short answer: test any rent roll analysis software on your own worst rent roll, not on the vendor's sample. A clean demo file proves the tool can read a clean file. The six checks below show whether it tells you the truth about a messy one.
This page does not rank vendors. We have not run the other tools on a common file, and a comparison we did not run would not be worth reading. What follows is the test you can run yourself in an afternoon, and how we answer each check in our own reader.
Pick the test file first
Use a real roll from a recent deal. The useful ones have at least three of these:
- More than one layout in one document, such as a PDF export with a summary page and a detail page.
- A rent column with no stated period, so monthly and annual figures are easy to confuse.
- Free-text notes about concessions, free rent or abatements.
- Delinquency or status flags that live in a notes column instead of a status column.
- More rows than fit on the first page.
Keep your own manual read of the same file. Every check below compares the tool's output to that read.
1. Did it read the whole roll?
Count the tenancy rows in the document and count the rows in the output. A tool that stops at the first page will still produce a tidy table.
Ask the tool to state both numbers. If it cannot tell you how many rows the document carries, you cannot tell whether its occupancy figure describes the building or the first page of it.
How we handle it. Our reader records the number of rows in the document and whether every one was transcribed. Occupancy, WALT and average rent per square foot are only computed when the whole roll was read. Otherwise the figure is left out and the reason is printed next to it.
2. Does it know the rent period?
A monthly rent treated as annual is off by a factor of twelve, and so is every per-square-foot figure built on it. Many rolls never state the period in the header.
Check what the tool does when the period is not written anywhere. Guessing from the size of the numbers is a guess, even when it is usually right.
How we handle it. The period is taken only from what the roll states. When it is not stated, the per-square-foot column stays empty and says why.
3. What happens to a cell it could not read?
Scanned PDFs lose digits. A good tool marks the cell as unreadable. A weak one fills it with a market rate, a neighbour's rate or a column average, and the gap disappears.
Blur one rent cell in your test file and see what comes back.
How we handle it. An unreadable cell stays empty, with the reason attached. It never inherits a number from elsewhere.
4. Are averages taken over the whole roll?
An average rent over eleven of twelve leased suites is not the roll's average rent. It is the average of what the tool happened to read.
Compare the tool's average to your manual one. If they differ, ask which rows were included.
How we handle it. Every aggregate is all or nothing. If any row it needs is missing, the aggregate is withheld and the count of missing rows is shown.
5. Are concessions and delinquency captured or dropped?
Concessions and arrears often sit in a notes column in plain language. Tools that map only structured columns drop them silently, and the in-place rent then looks better than the cash.
Check each note in your test file against the output.
How we handle it. A note the roll carries for a suite stays with that suite, shortened to fit the sheet. Columns the reader cannot place are listed by header with the reason, so they do not disappear. Check the full note text against your own read before you rely on it.
6. Can you trace each derived figure?
Occupancy, WALT and rent per square foot are arithmetic on figures the roll printed. You should be able to see which figures went in.
How we handle it. The reader transcribes and does not calculate. The derived figures are computed afterwards by fixed code from the transcribed rows, so the same rows always give the same result.
What to do with the results
A tool that fails check 1 or 2 is not safe for underwriting, however good the demo looked. Failures on checks 3 to 6 can be managed if the tool shows them to you instead of hiding them.
Run the same file through every tool on your shortlist and keep the scores. That is the comparison the forum threads are asking for, and it will be specific to the rolls you actually receive.