Guide

Software can underwrite a multifamily deal. Here is where it still gets it wrong.

A 416-unit Tampa underwriting model, recalculated to the cent — and the basis error that first returned a 53% IRR, plus what still needs a person.

See how Titleman sources every number

Yes, for the arithmetic. A 416-unit Tampa model recalculated to the cent, twice, on two separate implementations. But its first draft returned a 53% levered IRR because it priced the building at its county tax assessment instead of its income. Automated checks catch that class of mistake now. Deciding which inputs are real still takes a person.

What was built

The worked example here is Legend Oaks, a 416-unit apartment community at 4714 N Habana Ave, Tampa, FL 33614. It is a public building, identified from Hillsborough County assessment records. It was never a client engagement, and nobody gave us a rent roll for it.

The deliverable is a six-tab workbook with formulas that recalculate: Assumptions, Rent Roll, Cash Flow, Debt Sizing, Exit & Sensitivity, and a Sources tab on which every number is classified SOURCED, ASSUMED, or COMPUTED, with nothing else permitted on that tab. The whole model was then recalculated twice — once from the file with a separate formula engine, once from a second, independently written implementation of the same model. Every output matched to the cent, except a levered IRR the two put at 8.66% and 8.7%, a one-hundredth-of-a-point rounding gap rather than a disagreement.

The basis error

The first draft of that workbook did not return 8.66%. It returned a 53% levered IRR, a 6.36x equity multiple, and a 2.98x debt service coverage ratio.

The cause: the draft defaulted the purchase price to the property's county-assessed value of $35.21M. That figure was convenient because it was already sourced and already sitting in the spreadsheet on our own Tampa shortlist. A Florida assessed value is an administrative number used to calculate property tax. It is not a price anyone would pay, and it bears no necessary relationship to what the building's income can support.

Feeding it into the price cell put the income side of the model and the price side of the model on two different bases. The arithmetic connecting them was correct throughout. It faithfully reported the gap between those two bases as if it were investment return.

That is the shape of the failure worth understanding. The model did not crash, did not return an obviously silly number, and did not flag anything. It produced a plausible-looking institutional deal that happened to be a comparison of a tax roll against an operating statement. In the verification report's own words: a model that is wrong in the flattering direction does not look wrong, it looks like a good deal.

What changed, in the file rather than in a cover note

Three fixes, all visible in the shipped workbook.

First, the price is now derived from the building's own Year-1 income at a stated going-in capitalisation rate of 5.75%. The assessed value was demoted to a reference line that the Sources tab states must never be used as a price. We do not publish the derived price here: the source records the formula, not the resulting figure as a verified line item.

Second, a peer-median comparison was deleted from the exit tab. That peer median is a median of assessed values; an exit price is a market price. Keeping it would have been the identical basis mismatch wearing a different outfit.

Third, four automated checks were added to the Exit & Sensitivity tab, each of which fires on the first draft: a going-in yield outside roughly 3.5%–9%, an exit cap priced tighter than the going-in cap, a debt service coverage ratio above 2x, and an operating expense ratio under 40%, which is implausibly low for Florida product once insurance is priced in. The point is that the check now sits inside the file. It does not depend on the next analyst remembering the story.

The two loan tests, and which one bound

The Debt Sizing tab runs both standard tests every time and takes the loan the two agree on, which is the lower of the two, then states in plain language which one bound.

On this deal the LTV test sized a loan of $41,617,613. The DSCR test sized $39,862,003. DSCR bound. That is the substantive finding, not a formatting detail: when coverage binds rather than collateral value, the achievable loan is smaller and the required equity is larger than the headline loan-to-value would suggest on its own. Here the required equity comes to $24,165,095. The corrected model returns Year-1 NOI of $3,681,558, Year-5 NOI of $4,200,555, an operating expense ratio of 48.09%, and a 1.47x equity multiple.

A model that reported only the binding number would have hidden the more useful fact, which is the distance between the two tests.

What this still cannot do without a person

Four limits, stated as they are.

It cannot source the inputs it most depends on. No rent roll and no trailing-twelve operating statement for this property has been seen by anyone who built this model. Every rent, the vacancy rate, every operating expense line, the growth rates, and both cap rates are assumptions. The workbook says so on the Rent Roll tab heading, not in a footnote. Rent roll and lease-expiry detail are not derivable from public records at all. Read the deliverable accordingly: it is a rigorously checked structure for underwriting this building, not yet underwriting of this building. Overwrite the yellow cells with real figures and the same checks that caught a 53% IRR the first time will catch whatever the real figures get wrong the second time.

It cannot tell a convenient number from a correct one. That is exactly what went wrong above. The assessed value was well sourced, correctly transcribed, and completely wrong for the job. Provenance is not fitness for purpose, and only a person who knows what the number is for can tell the difference.

It cannot resolve a legal or physical conflict on its own. On a separate Tampa industrial run, the system came back with a moderate verdict and showed precisely where its evidence ran out: a thin transaction sample, a zoning code conflict it did not paper over, and missing occupancy and condition data. It then named what was needed next — a zoning letter, and either a land comparable or a cost estimate. Those are errands for a human. Where fewer than three comparable sales exist, a point value should become a range.

It does not produce the finished artefact by itself. The workbook described on this page was built by hand by an analyst. The product did not export it, and every letter sent around it says so. On our own showcase samples the Excel export field was empty on all five entries when we checked.

What to call the output

Not an appraisal, and not a valuation. We hold no appraisal licence, and in the United States valuation is licensed work. What comes back is an opinion of value, and the distinction is not cosmetic.

See how Titleman sources every number

Bring us a deal you already closed

We run it through Titleman and show your team the finished work next to their own.