NOI ENGINE — analytics and automation for multifamily owner-operators

Operating Note No. 1 · Multifamily owner-operators · 1,000–15,000 units · Entrata-native



Straight-down aerial photograph of densely packed suburban rooftops, ridgelines and driveways filling the frame edge to edge.
Plate 1 · Rooftops, straight down. Illustrative stock photography; no client property, resident or member of staff appears anywhere in this note.

This did not start as a product. It started as a count. Fifty-one recurring tasks inside a multifamily operating company — the Monday packet, the AMI rent-cap check, the ninety-day notice window, the turn nobody priced — written down one at a time, timed, and totalled. The tally came to about 1,100 hours a month. That is roughly six full-time people spent compiling, chasing, and remembering.

NOI Engine is what I built against that number. What follows is the note that goes with it, and it is ordered the way I would want it if I were on your side of the table: the method first, then the figures with a date on them, then the eleven views, the fifty-one automations, the exclusions in writing, and a tariff you can check against your own unit count without opening Excel. There is no form on this page. The last section is a phone number, and it is me on the other end.

— Michael Gaff, founder

01What we measured, and how we measured it

Before any of the claims below, here is the arithmetic behind them. If the method does not hold, nothing after it should be believed either.

Every automation in the platform was specified against a task a person is doing today. For each one we recorded who does it, how often it runs, and how long it takes when nothing goes wrong. Frequency times duration gives hours per month. Hours per month divided by a 173-hour work-month gives full-time equivalents.1 Full-time equivalents times a single loaded cost per person gives the annual figure.2

Nothing here is modelled off a customer’s books, because there is no customer to model. This is our own study of the fifty-one automations we actually ship, and the totals below are the sum of its rows. They are not a projection, not a case study, and not an average of anybody else’s results. The suite-level hour counts are published in full in §04, and they add up in public: seven suites, 1,080 hours a month.3

Overhead view of a desk: printed tax and variance paperwork spread out, a calculator, a pen resting on a page, and a mug of coffee.
Plate 2 · The study, on paper. Fifty-one tasks, timed one at a time, on a desk that looked about like this one.
  • Automations specified and shipped, across eight suites51
  • Role-based analytics views, included with every plan11
  • Hours per month returned, sum of suites 1–7~1,1003
  • Full-time equivalents of capacity~61
  • Annual labour value at the study’s loaded cost~$500K2

Source: 51-automation time study, Gaff, 2026. Figures as of 8 August 2026. Notes 1–6 resolve at the foot of this note.

Divide the annual figure by the FTE count and you get roughly $80,000 loaded per person — that is the whole of the assumption, and it is one number. Substitute your own and the figure moves. We will do that arithmetic in front of you rather than behind you.

02What the week looks like before any of this

Your best people spend their weeks compiling, chasing, and remembering. The Monday packet. The lease-up checklist. The contract renewal windows. The rent-cap checks. The stalled turns nobody priced. It all gets done by hand, until the week it doesn’t — and the week it doesn’t is never a cheap week.

Hours are the baseline, and hours are the least interesting part of this. The point is the four misses below. Any one of them, once, pays for the platform outright.

An empty leasing-office lounge: low armchairs grouped around a table, an arc floor lamp, glazed partitions behind.
Plate 3 · A leasing lounge, mid-week, empty. Nobody in this room is compiling the Monday packet. Somebody upstairs is.
Table 02.1 — Four misses the platform is built to catch. Figures as of 8 August 2026.
No.The missWhat happens today
2.1 One over-cap lease On an attainable or HUD book, a single lease signed over the AMI cap costs more than a year of NOI Engine. Checked nightly, on every lease event.
2.2 One missed notice window A vendor contract that silently auto-renews because the 90-day window slipped is a five-figure miss. Every window gets a countdown.
2.3 One bleeding unit “This unit has cost you $3,400 so far.” Every stalled turn is priced per day and ranked every Monday.
2.4 One covenant surprise DSCR headroom projected 60 to 90 days before the test date. See a breach coming while you can still act on it.

03The seats the eleven views are cut for

Eleven role-based views ship with every plan, over one set of numbers. Everyone reads the same truth from their own altitude — the CFO’s covenant headroom and the community manager’s Monday list are the same data, cut for the person holding it. These are the seats:

Table 03.1 — Analytics seats. Eleven views ship in total; the full index is walked live in the demo. Figures as of 8 August 2026.
SeatWhat they open it for
CFOPortfolio P&L, covenant headroom, month-end variance with GL citations
COOEvery community on one grid, exceptions ranked before anything else
Regional VPTheir communities side by side, on the same definitions
Community managerTheir own week: turns, renewals, applications, what is late
RevenuePricing, concession audit trails, occupancy and exposure
LeasingFunnel, speed-to-lead, application status by community
MaintenanceWork orders, SLA breaches, the lost-rent meter on stalled turns
Owner / JVReporting for the capital, on your branding and your domain

All eleven views read one semantic layer, reconciled nightly against your PMS’s own reports and stamped “reconciled as of.” Analytics is included at the lower tariff line in §07.

04The fifty-one automations, as a schedule

Eight suites. Every recurring task, watched or written. The hour column is the study’s own output, not a rounded headline — you can add it up, and we have.

Looking down on a finished concrete deck: seven construction workers in high-visibility vests standing in a loose line, each casting a long shadow across the slab, with a rebar and conduit deck behind them.
Plate 4 · Seven people on a finished deck, casting seven shadows. The schedule below returns the time of about six of them, every month.
Table 04.1 — The eight suites, with the hour counts the study assigned them. Source: 51-automation time study, Gaff, 2026. Figures as of 8 August 2026.
No. Suite What runs Hrs / mo
01 Lease-Up Command Center Your full opening checklist live-tracked with owner digests; contracts abstracted by AI; collateral and eblasts drafted for approval. 105
02 Reporting & Alerting The weekly ops packet auto-generated for every community. Exception alerts on your thresholds. Covenant projections before the test date. 165
03 Compliance Guard AMI rent-cap checks on every lease event. Recert countdowns. COI and license expiry. Lease-file audit sampling before the auditor. 145
04 Maintenance & Turn Money A lost-rent meter on every stalled turn. SLA breach escalations. AI triage that flags urgents up, never down. Utility recapture. 170
05 Money-Side Audits Late-fee consistency. Concession audit trails. Tax and insurance exposure flagged before it hits the accrual. 30
06 Leasing Funnel & Renewals Renewal and application watchdogs. Speed-to-lead reply drafts. Review responses in your voice. Every send human-approved. 275
07 Financial Narrative Month-end variance commentary drafted with GL citations. Owner reports assembled. Deposit deadlines tracked to the statute. 190
08 Platform & Reliability Heartbeat monitoring, nightly reconciliation against your PMS’s own reports, and a monthly reliability report. It watches the watchdogs. nil4
Total, suites 1–7 1,080
Published as ~1,1003

1,080 ÷ 173 hours = 6.24 FTE. That is where the “~6 people” comes from, and it is the only place it comes from.

05What this platform will never do, in writing

Most of what follows is the reason a general counsel signs. These are not positioning statements. They are contract terms, and they are set here the way they are set in the agreement.

  1. 5.1

    No collections dunning, and no eviction documents. Ever, under any phase.

  2. 5.2

    No handling of resident income files.

  3. 5.3

    No unattended AI sends. A named human presses send on anything resident- or vendor-facing, and every send is logged immutably.

  4. 5.4

    No writes to your PMS or your Microsoft environment without a separately signed phase, with its own sandbox testing. The standing connection is read-only, and that scope is in the contract.

Two hands signing a printed document on a desk in hard directional light, the pen mid-stroke on the signature line.
Plate 5 · A signature page. An exclusion that is not in the agreement is not an exclusion.

If a vendor will not put its exclusions in the agreement, the exclusions do not exist. Ask the last three the same question.

06How it connects, and why it survives legal and IT

Entrata today, through a purpose-built connector. Yardi is next on the roadmap. If you run something else, ask — the semantic layer is PMS-agnostic by design. The connection itself is four steps and it is deliberately boring:

Table 06.1 — The integration, in order. Figures as of 8 August 2026.
StepStageWhat happens
1Connect, read-onlyA dedicated read-only API user. NOI Engine never writes to your system of record.
2Reconcile nightlyEvery metric is checked against your PMS’s own reports and stamped “reconciled as of.”
3Watch, write, draftReports generate. Watchdogs run. Drafts queue. All from one semantic layer your whole team shares.
4Your people approveOne approval queue. A named human presses send on anything resident- or vendor-facing. Every send logged.
Looking up at stacked apartment balconies receding in even courses against a bright sky, the repetition reading as a grid.
Plate 6 · Coursing, from below. The connection is built the same way: four steps, repeated nightly, deliberately boring.

Template governance. Resident-facing text is never free-written by AI. It merges facts into templates your counsel approved, with identical treatment at every stage of a process and a quarterly send-log report. Your legal team owns the template library.

Provable reliability. A heartbeat monitor alerts both sides if any check stops running. You get a monthly reliability report: what ran, what alerted, what didn’t. That is the whole of Suite 8, and it is why Suite 8 is scored at nil hours.

Continuity by contract. Source-code escrow, documented schemas, one-click data export, encryption in transit and at rest, and a Data Processing Addendum. Credentials are stored as encrypted secrets, never in code. No single point of failure, including me.

07Tariff

Pricing is published, so the multiplication is published too. Find your unit count on the left and read across. There is no highlighted plan and no badge; both lines are real products and one of them is cheaper.6

Table 07.1 — Annual cost by portfolio size, at the published per-unit rates. Implementation is one-time. Figures as of 8 August 2026.
Portfolio Analytics
$1.50 / unit / mo
Analytics + Automation
$4.00 / unit / mo
1,000 units$18,000$48,000
3,000 units$54,000$144,000
5,000 units$90,000$240,000
10,000 units$180,000$480,000
15,000 units$270,000$720,000
Implementation, one-time5 from $45,000 from $45,000
Two hands unrolling and annotating a set of architectural drawings across a dark desk.
Plate 7 · Drawings, marked up. Implementation is quoted the same way — scoped, phased and priced before anybody starts.

Analytics, $1.50 per unit per month. Eleven role-based views from portfolio down to unit. Live PMS data reconciled nightly. Exception-managed heat grids with drill-down. Branded to your company, on your domain, with email-gated access for your team.

Analytics + Automation, $4.00 per unit per month. Everything above, plus all eight suites and all fifty-one automations, the approval queue and template governance, auto-generated weekly ops reports for every community, the AMI rent-cap guard and compliance calendars, and heartbeat monitoring with the monthly reliability report.

Implementation, from $45,000. One-time, scaled to portfolio size and phases, covering the PMS integration, template governance setup, and training. A limited number of founding partnerships are available at reduced rates for operators who join early and serve as references.

08The questions your legal and IT teams will ask

Is this safe under fair housing?

It is designed for it. AI never free-composes resident-facing text. It populates counsel-approved templates with whitelisted merge fields, applies identical treatment at every stage of a process, requires a named human approval on every send, and logs everything immutably. Your legal team owns the template library and gets a quarterly report of exactly what went out.

Does it write to our Entrata?

No. The connection is read-only and that scope is written into the contract — see §05, clause 5.4. Any future write capability would be a separately signed phase with its own sandbox testing, and most clients never need one.

What about our data security?

Credentials are stored as encrypted secrets, never in code. Data is encrypted in transit and at rest. Access to your dashboards is gated to named email addresses. You get a Data Processing Addendum, source-code escrow, and one-click export of everything, so you are never locked in or dependent on any single person.

Which property management systems do you support?

Entrata today, with a purpose-built connector. Yardi is next on the roadmap. If you run something else, ask; the platform’s semantic layer is PMS-agnostic by design.

Will this replace our staff?

No, and we won’t pitch it that way. NOI Engine returns capacity: the compiling, chasing, and remembering that eats your team’s week goes away, and the hours come back for leasing, residents, and the judgment calls only people can make.

Notes

  1. 1.FTE conversion uses a 173-hour work-month. 1,080 ÷ 173 = 6.24 FTE, published as “~6”. Return ↑
  2. 2.Annual labour value is FTE count × a single loaded cost per person. Dividing the published ~$500K by 6.24 FTE implies roughly $80,000 loaded. It is one assumption, it is disclosed, and it is yours to replace. Return ↑
  3. 3.Hours returned is the arithmetic sum of the stated hour counts for suites 1–7 in Table 04.1: 105 + 165 + 145 + 170 + 30 + 275 + 190 = 1,080 hrs/mo. “~1,100” is that sum rounded to the nearest hundred. It is not a projection and not an average of other operators. Return ↑
  4. 4.Suite 8 (Platform & Reliability) is scored at nil returned hours. It is included with the platform and exists to watch the other seven. Return ↑
  5. 5.Tariff arithmetic is unit count × published per-unit rate × 12 months. Implementation is quoted one-time from $45,000 depending on portfolio size and phases. Return ↑
  6. 6.Pricing, exclusions and reconciliation language quoted in this note are contract terms. The executed agreement governs. Return ↑

The Tape · Concept two of 3