Free download

The multifamily model, in full

Rent roll, T-12 normalization, a ten-year pro forma, debt sized on three tests, sources and uses, levered and unlevered IRR, and three two-way sensitivity grids. 2,718 live formulas across eleven tabs. Nothing locked, nothing hidden, no macros.

55 KB .xlsx. No signup, no email field, no form. It ships loaded with a synthetic example deal so every formula has something to chew on.

What was tested before it shipped

Nothing in this file is a typed-in result. Every output is a live formula off the inputs, which means the whole workbook can be checked mechanically rather than spot-read. So it was.

Every cell was evaluated with an independent Excel formula engine. Zero error cells across 2,718 formulas, all nineteen internal checks returning OK, and both sensitivity centre cells equal to the Returns levered IRR to the eighth decimal. Separately, the whole model was rebuilt from the raw inputs in independent Python, written from the conventions rather than by copying the formulas, and the two were diffed rather than eyeballed. The rent roll, the T-12 rollup, every line of the eleven-year pro forma, the 120-month amortization schedule, sources and uses, both cash flow vectors, both IRRs, both equity multiples, and all fifty sensitivity scenarios agree to within one part in a billion.

Thirteen stress cases were then re-evaluated the same way: a zero and a negative exit cap, a cap so low the grid axis crosses zero, all three lender tests switched off, a 100 percent loan to value, zero vacancy, 100 percent vacancy, a ten-year hold against a seven-year loan, a hold of zero, zero amortization, a zero interest rate, zero units, and a zero purchase price. Every case produces zero error cells, and every case that is genuinely broken trips at least one check rather than printing a confident number. In the all-cash case the levered IRR collapses to exactly the unlevered IRR, which is the structural invariant you would want.

What has not been verified. The workbook has not yet been opened in Microsoft Excel, Google Sheets or LibreOffice. Formula behaviour is verified. Rendering of the colour scales, the two dropdowns and the custom number formats is not. If something looks wrong on your machine, write to support@altyst.ai and it gets fixed.

What is in the workbook

Eleven tabs. Read Me states the conventions and Assumptions holds the inputs. Here are the other nine, in workbook order, with the two sensitivity tabs described together.

Rent Roll

Unit mix by floor plan. In-place against market, loss to lease in dollars and as a percentage, rent per square foot, and the weighted average renovation premium.

Fifteen rows, one per floor plan. Pivot a unit-level roll by plan and paste it in.

T12

Trailing actuals, annualized from however many months you actually have, then adjusted line by line to the year one you will really run.

Includes a real estate tax reassessment block. Underwriting the seller's tax bill in a jurisdiction that reassesses on transfer is a common way to overpay for an apartment building.

Pro Forma

Eleven years. Gross potential rent at market, renovation premium, loss to lease, vacancy, concessions, non-revenue units, bad debt, other income, ten expense lines, a management fee on EGI, NOI, capital items below the line.

Then unlevered cash flow, debt service, levered cash flow, DSCR, debt yield, and cash-on-cash by year.

Debt

Loan to value, minimum debt service coverage at a stress rate, and minimum debt yield, all three sized at once. The loan is the smallest of the tests you switch on, and the tab names the binding constraint.

Full 120-month amortization schedule with an interest-only period, rolled up to annual interest, principal, debt service and ending balance.

Sources and Uses

The uses stack at close with equity as the plug, stated per unit and as a percentage of the total.

Ties to the year-zero levered cash flow. One of the nineteen checks tests exactly that.

Returns

Exit on forward NOI. Unlevered and levered cash flow vectors, IRR, equity multiple, average and year-one cash-on-cash, going-in cap, yield on cost, going-in and minimum DSCR, going-in debt yield, break-even occupancy, basis per unit.

Plus a hurdle table judged against the return targets you set, rather than against ours.

Sensitivity and Sens Calc

Levered IRR by exit cap and rent growth. Levered IRR by exit cap and purchase price, with the loan resizing at every price. Equity multiple on that same grid.

Fifty complete cash-flow rebuilds, each with its own IRR solve, in a tab that is visible and unprotected so you can audit it.

Checks

Nineteen internal consistency and sanity tests. Run them before you send the model to anybody.

Including whether your loss-to-lease capture has quietly double counted your renovation premium.

Six conventions this model gets right

A number without its convention is not an answer yet. These six are where multifamily models usually differ from each other, so here is the side this one takes and why.

1. Gross potential rent is stated at market, and loss to lease is a line item

Starting from in-place rent hides the mark-to-market inside an occupancy assumption. Stating GPR at market for every unit, including the vacant ones, and then deducting loss to lease to reach gross scheduled rent, is the convention a lender and an appraiser will both recognise. A stack that starts from in-place rent still ties. It just stops showing you that number.

2. Bad debt is charged against collectible rent, not against gross potential rent

Vacancy, concessions and non-revenue units come off first. Charging bad debt on rent you were never going to collect double counts the loss.

3. The renovation premium is measured against market rent, not in-place rent

If you measure it against in-place rent and also capture loss to lease, the same dollar is in the model twice. This is the most common error in value-add multifamily models and it is invisible in the output, because nothing about the answer looks wrong. The Pro Forma computes the minimum loss-to-lease capture implied by your renovation schedule and flags you when your input drops below it.

4. The management fee is computed on effective gross income, not grown at inflation

A management fee that grows on an expense curve decouples from the revenue it is charged on and drifts further every year of the hold.

5. The level debt payment is sized on the full amortization term

A 24-month interest-only period followed by a 30-year amortization sizes the payment on 360 months, and on a seven-year loan the balloon lands with 25 years of amortization still to run. Netting the interest-only months out of the term instead sizes the payment on 336 months. At the coupon in the example deal that overstates the payment by 2.5 percent and understates your coverage in every year after interest-only ends. The size of the error moves with the rate: about 3.4 percent at a 4.5 percent coupon, about 1.8 percent at 8 percent.

6. The exit capitalizes forward NOI, not trailing NOI

A buyer prices the next twelve months, so the exit value divides the year-after-sale NOI by the exit cap. This is why the model projects eleven years for a ten-year hold, and why the eleventh column is labelled as exit basis and never becomes a cash flow.

How to work it

Orange cells are inputs and black cells are formulas. The file says so on the Assumptions tab, in case you meet it without this page.

  • Start with the Rent Roll. Replace the unit mix with yours: units, average square feet, occupied units, average in-place rent and market rent, by floor plan. Market rent is what an unrenovated unit achieves today, and post-renovation rent is what the same unit achieves after your scope. Everything downstream keys off this tab.
  • Normalize the T12. Paste trailing operating expenses into the actual column. If you hold six months of statements, put 6 in the months column and the sheet annualizes it. Then write your adjustments beside them: the tax reassessment, the insurance quote you actually hold, the payroll you will actually run, the non-recurring repair you are backing out.
  • Set the Assumptions. Price, closing costs, hold, growth, the vacancy stack, other income, renovation scope, debt terms, exit, and your own return hurdles. Orange cells are inputs and black cells are formulas. If you type over a black cell you have broken a link.
  • Schedule the renovation on the Pro Forma. Three year-by-year input rows exist in the whole model and all three sit here: units renovated in year, loss-to-lease capture, and other capital expenditure. Everything else is a single input on Assumptions or a line on Rent Roll or T12.
  • Read Returns and Sensitivity. The exit capitalizes forward NOI, so the eleventh year of the pro forma is exit basis and never becomes a cash flow. The sensitivity grids rebuild the whole levered cash flow fifty times rather than interpolating off a surface.
  • Run the Checks tab last. Nineteen tests, each printing OK or a variance. A model that fails a check is not ready to send, and a model that has never been checked is a model whose errors nobody has looked for yet.

What it deliberately does not do

No partnership waterfall, no after-tax layer, no unit-level lease expiry schedule, no bridge-to-refinance, no development budget, no mezzanine, and no other asset class. Those belong in a bigger model. This one is the screen you run before you build the bigger model, and it is honest about being that.

It also will not tell you whether a deal is good. It does arithmetic on the assumptions you type, and the assumptions are the hard part.

Questions

Is it really free, and is anything crippled?

Yes, and no. There is no protected sheet, no protected range, no watermark, no macro, no trial period and no crippled tab. The sensitivity engine is visible and unprotected specifically so you can audit it.

Do I have to give you an email address?

No. The download link points straight at the file and there is no form anywhere on this page. Nothing is held back until you sign up, because a model behind a form gets one throwaway address and then stops travelling.

Will it open in Google Sheets or LibreOffice?

It is a plain .xlsx with no macros, no array formulas and no data tables, and it uses IRR, PMT, INDEX, SUMIF, SUMPRODUCT and MIN, which Excel, Google Sheets and LibreOffice all support. Being straight about the limit of what we tested: every formula was evaluated with an independent Excel formula engine, but the file has not yet been opened in Microsoft Excel, Google Sheets or LibreOffice. Formula behaviour is verified. Rendering of the colour scales, the two dropdowns and the custom number formats is not. Write to support@altyst.ai if something renders wrong and it gets fixed.

Can I use it for office, retail or industrial?

No. The revenue stack, the renovation module and the expense chart of accounts are all multifamily. Commercial asset classes need lease-by-lease rollover with tenant improvements, leasing commissions, downtime, renewal probability and expense recoveries, and bolting that onto a multifamily model produces a worse answer than starting from the right one.

Can I edit it, rebrand it, or send it to my investors?

Yes to all three, and no attribution is required. It is provided as is, without warranty of any kind. You are responsible for the assumptions you put in it and the decisions you take from it.

Why does the pro forma run eleven years for a ten-year hold?

Because the exit capitalizes forward NOI rather than trailing NOI. A buyer prices the next twelve months, so the exit value divides the year-after-sale NOI by the exit cap. The eleventh column is labelled as exit basis and never becomes a cash flow.

Why does the going-in DSCR read higher than the ratio the loan was sized on?

Because going-in DSCR is measured on the actual year-one payment, and while the loan is interest only that payment is smaller than the amortizing one the coverage test used. On the example deal the loan is sized at 1.25x on a stressed constant and the year-one ratio prints 1.54x. Both numbers are right, and the Debt tab shows you both.

What is Altyst?

Underwriting software for real-estate investment professionals. It reads the offering memorandum, the rent roll, the T-12 and the lender quote, and builds the model this spreadsheet makes you build by hand, across multifamily, office, retail, industrial, mixed use, self storage, hotel and land. The financial results are computed by tested code in exact decimal arithmetic rather than by a language model, every figure traces to a formula, and every extracted number carries a source.

The model is free. The maintenance is the expensive part.

Every underwriter keeps a spreadsheet like this one. It works. Then a broker sends a rent roll in a format the tabs do not accept, and somebody rebuilds it. Then a partner asks what happens at a wider exit cap on a different unit mix, and somebody saves a new copy. Two years later there are eleven copies, three of them are wrong, and nobody knows which three. Altyst does the same arithmetic from the source documents and keeps one live model per deal.

Altyst produces model outputs for screening and analysis. It is not investment, legal, tax, appraisal, or brokerage advice, and it does not guarantee accuracy or returns.