Skip to content

Model Laundromat underwriting

is this laundromat actually a good deal?

You are about to spend somewhere between half a million and ten million dollars. The seller has a spreadsheet and it says yes. This is the one you build yourself, before you believe theirs — ten years, real debt, and a grid showing what happens when two assumptions move at once.

$99 one-off 8 tabs Excel + Google Sheets 2.06 DSCR year 1 51.60% levered IRR
is this laundromat actually a good deal? — Excel and Google Sheets workbook
The short answer

Underwriting a laundromat means projecting what it will earn, subtracting what it costs to run and what the loan costs, and then asking what return that leaves on the money you actually put in.

Three numbers decide it. DSCR is whether the income covers the loan payment — below about 1.25 and a lender says no. IRR is your annualised return over the hold. Equity multiple is how many times your money comes back. At this model's shipped assumptions the sample deal runs a 2.06 DSCR, a 51.60% levered IRR and a 4.11x equity multiple.

What underwriting actually means

Buying a laundromat is buying a stream of future money. Underwriting is working out what that stream is worth, and whether the price is sensible.

In plain steps: how much will it bring in, what does it cost to run, what is left over, how much of that goes to the bank, and what does that leave you? Then: what is it worth when you sell?

The part people get wrong is not the arithmetic. It is that a single answer is worthless. Every one of those inputs is a guess. Change occupancy by three points and the whole thing moves. So the useful question is never “what is the return” — it is “across the range of things that could plausibly happen, how often does this still work?”

That is what the sensitivity grid is for, and it is why it is built out of 25 real ten-year cash flow runs rather than an approximation.

Revenuewhat it brings inNet operating incomeless running costsCash flowless debt service - DSCR2.06Your returnlevered IRR 51.60%
Every arrow is a subtraction, and every input feeding them is a guess. One set of guesses gives you one answer, which is the least useful answer there is.

Where the sample deal lands

The seed deal is underwritten conservatively — exit assumptions set less favourably than going-in — so the returns read realistic rather than promotional.

The shipped laundromat deal, at its default assumptions
MeasureValueWhat it tells you
Going-in3.52x EBITDAWhat you are paying, relative to current income.
DSCR, year 12.06Income divided by loan payment. Lenders generally want 1.25 or better.
Levered IRR51.60%Annualised return on the equity you put in, after debt.
Equity multiple4.11xHow many times your money comes back over the hold.
Exit methodEBITDA multipleThe deal is sold on an EBITDA multiple.

This one is different from the other four and the difference matters. A laundromat is bought as a business on an EBITDA multiple, not as real estate on a cap rate — and the polarity is opposite: a higher multiple is a better exit, where a higher cap rate is a worse one. The seed deal shows a 51.60% levered IRR, which is the real arithmetic of an 85% SBA-levered buy on $178,000 of equity. High, and correspondingly fragile. The sensitivity grid is where you find out how fragile.

Four modelling decisions that change the answer

Exit uses forward net operating income, not trailing. A buyer is purchasing the next twelve months of income, not the last twelve. Forward NOI is the larger number, so this produces a higher exit value than trailing would — by roughly one year of growth. The honest way to be conservative is a worse exit assumption, not a trailing NOI.

Reserves sit below the NOI line. Lenders capitalise NOI before reserves, so reserves never touch valuation — but they absolutely hit cash flow and IRR. Both figures are shown, and they differ.

Price-based costs scale with revenue. Management fees and card processing are percentages of effective gross income, not fixed dollars, so they move when the revenue assumption moves.

Debt is modelled properly. CUMPRINC and CUMIPMT with interest-only years, not a running subtraction — so changing the rate, the amortisation period or the IO term reprices every year at once instead of needing the schedule rebuilt.

The 5x5 sensitivity gridtwo assumptions, 25 outcomesMost of the grid clears your hurdlethe deal survives being wrongOnly the centre clears ityou are betting on your own assumptions
Twenty-five real ten-year runs, two assumptions moving at once. The question is not which cell is best - it is how much of the grid you can live with.

How to underwrite a laundromat

1

Build the revenue from its drivers

The revenue build asks for turns per machine per day, vend price by machine size, wash-dry-fold, and ancillary vending. Entering one revenue number instead means the sensitivity grid has nothing to move, which defeats the point of building a model at all.

2

Enter the operating expenses honestly

The expenses the seller's spreadsheet forgets are usually management, capital reserves and the real cost of insurance. Price-based costs are entered as percentages so that a revenue change carries through them properly.

3

Model the debt with real amortisation

Built on CUMPRINC and CUMIPMT against a closed-form balance. Change the rate and every one of the ten years reprices immediately, which is what makes rate sensitivity meaningful rather than decorative.

4

Set the exit, and be pessimistic about it

Exit is where a model most easily lies to you, because it is the furthest out and the least knowable. The seed deals here set the exit less favourably than going-in, which is why the returns look ordinary rather than exciting.

5

Read the grid, not the single number

Twenty-five genuine ten-year IRR runs, not an interpolation. The centre cell reproduces the Returns tab exactly — that is asserted by the checker, so if the grid engine and the main model ever drift apart, it fails loudly.

What you are looking for is not the best cell. It is how much of the grid you can live with.

What is inside the file

Eight tabs, seeded with a complete laundromat deal so every tab is working the moment you open it. Change the assumptions and the whole ten years reprices.

All 8 tabs in Laundromat Underwriting Model
TabWhat it does
Start HereWhat to fill in, in what order, and how to import the file into Google Sheets.
AssumptionsPurchase price, closing costs, loan terms, growth rates, exit assumptions and hold period. Everything the deal hinges on, in one place.
RevenueThe revenue build — turns per machine per day, vend price by machine size, wash-dry-fold, and ancillary vending.
Operating ExpensesEvery expense line, with price-based costs like management fees and card processing set as a percentage of effective gross income so they scale.
Debt ScheduleReal amortisation with interest-only years, built with CUMPRINC and CUMIPMT rather than a running subtraction.
ProformaThe ten-year projection — revenue, expenses, net operating income, debt service and cash flow.
ReturnsLevered and unlevered IRR, equity multiple, DSCR by year, and the exit.
SensitivityA 5x5 grid backed by 25 genuine ten-year cash flow runs, not an approximation.
The Returns tab of the laundromat underwriting model showing levered and unlevered IRR, equity multiple and DSCR by year
The Returns tab of the workbook you download, with the sample data it ships with. Levered and unlevered are both shown, because the gap between them is how much of the return is coming from the loan rather than the asset.

Opening it in Excel, Google Sheets or Numbers

It is one .xlsx file. There are no macros, no add-ins and nothing to install, which is what makes it portable — a macro-driven template would be Excel-only.

Where the file opens, and how
AppHow to open it
Microsoft ExcelDouble-click the file. Excel 2016 and later, and Microsoft 365, on Windows or Mac. Nothing to enable and nothing to install.
Google SheetsGo to Google Drive, click New → File upload and pick the .xlsx. Then double-click it in Drive and choose Open with → Google Sheets. To keep a native copy, use File → Save as Google Sheets. Formatting and formulas both carry over.
Apple Numbers (Mac, iPad, iPhone)Numbers opens .xlsx directly — double-click it, or in Numbers use File → Open and select the file. Numbers converts it on open and will list anything it changed. To send a copy back to someone on Excel, use File → Export To → Excel.
LibreOffice CalcFree, and opens the file as-is on Windows, Mac and Linux. This is what I use to recalculate every workbook when I check the maths, so it is the app these files are tested hardest in.

This one leans on CUMIPMT, CUMPRINC, IRR and PMT — the functions people most often worry about losing in another app. All of them exist in Excel, Google Sheets, Apple Numbers and LibreOffice Calc, so the file works the same in all four.

Get the workbook

$99 one-off · no subscription

  • One .xlsx file, eight tabs, works in Excel, Google Sheets, Numbers and LibreOffice
  • A complete laundromat deal already modelled, conservatively
  • Real amortisation with interest-only support, via CUMPRINC and CUMIPMT
  • Levered and unlevered IRR, equity multiple and DSCR by year
  • A 5x5 sensitivity grid backed by 25 genuine ten-year runs
  • Free lifetime updates
Get it on Gumroad →

Instant download from Gumroad. The seed deal is an example, not a recommendation, and not investment advice.

Below here is the arithmetic

The arithmetic, written out

effective gross income = potential revenue - vacancy and credit loss
net operating income   = effective gross income - operating expenses
                         (reserves sit BELOW this line)
cash flow after debt   = NOI - reserves - debt service
DSCR                   = NOI / debt service
exit value             = forward NOI / exit cap        # or EBITDA x exit multiple
levered IRR            = IRR(equity out, annual cash flow, net sale proceeds)

Two notes on the exit. It uses forward NOI — year N+1 — because that is what a buyer is purchasing. And the two exit methods have opposite polarity: a higher cap rate is a worse exit, while a higher EBITDA multiple is a better one. The checker asserts the grid moves the right way for the method in use, which caught a real bug where the assertion had assumed cap-rate semantics for the laundromat.

How I know the numbers are right

Every deal in this family is reimplemented from scratch in Python — including a bisection IRR and a closed-form amortisation balance — then the shipped workbook is recalculated in LibreOffice and the two are diffed. 24 checks per model, 120 across the five. Last run: 0 mismatches, 0 formula errors.

Two assertions go beyond matching values, because a decorative feature passes a value check:

Compared with the alternatives

What else you could do instead
CostReal amortisationSensitivityBuilt for this asset
This model$99CUMPRINC/CUMIPMT25 real runsYes
A free proforma template$0Often approximatedNoneGeneric
The seller's spreadsheet$0VariesNoneOptimistic
An analyst builds it$2,000–$10,000YesYesYes

Questions people ask before buying

What is DSCR?

Debt service coverage ratio — net operating income divided by the annual loan payment. It answers whether the property earns enough to pay the bank. Lenders generally want 1.25 or better; the sample deal here runs 2.06 in year one.

What is the difference between levered and unlevered IRR?

Unlevered IRR is the return the asset produces on its own. Levered IRR is the return on the cash you actually put in, after borrowing. The gap between them tells you how much of your return is coming from the loan rather than the property.

Why does the model use forward NOI at exit?

Because a buyer is paying for the next twelve months of income, not the last twelve. Forward NOI is the larger number, so this gives a higher exit than trailing NOI would. If you want to be conservative, do it with a worse exit assumption rather than a trailing NOI.

Why is the sensitivity grid 25 separate runs?

Because Excel Data Tables do not exist in Google Sheets, and a two-way IRR has no closed form. Each cell is a genuine ten-year IRR calculation, which is also why the workbook stays portable.

Why is the sample laundromat return not higher?

Because the seed deal is deliberately underwritten conservatively, with the exit set less favourably than the going-in assumption. A model that shows a large return on its default settings is selling you optimism.

Can I change the hold period?

The model runs a ten-year proforma. You can read returns at earlier exits from the proforma, and the exit assumptions are inputs.

Will it work in Google Sheets?

Yes. Upload the .xlsx to Google Drive and open it with Google Sheets. It uses IRR, CUMPRINC and CUMIPMT, all of which Sheets supports.

Can I use it on a Mac without Excel?

Yes. Apple Numbers has IRR, CUMPRINC and CUMIPMT, and LibreOffice Calc is free and opens the file directly.

Related spreadsheets

Ready to stop doing this by hand?

$99 one-off · no subscription

  • One .xlsx file, eight tabs, works in Excel, Google Sheets, Numbers and LibreOffice
  • A complete laundromat deal already modelled, conservatively
  • Real amortisation with interest-only support, via CUMPRINC and CUMIPMT
  • Levered and unlevered IRR, equity multiple and DSCR by year
  • A 5x5 sensitivity grid backed by 25 genuine ten-year runs
  • Free lifetime updates
Get it on Gumroad →

Instant download from Gumroad. The seed deal is an example, not a recommendation, and not investment advice.