Currently Shipping AI into a real-estate acquisitions workflow Location San Mateo, CA Updated 2026-10-08
§ · Demo

AI Underwriting Pipeline — Sample Outputs

Give the pipeline a deal's raw documents — the marketing package, the trailing-twelve income statement, the rent roll — and this is what comes back. Four workbooks, previewed below and downloadable, built from one structured interchange file.

The fourth output is the argument for the other three. I don't build financial models. Every shop already has one, it took years to earn its committee's trust, and nobody wants a stranger's spreadsheet. What they want is the two days of extraction that happen before the model gets touched: categorising a twelve-month income statement into a consistent profit-and-loss layout, rolling a rent roll up by floor plan, finding the billed tax rate, pulling the comps. So the fourth workbook is a manifest — every value the pipeline extracts, and which input in your model it belongs in.

A few choices in here are load-bearing, and they are the ones I would want to be asked about. Total revenue sums from gross scheduled rent down, never from gross potential rent, because the second one counts loss-to-lease twice. Market rent for model is the new-lease average where a plan has new leases in the window and the in-place average otherwise — never a blend of the two, because a blended "recently leased" rent is a renewal average wearing a new-lease label and it understates trade-out on every deal it touches. Comp rents are stated as asking and net effective on every row, because a concession-blind comp set is the most common way a rent assumption goes wrong. Where a value could not be established the cell says MISSING, because a visible hole is cheaper than a plausible wrong number that survives into a model.

Formulas stay live in the workbooks — the profit-and-loss rows are SUMIFs over the data tab, not pasted totals — so anyone reviewing the output can audit the arithmetic instead of trusting it. The exception is the window-dependent columns on the unit mix, which are written as values on purpose: they are measured from the roll's as-of date, and a formula would quietly re-window itself the day someone reopened the file.

Deal summary
Rent database
Property tax
Supply database
T-12 analysis
Rent roll analysis
Excel model

Deal summary

One card, built from the deal's own documents. Where a value could not be established it reads MISSING rather than a plausible guess — a visible hole is cheaper than a wrong number that survives into a model.

Identification
Deal name
Sample Mesa AptIllustrative name
Address
2151 E Southern Ave, Mesa, AZ 85204Illustrative address — not the asset's real location. The market tabs were pulled for this address on 2026-10-06.Illustrative address
County
MaricopaIllustrative address
Market
Phoenix MSAIllustrative address
Property
Product type
Garden-style multifamily
Structure
1 & 2 stories
Units
334
Year built
1981
Detail
Diversified mix of one-, two-, and three-bedroom residences averaging 856 square feet on approximately 15.9 acres
Parties
Seller
Sonoran Residential Holdings LLC
Listing brokerage
Desert Ridge Capital Advisors
Pricing
Guidance
$215,000 per unit (illustrative)illustrativeEvery price and cap rate below is illustrative. The per-unit price is a round number chosen for the sample inside the band a real per-unit sale price occupies; it is not a quote, an offer, or a broker's guidance.
Total price
$71,810,000illustrative
T-12 NOI
$4,111,751From the T-12 rollup.
T-12 cap rate
5.73%illustrative
T-3 cap rate
5.78%illustrativeTrailing three months annualized.
Rents
In-place (avg)
$1,457
Market rent for model
$1,345New move-in rent (residents who moved in inside the window, by move-in date) where a plan has one, otherwise in-place — and in-place outright when the roll has no usable lease start or move-in date. Never a blend of new and renewal.
Taxes
Year-one tax (underwriting assumption)
—The figure to carry into the model: AZ does not reset the assessed value on sale. Proposition 117 caps growth in the limited property value at 5% a year, so year-one tax is the current basis grown at the cap — NOT the purchase price times the assessment ratio.computed
Year-one tax per unit
—computed
Tax bill as stated in the offering memorandum (2025)
$249,122The seller's figure, not verified against the county.Sample Property Offering Memorandum.pdf — p.10
Closing costs at the illustrative price
Transfer tax
$0No real-estate transfer tax · Ariz. Const. art. IX, sec. 24 (Prop 100, 2008) · The constitution bars any NEW transfer tax imposed after 2007-12-31; it does not repeal pre-existing ones, and Arizona had none ad valorem. A flat $2 deed fee (A.R.S. 11-1132(A)) and a $30-per-instrument recording fee (A.R.S. 11-475(A)(1)) still apply and are not percentage-based.
Mortgage / recording tax
$0No mortgage or recording tax on the security instrument · Ariz. Const. art. IX, sec. 24; A.R.S. 11-475(A)(1) · Recording is a flat per-instrument fee, not a tax on the amount borrowed.
Schools (internal underwriting agent only)
Elementary
Porter Elementary SchoolGreatSchools rating 6/10
Middle
Taylor Junior High SchoolGreatSchools rating 2/10
High
Mesa High SchoolGreatSchools rating 6/10
Source
Attendance-zone schools and ratings are looked up by the internal underwriting agent. The public demo does not run this on an uploaded deal.

Demand

Ring demographics from the operator's own engine, via the market-report service. ACS 2020-2024 5-year, 2020 Decennial baseline, LODES 2023 workplace counts, BLS metro series. All public, no licensed provider.

Read this before the 1-mile column. The 1-mile column overstates levels. Ring membership is decided by each census block group's internal point, then the whole block group is counted — at 1 mile a single large block group can sit mostly outside the ring and still be counted whole. Measured against a commercial source, 1-mile population reads roughly 2.3x and households roughly 1.9x too high. The 3-, 5- and 10-mile columns do not have this problem. Read the 1-mile column for MIX and SHARES (income distribution, renter share, sector concentration), which are ratios and survive the overcount, and read levels off the 3-mile column.

Households

2020 Census baseline, 2024 ACS 5-year actual, and a 2026 projection at the stated annual rate. The projection is an assumption and is labelled as one.

1 mi3 mi5 mi10 miPhoenix MSAArizonaU.S.Note
Households (2020 Census)7,20656,132146,226419,5241,790,2422,705,878126,817,580
Households (2024 actual)7,71158,574150,544437,6991,892,6132,856,081129,227,496
Growth 2020 to 20247.0%4.3%3.0%4.3%5.7%5.6%1.9%
Est. annual growth rate (to 2026)2.25%——————An assumption, not a measurement.
Households (2026 est.)8,06261,239157,395457,6171,978,7392,986,051135,108,155

Population

1 mi3 mi5 mi10 miPhoenix MSAArizonaU.S.Note
Population (2020 Census)20,712155,942393,0011,100,0324,845,8327,151,502331,449,281
Population (2024 actual)20,298159,356394,9001,119,3295,028,7547,378,838334,922,499
Growth 2020 to 2024-2.0%2.2%0.5%1.8%3.8%3.2%1.0%
Est. annual growth rate (to 2026)1.10%——————An assumption, not a measurement.
Population (2026 est.)20,747162,881403,6361,144,0905,139,9957,542,065342,331,320

Households by income (2024 actual)

ACS 5-year table B19001, sixteen source brackets collapsed to eight. The two subtotals are the affordability read: what share of households could carry this property's rents.

1 mi3 mi5 mi10 miPhoenix MSAArizonaU.S.Note
    Less than $25,0005936,24317,15447,798211,506384,33018,908,588
    $25,000 - $49,9991,55210,71925,45664,600288,010488,30621,624,902
    $50,000 - $74,9991,42310,64925,94970,656302,932472,14720,031,683
    $75,000 - $99,9991,5218,62721,84860,999259,375385,99416,319,799
    $100,000 - $124,9991,1077,37616,58051,720217,512308,86013,068,961
    $125,000 - $149,9995624,95312,64138,937156,498216,6199,601,960
    $150,000 - $199,9995395,03114,85647,604198,896269,58912,405,370
    $200,000 and over4154,97716,06155,384257,884330,23617,266,233
Subtotal $50,000 and over5,56641,612107,934325,3011,393,0971,983,44588,694,006
share of households72.2%71.0%71.7%74.3%73.6%69.4%68.6%
Subtotal $100,000 and over2,62322,33760,137193,645830,7901,125,30452,342,524
share of households34.0%38.1%39.9%44.2%43.9%39.4%40.5%

Income and affordability

Median is interpolated from the bracket distribution above rather than read from the ACS median table, so the median and the brackets cannot disagree.

1 mi3 mi5 mi10 miPhoenix MSAArizonaU.S.Note
Average household income (2024)$94,562$98,599$105,367$113,475$118,255$108,273$113,530
Median household income (2024)$79,731$79,857$82,682$89,670$88,866$80,392$81,202
Est. annual income growth (to 2026)6.20%——————An assumption, not a measurement.
Average household income (2026 est.)$106,651$111,204$118,838$127,982$133,373$122,115$128,044
Renter share43.4%39.1%39.1%39.2%33.4%32.6%34.8%
Rent-to-income at $1,457/mo (subject in-place rent)18.5%17.7%16.6%15.4%14.8%16.1%15.4%Against 2024 average household income by ring; the rent is the uploaded roll's unit-weighted in-place rent.

Home value — ZIP 85204 vs Phoenix, AZ

ZIP geography, not a drive ring — the only section here that does not share the columns above, so it is shown as its own three figures rather than stretched across ring headers it does not describe.

ValueNote
ZIP home value$390,790
Metro home value$446,248
ZIP vs metro-12.4%

Home values: Zillow Home Value Index (ZHVI), Zillow Group

Labor market

Ring job counts are WORKPLACE counts — jobs located inside the ring, not residents who hold jobs. The unemployment row above is the opposite: residents. The two answer different questions and are not interchangeable.

1 mi3 mi5 mi10 miPhoenix MSAArizonaU.S.Note
Unemployment rate (residents, ACS)5.2%4.6%4.5%4.3%4.7%5.1%5.2%
Jobs located inside the ring — LODES workplace counts
    20194,13859,160150,089458,587———
    20204,54758,281150,081455,808———
    20214,55159,099152,118466,363———
    20224,73963,423162,056501,185———
    2023 (latest)5,23765,104165,142516,884———
    Job growth 2019 to 202326.6%10.0%10.0%12.7%———Already a fraction in the engine's output, unlike the rates above.
    Job CAGR (4-yr)6.1%2.4%2.4%3.0%———

Metro nonfarm employment and unemployment — Maricopa County, Arizona

YearNonfarm jobs (000s)Job growthUnemployment
20262,468.70.3%4.4%
20252,462.50.3%3.8%
20242,456.02.2%3.3%
20232,402.23.2%3.3%
20222,328.45.0%3.3%
20212,216.74.6%4.6%
20202,120.0-2.6%7.3%
20192,177.33.4%4.1%
20182,106.13.3%4.2%
20172,037.93.0%4.3%
20161,978.4—4.7%

Jobs by industry (2023)

Share of jobs by sector, sorted by the metro's own concentration. Ring, MSA and state shares come from LODES workplace counts; the U.S. column is QCEW — a different survey, so read it as a benchmark rather than the same measurement. The location quotient on each row is the metro share over the national share.

1 mi3 mi5 mi10 miPhoenix MSAArizonaU.S.Note
Health Care/Social Asst16.8%13.2%12.8%15.8%14.4%14.8%15.2%Location quotient vs U.S.: 0.94x — less concentrated here.
Retail Trade14.0%13.1%13.0%12.6%10.9%11.0%10.2%Location quotient vs U.S.: 1.07x — more concentrated here.
Accommodation/Food Svcs10.9%9.2%9.6%9.7%9.2%9.8%9.2%Location quotient vs U.S.: 0.99x — less concentrated here.
Admin/Support/Waste9.2%11.0%9.0%7.1%8.7%8.1%6.2%Location quotient vs U.S.: 1.40x — more concentrated here.
Construction3.4%14.4%10.7%7.4%7.2%6.9%5.3%Location quotient vs U.S.: 1.35x — more concentrated here.
Educational Services5.6%9.2%11.0%9.8%6.9%7.8%8.5%Location quotient vs U.S.: 0.82x — less concentrated here.
Finance/Insurance1.4%2.6%2.8%6.4%6.7%5.6%4.1%Location quotient vs U.S.: 1.62x — more concentrated here.
Manufacturing0.5%3.8%4.5%6.5%6.2%6.2%8.5%Location quotient vs U.S.: 0.73x — less concentrated here.
Professional/Scientific/Tech3.5%6.5%5.9%6.1%6.0%5.7%7.1%Location quotient vs U.S.: 0.85x — less concentrated here.
Transportation/Warehousing1.1%0.6%1.9%2.3%4.7%4.3%4.8%Location quotient vs U.S.: 0.98x — less concentrated here.
Wholesale Trade0.8%3.6%3.8%3.2%4.1%3.7%4.0%Location quotient vs U.S.: 1.03x — more concentrated here.
Public Administration0.0%0.2%2.8%2.2%3.3%4.1%5.0%Location quotient vs U.S.: 0.66x — less concentrated here.
Other Services1.5%2.9%3.0%2.7%2.7%2.8%3.0%Location quotient vs U.S.: 0.91x — less concentrated here.
Arts/Entertainment/Rec27.4%3.2%2.9%2.1%2.1%2.1%1.8%Location quotient vs U.S.: 1.13x — more concentrated here.
Real Estate/Rental3.3%3.4%2.4%2.0%2.1%2.0%1.6%Location quotient vs U.S.: 1.31x — more concentrated here.
Information0.3%1.1%1.3%1.7%1.9%1.7%2.0%Location quotient vs U.S.: 0.94x — less concentrated here.
Mgmt of Companies0.1%1.7%1.9%1.9%1.8%1.5%1.7%Location quotient vs U.S.: 1.08x — more concentrated here.
Utilities0.1%0.1%0.4%0.3%0.7%0.7%0.5%Location quotient vs U.S.: 1.23x — more concentrated here.
Agriculture/Forestry/Fishing0.0%0.1%0.2%0.1%0.3%0.8%0.8%Location quotient vs U.S.: 0.39x — less concentrated here.
Mining/Oil & Gas0.0%0.1%0.0%0.0%0.1%0.4%0.4%Location quotient vs U.S.: 0.38x — less concentrated here.

Rent comps

Nearby communities, from an operator's own weekly rent scrape. Asking and net effective are stated separately on every row: a concession-blind comp set is the most common way a rent assumption goes wrong. No licensed comp feed is used. The two detail tiers are shown here; every other tracked community inside the radius, with the reason it is not a comp, is carried in the downloadable interchange file.

Tier 1 — Top comps

The closest 5 communities matching the subject's product and vintage, in full detail.

Vintage filter: +/-10 years of the subject's year built.

CommunityMilesBuiltPlanBdBaSFAskingConcessionNet effectiveAsking $/SFOccupancyAs of
Saltera Apartments0.119841BR — lowest five of 5 available1—688$1,200$0$1,200$1.74—2026-09-30
The Hamptons0.319811BR — lowest five of 9 available1—625$996$0$996$1.59—2026-09-29
The Hamptons0.319812BR — lowest five of 9 available2—725$1,186$0$1,186$1.64—2026-09-29
Cielo on Gilbert0.719851BR — lowest five of 6 available1—579$1,243$95$1,148$2.15—2026-09-30
The Vance0.919861BR — lowest five of 10 available1—658$1,043$0$1,043$1.58—2026-09-29
Lucera Apartments1.519861BR — lowest five of 2 available1—530$1,109$0$1,109$2.09—2026-09-30
Lucera Apartments1.519861BR — lowest five of 4 available1—700$1,244$0$1,244$1.78—2026-09-30
Lucera Apartments1.519862BR — lowest five of 6 available2—892$1,413$0$1,413$1.58—2026-09-30

Tier 2 — Additional comps

The next 8 communities matching the subject's product and vintage, in full detail.

CommunityMilesBuiltPlanBdBaSFAskingConcessionNet effectiveAsking $/SFOccupancyAs of
Pebble Creek1.519851BR — lowest five of 1 available1—630$1,150$0$1,150$1.83—2026-09-30
Pebble Creek1.519852BR — lowest five of 1 available2—780$1,425$0$1,425$1.83—2026-09-30
Gilbert Greens Apartments1.619851BR — lowest five of 5 available1—605$1,230$94$1,136$2.03—2026-09-29
Gilbert Greens Apartments1.619852BR — lowest five of 1 available2—808$1,425$110$1,315$1.76—2026-09-29
Mesa Station1.619841BR — lowest five of 12 available1—570$953$0$953$1.67—2026-09-29
Mesa Station1.619842BR — lowest five of 29 available2—686$990$0$990$1.44—2026-09-29
Mesa Station1.619842BR — lowest five of 8 available2—771$1,130$0$1,130$1.47—2026-09-29
Dana Park Apartments1.719861BR — lowest five of 1 available1—722$1,245$0$1,245$1.72—2026-09-30
Dana Park Apartments1.719862BR — lowest five of 1 available2—1,025$1,599$0$1,599$1.56—2026-09-30
Dana Park Apartments1.719862BR — lowest five of 1 available2—1,067$1,695$0$1,695$1.59—2026-09-30
Astero Mesa East1.819872BR — lowest five of 1 available2—900$1,399$0$1,399$1.55—2026-09-29
Astero Mesa East1.819872BR — lowest five of 1 available2—1,044$1,449$0$1,449$1.39—2026-09-29
Astero Mesa West1.819861BR — lowest five of 1 available — STALE snapshot (older than the tracker's freshness threshold)1—576$1,049$0$1,049$1.82—2026-09-16
Gentrys Walk Apartments1.919861BR — lowest five of 6 available1—500$1,227$0$1,227$2.45—2026-09-30
Gentrys Walk Apartments1.919861BR — lowest five of 4 available1—700$1,344$0$1,344$1.92—2026-09-30
Gentrys Walk Apartments1.919862BR — lowest five of 8 available2—920$1,432$0$1,432$1.56—2026-09-30
The Orchard on Gilbert1.919861BR — lowest five of 14 available1—483$1,209$93$1,117$2.50—2026-09-30
The Orchard on Gilbert1.919862BR — lowest five of 3 available2—865$1,585$122$1,463$1.83—2026-09-30

Unit count and year built, by community

Each figure names where it came from. A unit count is shown only where a public record states one (a county property record, a state apartment licence, a city permit), with that record's as-of date; a community's count in the licensed registry is never shown. Year built is the public record's where it has one, the community registry's otherwise.

CommunityTierUnitsUnits fromBuiltBuilt from
Saltera Apartments1306Maricopa County, AZ property record, as of 2026-10-051984Maricopa County, AZ property record, as of 2026-10-05
The Hamptons1249Maricopa County, AZ property record, as of 2026-10-051981Maricopa County, AZ property record, as of 2026-10-05
Cielo on Gilbert1432Maricopa County, AZ property record, as of 2026-10-051985Maricopa County, AZ property record, as of 2026-10-05
The Vance1464Maricopa County, AZ property record, as of 2026-10-051986Maricopa County, AZ property record, as of 2026-10-05
Lucera Apartments1192Maricopa County, AZ property record, as of 2026-10-051986Maricopa County, AZ property record, as of 2026-10-05
Pebble Creek2122Maricopa County, AZ property record, as of 2026-10-051985Maricopa County, AZ property record, as of 2026-10-05
Gilbert Greens Apartments2164Maricopa County, AZ property record, as of 2026-10-051985Maricopa County, AZ property record, as of 2026-10-05
Mesa Station2397Maricopa County, AZ property record, as of 2026-10-051984Maricopa County, AZ property record, as of 2026-10-05
Dana Park Apartments2222Maricopa County, AZ property record, as of 2026-10-051986Maricopa County, AZ property record, as of 2026-10-05
Astero Mesa East2MISSINGNo public record; the licensed count is held back1987community registry (third-party market data)
Astero Mesa West2MISSINGNo public record; the licensed count is held back1986community registry (third-party market data)
Gentrys Walk Apartments2176Maricopa County, AZ property record, as of 2026-10-051986Maricopa County, AZ property record, as of 2026-10-05
The Orchard on Gilbert2130Maricopa County, AZ property record, as of 2026-10-051986Maricopa County, AZ property record, as of 2026-10-05

Two comp sets, selected identically except for the vintage test

Held fixed in both: candidate pool, product test, tracker comp exclusions, radius, closest-20 cap, per-community rent rules, mix weighting. Varied: the +/-10-year vintage test only.

Comp setCommunitiesVintagesComp net effectiveSubject reads
A — vintage test ON131981–1987$1,2554.7%
B — vintage test OFF171981–2018$1,3030.8%
Difference between the two sets$483.9%

In B but not A. Craft at Gilbert and Baseline, The Premiere at Dana Park, The Village at Lindsay Park Apartments, Vista Grove
In A but not B. —

Both figures are weighted by this property's own unit mix and computed over the same bed counts, so the two rows describe the same product. This is what these two sets measured on this date; it is not an estimate of what vintage is worth in this market.

Coverage. 357 tracked communities within 10 mi; 345 with rents on the tracker; 30 returned with unit groups by the service (its preselection); 13 in the detail tiers; rents as of 2026-09-30.

By bed count — like for like

BedsCommunitiesPlansAvg askingAvg net effective
1 bed1214$1,160$1,140
2 bed912$1,394$1,375
Subject versus comp set
Subject market rent
$1,345
Comp-set average asking
$1,268Over 13 communities in the detailed tiers (top 5 plus next 15) — never the whole radius.
Comp-set average net effective
$1,248
Comp set, mix-matched
$1,255Each bed count's comp net-effective weighted by the SUBJECT's own unit mix, so the comparison is like for like.
Subject rent, same bed counts
$1,314The subject's own rent restricted to the bed counts the comp set covers, so both sides describe the same product.
Mix coverage
95%Share of the subject's units matched by bed count (beds [1, 2]).
Subject vs comp set (mix-matched)
4.7%Negative means the subject is underwritten BELOW the market — mark-to-market room rather than a stretch.
Subject vs flat average
7.7%Shown for contrast only: a flat average compares the subject against whatever bed mix the market happened to list.
Source
own weekly scrapescraped 2026-09-30

Stated in the offering memorandum

No comparables stated
The memorandum's stated comparables are withheld: they would place the real asset.

An empty block that says why it is empty is a deliverable. A block of plausible numbers is not.

Retail for-sale comps are not part of this demo. Sale comparables shown here are the whole-community trades the memorandum itself cites.

Property tax

Rates as actually billed, not statutory or effective. The current year is checked against the bill the offering memorandum states — the seller's figure, not the county's; the assumption block is what a buyer should carry at the illustrative price.

The rate, as billed
Parcel
301-04-002KAs stated in the offering memorandum, not a county record.Sample Property Offering Memorandum.pdf — p.10
Tax area code
Available in the internal underwriting agent onlyInternal pipeline only
Combined rate
10.2573 per $100Primary plus secondary, as billed.Vendored county rate table — property_tax_table.COUNTY_RATES[('AZ', 'maricopa')]
Assessment ratio
10%Legal class for a rental, not the owner-occupied rate.Vendored county rate table — property_tax_table.STATE_RULES['AZ']
Rate evidence
Vendored county rate table: 10.2573 per $100 of assessed value, tax year 2025 — Tax area code 971300 — City of Phoenix / Deer Valley Unified School District #97: Primary rate 6.7007; Secondary rate 3.5566. Source: Maricopa County, '2025 Tax Rates, Maricopa County, Arizona' (the treasurer's rate table by tax area code), row 971300: primary 6.7007, approx residential primary 5.1401, secondary 3.5566 (maricopa.gov/5160/Tax-Levy-and-Rates — Tax Rate 2025 PDF). Verified 2026-09-04. The parcel's own tax district decides; this is the representative stack for the county. Maricopa publishes rates per tax area code and they vary by district: area 591300 (City of Phoenix / Laveen ESD #59) is 15.7387 in the same table. The parcel's own tax area decides. The 'approx residential primary' column is the owner-occupied rebate and does not apply to a rental. Ratio 10% — legal class 4.2, residential rental (A.R.S. sec. 42-15003 (class four assessed at 10%); A.R.S. sec. 42-12004 (class four includes residential rental property)). The upload demo reaches no county portal: the parcel, tax area code, assessor's value and billed amount are not verified against one, and read MISSING unless an uploaded document stated them. The rate on file is a representative district stack for the county, not the parcel's own. The offering memorandum stated the parcel (301-04-002K); it is kept as stated and not verified against a county portal. The offering memorandum stated the billed amount ($249,122); it is kept as stated and not verified against a county portal. The offering memorandum stated the bill's tax year (2025); it is kept as stated and not verified against a county portal.Vendored county rate table — property_tax_table.evidence_text (derived)
Current year
Assessed-value basis
Available in the internal underwriting agent onlyLimited property value (LPV), per the county assessorInternal pipeline only
Assessed value
MISSINGBasis times the legal-class ratio.
Computed annual tax
MISSINGcomputed
Tax bill as stated in the offering memorandum
$249,122For 2025, as the memorandum states it — the seller's figure, not verified against the county.Sample Property Offering Memorandum.pdf — p.10
Computed less billed
NOT CHECKEDStatus: NOT CHECKED.
Property taxes per the statement (T-12)
$239,567As billed in the uploaded statement over its twelve months — the operator's ledger, not the county's bill, which the demo does not fetch.Sample Property T-12 June 26.xlsx — Property Taxes lines (computed)
Per-unit sanity band
In band (the statement's line per unit): $717 per unit a year is inside the AZ band of $400–$2,600A check against the state's typical range. It flags; it never changes a figure.Vendored county rate table — property_tax_table.band_check (derived)
Underwriting assumption at the illustrative price
Does the basis reset on sale?
NoAZ does not reset the assessed value on sale. Proposition 117 caps growth in the limited property value at 5% a year, so year-one tax is the current basis grown at the cap — NOT the purchase price times the assessment ratio.
Year-one full value
MISSINGCurrent LPV grown 5% (the Prop 117 cap)
Year-one assessed value
MISSINGAssessed value = full value x assessment ratio
Year-one tax
MISSINGThe figure to carry into the model.computed
Year-one tax per unit
MISSINGcomputed
What the generic shortcut would have said
Assessed value if it reset to the price
$7,181,000Purchase price times the assessment ratio — the pattern that holds in most states.
Tax on that basis
$736,577
Overstatement versus the correct approach
MISSINGShown because the size of the error is the point: a tax line this far out fails a deal that works.

Every line marked Available in the internal underwriting agent only — the parcel, its tax area, the assessed value and the county's bill — is produced by the internal underwriting agent from the county assessor. The demo carries the rate, the assessment ratio and the tax it computes from them.

Competing supply

Pipeline projects by ring and stage. Stage is stated because entitled units and delivered units are not the same risk.

Coverage note. These rings and stages are real and unmodified, and a zero is a genuine zero for the sources covered so far — not a gap left blank. Coverage of the permit and entitlement pipeline is an area of ongoing work and will be expanded, so read this section as a floor on competing supply rather than a census of it.

RingStageProjectsUnits
1 miEntitlement272
1 miPermitted136
3 miEntitlement20621
3 miPermitted13558
5 miEntitlement615,152
5 miPermitted443,355
10 miEntitlement23639,029
10 miPermitted19116,643
RingPipeline unitsExisting stockUnits as % of stock
1 mi108MISSING—
3 mi1,179MISSING—
5 mi8,507MISSING—
10 mi55,672MISSING—

Projects within 3 miles

One row per development, at the furthest stage the pipeline shows; a dash means the source did not state it.

ProjectMilesStageUnitsTypeAddressCityAcresDeveloperFirst filedLatest activitySource layers
Reed Park Residences0.9Entitlement72multifamily——3.2—2026-07-032026-07-03Entitlement
Williams Place1.0Permitted36apartment_rental539 S WILLIAMSMesa1.0—2023-10-302026-08-26County permits
Flats At Reed Park1.0Entitlement—multifamily—MESA——2025-03-06—NOI radar (Arizona DEQ)
2102 E BROADWAY RD1.0Permitted—apartment_rental2102 E BROADWAY RDMesa——2026-03-022026-04-02County permits
The Groves Apartments1.0Permitted37apartment_rental2030 E BROADWAY RDMesa——2026-05-052026-05-11County permits
3 Four 5 Villas1.1Entitlement15multifamily——1.1—2026-07-032026-07-03Entitlement
Countryside Manor1.3Entitlement40multifamily——2.3—2026-07-032026-07-03Entitlement
The Bungalows on Ash1.3Permitted—other_mf1381 N GILBERT RDGILBERT——2020-06-252021-06-16County permits
La Jolla Villas1.6Entitlement15multifamily——1.1—2026-07-032026-07-03Entitlement
1424 E DANA AVE1.6Permitted4apartment_rental1424 E DANA AVEMesa0.1—2026-02-112026-05-21County permits
Dana Park Village Square1.6Entitlement36multifamily——4.2—2026-07-032026-07-03Entitlement
Case ID: Z08-017 - 110 S Allen Rd1.8Entitlement9multifamily——1.1—2026-07-032026-07-03Entitlement
214 N GILBERT RD 1111.8Permitted—apartment_rental214 N GILBERT RD 111Mesa——2023-02-232023-03-01County permits
Tangerine2.1Entitlement29multifamily——2.1—2026-07-032026-07-03Entitlement
3020 E MAIN ST2.1Permitted—apartment_rental3020 E MAIN STMesa——2023-07-272023-08-03County permits
La Mesa Village Apartments2.2Entitlement—multifamily—MESA——2024-10-29—NOI radar (Arizona DEQ)
505 S LESUEUR C2.2Permitted—apartment_rental505 S LESUEUR CMesa——2020-07-012020-07-23County permits
Pioneer Place2.2Entitlement9mixed——0.8—2026-07-032026-07-03Entitlement
PS16-006 A New Leaf Apartment Bldg2.3Entitlement40multifamily——1.7—2026-07-032026-07-03Entitlement
3426 E UNIVERSITY DR2.5Permitted36apartment_rental3426 E UNIVERSITY DRMesa——2021-02-152021-09-27County permits
455 E MAIN ST2.6Permitted—apartment_rental455 E MAIN STMesa——2019-03-072020-12-08County permits
ASPIRE HERITAGE2.6Entitlement—multifamily—GILBERT——2019-04-24—NOI radar (Arizona DEQ)
Van Damme Residence2.6Entitlement2multifamily——0.2—2026-07-032026-07-03Entitlement
LEGACY SQUARE2.6Permitted110multifamily140 S POMEROYMESA—Willow Bridge Property Company2025-02-062025-07-03County permits, NOI radar (Arizona DEQ)
Cadillac Aparments2.6Entitlement7multifamily——0.8—2026-07-032026-07-03Entitlement
Clare House Social2.6Entitlement—mixed————2026-07-032026-07-03Entitlement
The Brundrett Building2.7Entitlement—mixed————2026-07-032026-07-03Entitlement
233 E MAIN ST2.8Permitted—apartment_rental233 E MAIN STMesa——2020-01-272022-02-16County permits
NEC Neely St and Aviary Way2.8Entitlement99multifamily——11.8—2026-07-032026-07-03Entitlement
Mesa Main Street Apartments2.8Entitlement36multifamily——4.3—2026-07-032026-07-03Entitlement
145 E MAIN ST 12.9Permitted335apartment_rental145 E MAIN ST 1Mesa——2021-04-012021-12-06County permits
Fiesta Rose Garden2.9Entitlement12multifamily——1.0—2026-07-032026-07-03Entitlement
NWC Gilbert Rd and Elliot Rd3.0Entitlement200mixed——2.2—2026-07-032026-07-03Entitlement

T-12 data

The monthly matrix as normalized, with each source line mapped to a category. Months run oldest-first, detected from the labels rather than assumed — the trailing-three window depends on it. An uncategorized subtotal the statement printed stays visible, and nothing sums it twice.

Line itemCategory2025-072025-082025-092025-102025-112025-122026-012026-022026-032026-042026-052026-06T-12T-3
MARKET RENT (1016)Gross Potential Rent$523,748$518,034$477,312$488,186$476,769$475,585$462,715$487,927$456,093$461,043$514,811$485,380$5,827,604$1,461,234
LOSS/GAIN TO LEASE (1017)Gain / (Loss) to Lease($8,037)($2,589)$35,055$20,408$32,613$28,352$41,273$17,429$45,136$39,787($14,837)$15,006$249,595$39,956
VACANCY (1020)Vacancy($28,109)($37,566)($41,626)($39,869)($48,284)($42,153)($36,450)($32,724)($36,969)($34,182)($25,351)($19,116)($422,400)($78,650)
MANAGEMENT OFFICE/MODEL (1030)Non-Revenue Units($1,248)($1,248)($1,248)($1,248)($1,248)($1,248)($1,248)($1,248)($1,248)($1,248)($1,248)($1,248)($14,982)($3,746)
STAFF UNITS (1040)Non-Revenue Units($859)($497)($1,221)($474)($362)$0$0$0$0$0$0$0($3,413)$0
ONE-TIME CONCESSION (1052)Concessions($14,341)($1,700)($24,159)($24,241)($8,080)($1,336)($22,935)($12,130)($800)($1,100)($4,521)($1,562)($116,906)($7,183)
VALET TRASH REIMBURSEMENTS (3001)Utility Reimbursements$41$8,386$8,240$8,226$8,315$8,237$8,353$8,425$8,300$8,333$8,550$8,692$92,098$25,576
LATE CHARGES (3011)Other Income$2,987$6,226$6,413$4,811$4,912$4,556$3,911$4,949$4,261$2,144$2,516$4,720$52,406$9,380
NSF FEE (3012)Other Income$0$165$275$55$220$165$275($55)$0$0$110$0$1,210$110
APPLICATION FEES (3030)Other Income$660$264$2,244$1,254$1,254$1,584$1,716$1,515$1,980$2,772$2,244$594$18,081$5,610
ADMINISTRATIVE FEE (3036)Other Income$1,980$0$3,300$4,840$1,100$66$3,080$878$1,834$4,400$3,338$990$25,806$8,728
TENANT DAMAGE REIMBURSEMENT (3040)Other Income$15,523$9,060$5,485$4,000$5,570$1,708$160$4,485$8,125$3,240$1,673$5,742$64,769$10,655
UTILITIES RECOVERY (3050)Utility Reimbursements$426$773$491$542$839$620$442$527$710$268$607$75$6,319$950
FEE CONCESSION (3053)Concessions$0$0$4,169($4,169)$0$0$0$0$0$0$0$0$0$0
VENDING INCOME (3060)Other Income$0$0$0$0$126$0$113$0$0$0$0$0$239$0
CABLE INCOME (3066)Other Income$0$0$4,572$0$0$4,197$0$4,079$0$0$0$4,031$16,880$4,031
LAUNDRY INCOME (3070)Other Income$1,346$879$0$1,437$2,352$1,641$1,024$2,072$1,756$1,514$1,462$2,145$17,628$5,121
COURT COST REIMBURSEMENT (3080)Other Income$3,646$3,447$4,765$3,953$2,537$2,868$5,500$6,393$2,188$1,987$1,253$4,107$42,645$7,347
BAD DEBT WRITE-OFF - OTHER (3086)Delinquency($3,878)($32,946)($30,005)($9,504)($2,474)($21,999)($20,899)($11,681)($14,744)($28,115)($2,820)($12,541)($191,607)($43,476)
TERMINATION FEE (3112)Other Income$9,633$11,475$8,173$3,025$18,984$9,385$963$20,409$10,615$10,941$0$11,486$115,089$22,427
CONCIERGE SERVICES INCOME (3117)Other Income$1,721$1,672$1,659$1,656$1,634$1,647$1,670$1,679$1,660$1,667$1,710$1,738$20,115$5,115
PET FEES (3118)Other Income$1,320($440)$0$440$2,200$1,320$0$0$440$1,320$880($440)$7,040$1,760
PET RENT (3119)Other Income$2,208$2,331$2,189$2,127$2,429$2,321$2,327$2,184$2,152$2,217$2,174$2,385$27,043$6,775
PEST CONTROL FEES (3121)Other Income$665$687$686$670$513$646$661$703$678$668$657$681$7,915$2,006
DEPOSIT WAIVER INCOME (3156)Other Income$3,881$3,047$2,418$1,830$1,327$1,086$971$755$530$379$374$374$16,973$1,127
DEPOSIT WAIVER EXPENSE (3157)Other Income($2,499)($1,861)($1,202)($585)($257)($7)$0$0$0$0$0$0($6,411)$0
RENTER'S INSURANCE INCOME (3175)Other Income$5,223$5,102$4,961$4,889$5,206$5,461$5,250$5,311$5,239$5,330$5,467$5,659$63,100$16,457
RENTER'S INSURANCE EXPENSE (3176)Other Income($4,683)($4,669)($4,534)($4,423)($4,455)($4,489)($4,489)($5,192)($4,679)($4,590)($4,815)($4,872)($55,891)($14,277)
TRANSFER FEE (3179)Other Income$825$550$275$0($275)$275$275$0$550$0$0$0$2,475$0
MISCELLANEOUS INCOME (3180)Other Income$102($61)$0$6$0$724$1,100$0$0$186$110$1,100$3,266$1,396
UTILITY FEE REIMBURSEMENT (3183)Utility Reimbursements$1,234$1,242$1,230$1,195$1,211$1,183$1,187$1,269$1,222$1,203$1,187$1,218$14,581$3,608
WATER/SEWER REIMBURSEMENT (3186)Utility Reimbursements$17,710$18,899$20,658$18,509$18,109$13,591$17,811$17,552$16,612$16,023$16,771$17,710$209,956$50,504
TRASH REIMBURSEMENT (3187)Utility Reimbursements$11,588$3,241$3,414$3,407$3,444$3,287$3,375$3,524$3,466$3,392$3,352$3,493$48,981$10,236
SALES TAX COLLECTED (3192)Other Income$29$29$29$24$2$1$1($99)$1$1$1$0$22$3
OTHER REIMBURSEMENTS (3198)Other Income$0$0($192)$0$0$0$0$0$0$0$0$0($192)$0
BAD DEBT DEPOSIT WAIVER FEE (3081)Delinquency$1,068$1,640$2,045$2,446$2,532$2,753$2,784$2,772$2,771$2,813$2,693$2,607$28,923$8,113
BAD DEBT WRITE-OFF (3084)Delinquency($370)($11,315)($9,770)($1,307)($958)($8,909)($15,170)($5,060)($16,600)($2,275)($324)($4,468)($76,525)($7,066)
BAD DEBT- ALLOWANCE FOR DOUBTFUL ACCOUNTS (3085)Delinquency($2,546)$2,290$279($1,244)($7,445)($1,810)$8,516($440)$2,495$0$0$192$286$192
BAD DEBT COLLECTED - DEPOSIT ALTERNATIVE CLAIMS (3087)Delinquency$8,108$15,495$11,905$4,304$7,267$1,554$8,224$1,691$1,925$1,100$0$0$61,573$1,100
BAD DEBT COLLECTED - IN HOUSE (3088)Delinquency$2,974($86)($640)$0$0$0$0$0$0$0$0$0$2,248$0
BAD DEBT COLLECTED - COLLECTION AGENCY (3089)Delinquency$0$0$0$339$0$0$187$187$506$0$680$102$2,000$782
BAD DEBT ADJUSTMENTS (3091)Delinquency$1,953($295)($443)$2,109$1,536($17)$912$1,206($135)($399)($425)$2,119$8,121$1,294
PROMOTIONAL MATERIALS (5010)Leasing and Marketing$0$149$0$80$149$0$58$44$317$0$25$9$830$33
MARKETING COLLATERAL (5020)Leasing and Marketing$560$0$0$0$0$40$0$0$51$134$0$0$785$134
ONLINE ADVERTISING (5070)Leasing and Marketing$7,756$5,918$5,391$5,894$4,693$5,630$5,765$4,335$4,128$5,966$4,830$4,961$65,268$15,757
SPECIALTY MARKETING (5090)Leasing and Marketing$125$125$125$125$1,313$171$125$312$125$125$125$125$2,924$376
MARKETING PERFORMANCE MEASUREMENT (MPM) & LEAD MGM (5099)Leasing and Marketing$500$500$500$812$1,205$1,956$484$532$508$508$508$508$8,520$1,524
COMMUNITY FUNCTIONS (5120)Leasing and Marketing$441$310$220$244$270$0$0$0$33$482$79$261$2,339$822
TENANT REFERRAL FEES (5160)Leasing and Marketing$190$0$0$0$0$0$0$0$0$0$0$0$190$0
OFFICE SUPPLIES (5410)General and Administrative$229$330$100$43$119$0$0$221$48$368$109$322$1,889$799
TRAINING/SEMINARS (5430)General and Administrative$154$154$154$154$154$154$59($106)$114$426$394$299$2,108$1,119
OFFICE EQUIP/LEASE/PURCHASE (5440)General and Administrative$0$0$0$0$0$0$0$208$0$0$0$0$208$0
CAREER APPAREL (5455)General and Administrative$176$0$0$0$0$420$0$0$0$481$0$0$1,077$481
TRAVEL (5460)General and Administrative$42$468$280$62$0$101$242$2,306$0$96$274$25$3,895$394
DUES/SUBSCRIPTIONS (5470)General and Administrative$1,618$256$0$0$0$0$492$524$0$0$3,248($2)$6,137$3,246
BLUE MOON LICENSE (5475)General and Administrative$0$0($1,523)$0$0$0$0$0$0$0$0$0($1,523)$0
CREDIT REPORTS (5480)General and Administrative$1,890$0$3,295$1,841$824$872$1,140$120$1,260$872$2,277$921$15,310$4,070
LEGAL EXPENSE (5510)Legal and Professional$5,323$1,681$2,177$3,133$4,993$1,805$1,686$4,925$3,622$862$1,255$1,323$32,785$3,439
MRI FEES (5515)General and Administrative$667$667$667$667$667$670$670$670$1,913$1,290$1,286$1,289$11,124$3,865
LRO FEES (5525)General and Administrative$542$542$542$542$542$542$542$542$542$542$542$542$6,503$1,626
TELEPHONE - LOCAL LINES (5530)General and Administrative$1,175$469$525$487$412$431$452$1,290($324)$1,174$400$456$6,949$2,031
HIGH SPEED INTERNET (5531)General and Administrative$0$0$0$0$1,562$0$1,409$0$1,473$701$756$720$6,620$2,177
ANSWERING SERVICE (5535)General and Administrative$155$155$155$155$155$155$155$155($155)$0$0$0$1,083$0
MISCELLANEOUS (5550)General and Administrative$0$0$0$0$42$0$0$0$0$0$0$0$42$0
TECHNOLOGY COSTS (5590)General and Administrative$2,729$2,359$2,015$2,782$2,967$3,034$3,384$3,082$1,975$2,946$2,596$2,321$32,190$7,863
MANAGEMENT FEES (5700)Management Fee$12,703$12,438$12,340$11,833$12,384$11,764$12,155$12,616$12,539$11,958$12,443$12,517$147,690$36,917
MANAGEMENT FEE - OTHER (5740)Management Fee$598$598$598$598$598$598$598$598$598$598$598$598$7,182$1,796
PROPERTY MANAGER/ADMINISTRATOR (5810)Payroll$8,583$4,998$706$706$957$16,020$7,198$7,586$8,127$7,747$13,339$7,829$83,796$28,915
OFFICE OVERTIME (5815)Payroll$65$117$280$223$747$648$109$246$298$563$435$147$3,878$1,144
ASSISTANT MGR/LEASING AGENT (5820)Payroll$10,492$10,583$10,620$10,728$10,196$16,156$10,740$10,027$10,455$10,665$13,505$8,280$132,448$32,451
MAINTENANCE/ENGINEER/SUPERVISOR (5830)Payroll$6,493$6,471$6,014$6,648$5,985$6,174$317$159$2,507$6,050$9,091$5,739$61,646$20,880
MAINTENANCE OVERTIME (5835)Payroll$4,064$3,541$2,565$2,965$5,200$1,333$759$603$1,556$848$3,779$2,633$29,847$7,261
MAINTENANCE PAYROLL (5840)Payroll$8,754$8,232$7,420$6,627$4,309$13,122$8,095$8,318$8,283$8,432$12,229$8,360$102,180$29,021
TEMPORARY EMPLOYMENT (5855)Payroll$0$665$665$998$0$0$0$2,167$251$0$0$408$5,155$408
LEASING BONUSES (5860)Payroll$5,982$6,786$5,616$4,259$5,822$2,984$3,134$3,787$5,451$4,799$4,524$6,390$59,533$15,713
FRINGE BENEFITS (5870)Payroll$4,261$4,450$3,115$3,364$3,396$4,470$2,693$4,014$3,956$4,159$6,205$4,147$48,230$14,511
WORKERS COMP INSURANCE (5875)Payroll$1,077$1,037$893$793$826$883$454$457$593$684$1,051$731$9,479$2,466
PAYROLL TAXES (5880)Payroll$3,331$3,048$2,469$2,101$2,358$4,206$2,463$2,802$2,773$2,953$4,216$2,924$35,645$10,094
RECRUITING EXPENSE (5882)Payroll$0$219$0$0$0$133$97$0$0$0$0$0$449$0
PAYROLL PROCESSING (5885)Payroll$332$239($40)$222$108$257$501$248$76$277$255$244$2,720$776
GROUNDS (6010)Landscaping$4,745$5,363$7,102$4,745$3,613$9,051$6,007$5,267$4,745$4,745$4,380$4,802$64,566$13,928
SECURITY (6030)Repairs and Maintenance$1,612$1,612$1,612$1,612$1,612$1,612$1,638$1,053$1,638$1,638$1,638$1,638$18,918$4,914
SECURITY SYSTEM ACCESS MONITORING (6031)Repairs and Maintenance$269$135$135$135$244$135$135$135$72$62$135$135$1,726$332
FIRE PUMP TESTING (6035)Repairs and Maintenance$0$0$0$0$0$0$1,249$0$0$0$1,048$0$2,297$1,048
CLEANING - COMMON (6040)Repairs and Maintenance$380$902$432$394$1,335$380$380$171$251$377$776$870$6,650$2,023
UNIT CLEANS - TURN (6041)Unit Turns$2,337$2,480$1,734$1,819$3,430$5,330$1,499$3,325$3,197$3,320$2,389$3,149$34,008$8,859
PLUMBING (6060)Repairs and Maintenance$0$238$1,813$2,815$7,646$280$4,365$3,123$1,237$1,398$271$2,522$25,707$4,191
ELECTRICAL (6070)Repairs and Maintenance$1,420$5,044$1,761$1,340$655$0$418$309$370$2,798$618$1,449$16,181$4,864
BUILDING EXTERIORS (6100)Repairs and Maintenance$0$0$2,073$891$0$4,804$1,568$0$0$0$499$366$10,201$864
R&M PRESSURE WASHING (6105)Repairs and Maintenance$0$0$0$0$624$0$0$0$0$0$0$0$624$0
ROOF (6130)Repairs and Maintenance$0$0$0$1,425($1,425)$0$784$0$0$0$0$0$784$0
GLASS (6140)Repairs and Maintenance$124$0$119$256$703$114$0$460$527$228$262$0$2,793$490
CARPET REPAIR/CLEANING - TURN (6160)Unit Turns$1,164$1,216$285$812$7,524$998$507$608$1,036$1,572$2,019$532$18,271$4,123
CARPET REPAIR/CLEANING - OCCUPIED (6161)Repairs and Maintenance$0$0$0$0$0$0$632$0$0$0$0$62$694$62
EXTERMINATING CONTRACT (6190)Repairs and Maintenance$2,198$2,963$2,232$4,307$6,428$2,494$1,671$939$949$1,697$1,587$2,628$30,093$5,912
INTERIOR PAINT - TURN (6200)Unit Turns$4,123$3,890$3,990$2,741$5,871$4,304$1,368$2,854$5,282$5,580$2,419$2,793$45,215$10,792
HVAC REPAIRS (6220)Repairs and Maintenance$3,912$3,942$2,580$801$2,002$5,033$1,592$1,831($827)$687$1,454$2,399$25,405$4,539
EQUIPMENT REPAIRS (6290)Repairs and Maintenance$81$3,105$1,259$778$209$1,306($1,306)$0$2,960$0$1,834$52$10,277$1,886
UNIT TURNS (6300)Unit Turns$0$0$0$0$0$0$0$4,581$0$0$0$0$4,581$0
LOCKS & KEYS (6310)Repairs and Maintenance$0$0$0$0$0$0$0$0$0$42$0$0$42$42
GROUND SUPPLIES (6510)Landscaping$46$822$99$57$318$120$0$0$60$56$97$152$1,827$305
POOL SUPPLIES (6520)Repairs and Maintenance$610$2,351$975$257$489$0$0$0$730$221$781$656$7,070$1,658
JANITORIAL SUPPLIES (6540)Repairs and Maintenance$176$364$346$332$518$491$48$168$767$411$286$338$4,245$1,036
GATE/PARKING REPAIRS (6550)Repairs and Maintenance$478$0$162$0$0$162$242$0$0$0$573$0$1,616$573
ELECTRICAL SUPPLIES (6560)Repairs and Maintenance$138$225$490$475$305$414$614$788$281$190$308$211$4,442$709
PLUMBING SUPPLIES (6570)Repairs and Maintenance$445$765$604$367$961$1,385$385$812$1,395$555$423$374$8,472$1,353
BUILDING REPAIRS (6610)Repairs and Maintenance$0$0$0$257$48$270$867$102$215$0$0$0$1,759$0
SCREENS (6640)Repairs and Maintenance$0$0$0$0$0$143$0$0$0$0$0$0$143$0
GLASS (6660)Repairs and Maintenance$138$0$0$0$0$0$0$0$14$0$0$0$152$0
BLDG. INTERIOR MAINT. (6670)Repairs and Maintenance$0$0$0$0$0$10,464($10,464)$0$0$0$0$0$0$0
INTERIOR PAINT SUPPLIES - TURN (6700)Unit Turns$814$1,352$717$712$3,414$1,918$339$203$981$1,866$641$1,067$14,023$3,574
FILTERS (6720)Repairs and Maintenance$118$117$95$86$220$183$0$0$116$36$123$87$1,181$246
HVAC PARTS (6730)Repairs and Maintenance$373$553$656$216$20$386$601$144$198$782$33$271$4,231$1,086
APPLIANCE PARTS (6760)Repairs and Maintenance$365$381$106$189$330$136$648$540$574$327$519$604$4,721$1,451
HARDWARE (6770)Repairs and Maintenance$0$0$0$0$0$52$0$83$23$30$0$0$188$30
TOOLS & EQUIPMENT (6830)Repairs and Maintenance$58$132$51$76$0$27$0$0$55$51$0$164$612$215
UNIFORMS (6870)General and Administrative$0$0$0$0$0$0$0$0$162$296$181$0$639$477
GAS (7010)Utilities$373$359$389$378$394$447$446$438$437$412$406$418$4,897$1,236
TRASH REMOVAL (7025)Utilities$4,285$3,692$4,774$4,133$4,133$4,654$4,948$5,938$4,468$6,089$4,604$5,381$57,099$16,074
VALET TRASH (7026)Utilities$3,243$3,243$2,802$2,802$2,802$3,243$3,332$3,343$3,343$3,543$3,220$2,272$37,188$9,035
ELECTRICITY - COMMON AREA (7030)Utilities$2,644$2,748$2,289$1,921$1,472$1,428$1,490$1,382$1,439$1,671$1,841$2,006$22,331$5,518
ELECTRICITY - VACANT (7040)Utilities$2,616$1,871$2,123$280$1,639$895$906$788$514$750$1,136$1,087$14,604$2,972
RECOVERABLE ELEC/GAS/WATER (7050)Utilities$648$235$908$83$426$487$242$349$197($21)$237$258$4,049$474
WATER (7060)Utilities$8,993$10,082$8,962$8,619$6,751$8,632$8,124$8,025$7,860$8,318$8,510$9,421$102,297$26,249
SEWAGE (7070)Utilities$7,425$8,307$7,400$7,122$5,608$7,132$6,641$6,562$6,430$6,796$6,949$7,678$84,050$21,423
UTILITY BILLING EXPENSE (7075)Utilities$906$907$870$867$880$852$860$883$912$906$885$919$10,648$2,710
REAL ESTATE TAXES (7110)Property Taxes$19,353$19,353$19,353$23,041$19,722$19,722$19,837$19,837$19,837$19,837$19,837$19,837$239,567$59,511
LICENSES & FEES (7130)General and Administrative$0$0$0$0$48$0$0$0$0$1,495$0$0$1,543$1,495
LIABILITY INSURANCE (7210)Insurance$6,015$6,015$6,015$5,815$6,842$5,815$5,815$5,815$5,815$5,815$5,815$5,815$71,410$17,446
PROPERTY INSURANCE (7220)Insurance$8,080$8,080$8,080$8,080$8,080$8,080$8,080$8,080$8,080$8,080$6,868$6,071$93,740$21,019

P&L summary

The rollup. Two rules do the work: gross scheduled rent is whatever the statement printed, or gross potential rent plus gain/(loss) to lease where it printed nothing; and total revenue sums from gross scheduled rent down — never from gross potential rent, which would count loss-to-lease twice.

Line itemT-12T-3 annualizedPer unit% of revenue
Gross Potential Rent$5,827,604$5,844,938$17,44894.5%
Gain / (Loss) to Lease$249,595$159,825$7474.0%
Gross Scheduled Rent$6,077,199$6,004,763$18,19598.5%
Vacancy($422,400)($314,599)($1,265)-6.8%
Concessions($116,906)($28,732)($350)-1.9%
Non-Revenue Units($18,395)($14,982)($55)-0.3%
Delinquency($164,980)($156,245)($494)-2.7%
Utility Reimbursements$371,935$363,497$1,1146.0%
Other Income$440,206$375,083$1,3187.1%
Revenue Adjustments————
Total Revenue$6,166,659$6,228,784$18,463100.0%
General and Administrative$95,795$118,570$2871.6%
Leasing and Marketing$80,856$74,584$2421.3%
Payroll$575,007$654,559$1,7229.3%
Insurance$165,150$153,862$4942.7%
Property Taxes$239,567$238,043$7173.9%
Legal and Professional$32,785$13,757$980.5%
Management Fee$154,872$154,850$4642.5%
Landscaping$66,392$56,932$1991.1%
Repairs and Maintenance$191,221$158,100$5733.1%
Unit Turns$116,097$109,390$3481.9%
Utilities$337,165$342,762$1,0095.5%
Expense Adjustments————
Total Operating Expenses$2,054,908$2,075,409$6,15233.3%
Net Operating Income$4,111,751$4,153,375$12,31166.7%

Gross scheduled rent basis: gross potential rent + gain/(loss) to lease.

Other Income — top 5 plus rest

Line itemT-12T-3 annualized
TERMINATION FEE (3112)$115,089$89,707
TENANT DAMAGE REIMBURSEMENT (3040)$64,769$42,618
RENTER'S INSURANCE INCOME (3175)$63,100$65,826
RENTER'S INSURANCE EXPENSE (3176)($55,891)($57,108)
LATE CHARGES (3011)$52,406$37,520
All other other income (17 lines)$200,733$196,519
Total other income$440,206$375,083

Utility Reimbursements — top 4 plus rest

Line itemT-12T-3 annualized
WATER/SEWER REIMBURSEMENT (3186)$209,956$202,018
VALET TRASH REIMBURSEMENTS (3001)$92,098$102,303
TRASH REIMBURSEMENT (3187)$48,981$40,945
UTILITY FEE REIMBURSEMENT (3183)$14,581$14,433
All other utility reimbursements (1 lines)$6,319$3,799
Total utility reimbursements$371,935$363,497

Utilities — top 4 plus rest

Line itemT-12T-3 annualized
WATER (7060)$102,297$104,996
SEWAGE (7070)$84,050$85,694
TRASH REMOVAL (7025)$57,099$64,296
VALET TRASH (7026)$37,188$36,140
All other utilities (5 lines)$56,530$51,636
Total utilities$337,165$342,762

Trailing T-3 annualized revenue

Each figure is that month plus the two before it, times four — the trend the T-3 cap rate sits at the end of. Fewer than eight months of statement give fewer figures, never a padded zero.

MonthT-3 annualized revenue
2026-01$6,022,369
2026-02$6,022,884
2026-03$6,075,786
2026-04$6,144,709
2026-05$6,100,666
2026-06$6,228,784

Pricing and cap rate

Pricing and cap rate
Price per unit
$215,000illustrative
Unit count
334
Total purchase price
$71,810,000illustrative
T-12 revenue
$6,166,659
T-12 operating expenses
$2,054,908
T-12 net operating income
$4,111,751
T-12 cap rate
5.73%illustrative
T-3 revenue (annualized)
$6,228,784
T-3 operating expenses (annualized)
$2,075,409
T-3 net operating income (annualized)
$4,153,375
T-3 cap rate
5.78%illustrative
Revenue trend
T-12 revenue
$6,166,659
T-6 annualized
$6,152,285
T-3 annualized
$6,228,784

T-12 audit trail

The cross-tie against the subtotals the source statement printed, then the statement against the rent roll. A difference over a dollar reads REVIEW rather than quietly passing; a subtotal the source never printed reads NOT CHECKED, not OK.

CheckOur totalSource subtotalDifferenceStatusWhy
Total Revenue$6,166,659$6,166,659$0OK
Total Operating Expenses$2,054,908$2,054,908($0)OK
Net Operating Income$4,111,751$4,111,751$0OK
Utilities$337,165$337,165$0OK
Group subtotals (Other Income, Utility Reimbursements)———NOT CHECKEDThe statement prints no subtotal for these 2 groups, so there is nothing to tie their category totals to. The P&L still shows each group's own total.

Statement sanity checks

Four guards on how the statement is printed. A REVIEW is flagged for a reader to resolve; nothing here changes a number — the P&L is the statement as categorised, unflipped.

GuardStatusLines namedDetail
Contra-revenue categories net negativeOK—Every contra-revenue category (Vacancy, Concessions, Non-Revenue Units, Delinquency) nets negative, as it must.
Total operating expenses positiveOK—Total operating expenses are $2,054,908 — positive, as an expense total must be.
No recovery lines inside expense bucketsOK—No negative line inside an expense category carries a recovery word (rebill, reimburse, recover, recapture).
No subtotal row counted with its membersOK—No categorised row named like a subtotal (|value| ≥ $500) equals the sum of one to three rows within 25 lines of it.

Across the two documents: statement vs rent roll

Different documents on different bases — twelve months of a statement against one day of a roll — so a tie within 10% is the expected state and a wider gap is the thing to look at, not a rounding difference.

TieStatementRent rollGapStatusBasis / why not
Gross Potential Rent vs the roll's market rent x 12$5,827,604$5,651,8563.1%OKstatement GPR, twelve months; roll market rent, every unit, x 12
Total Revenue vs the roll's in-place rent x 12$6,166,659$5,472,45612.7%REVIEWstatement total revenue; roll in-place rent, occupied units, x 12

Rent roll

The normalized per-unit roll. Unit identifiers only — there is no tenant-name column in the schema, so there is nothing for a scrub step to miss. Lease type is derived from the gap between lease start and move-in (31-day tolerance); a blank means the source could not support a classification, and a date the source gave as text stays text rather than being coerced.

UnitPlanBdBaSFStatusLease startMove-inTypeIn-place rent$/SF
10013X2B32.01,444Occupied2026-06-012019-09-25Renewal$2,258$1.56
10023X2B32.01,444Occupied2024-12-302020-11-30Renewal$2,265$1.57
10032X2R22.01,006Non-revenue2025-12-012019-12-10Renewal——
10042X222.01,006Non-revenue—————
10051X111.0720Occupied2025-09-182025-09-18New$1,181$1.64
10061X1R11.0720Occupied2026-06-092026-06-09New$1,265$1.76
10071X111.0720Occupied2026-05-012014-01-01Renewal$1,108$1.54
10081X1R11.0720Occupied2026-01-022020-12-02Renewal$1,450$2.01
10091X1R11.0720Occupied2026-06-222026-06-22New$1,176$1.63
10101X111.0720Occupied2026-04-012012-01-16Renewal$1,153$1.60
10111X111.0720Occupied2026-07-012026-07-01New$1,276$1.77
10121X111.0720Occupied2026-07-012015-03-01Renewal$1,163$1.62
10132X222.01,006Occupied2026-03-172020-03-17Renewal$1,569$1.56
10142X2R22.01,006Occupied2025-08-102024-08-10Renewal$1,528$1.52
10152X222.01,006Occupied2026-05-012023-05-30Renewal$2,161$2.15
10162X2R22.01,006Occupied2025-10-302025-10-30New$1,433$1.42
10172X222.01,006Occupied2026-07-292025-07-29Renewal$1,586$1.58
10182X222.01,006Occupied2026-07-182024-06-18Renewal$1,995$1.98
10192X2R22.01,006Occupied2025-11-272024-11-27Renewal$1,606$1.60
10202X222.01,006Occupied2026-07-012008-12-08Renewal$1,535$1.53
10212X121.0846Occupied2026-07-222021-04-22Renewal$1,746$2.06
10222X1R21.0846Occupied2025-09-302024-09-30Renewal$1,388$1.64
10232X1R21.0846Occupied2026-04-092026-04-09New$1,250$1.48
10242X1R21.0846Occupied2025-11-202025-11-20New$1,297$1.53
10252X222.01,006Occupied2026-07-302025-05-30Renewal$1,570$1.56
10262X222.01,006Occupied2025-12-042025-12-04New$1,491$1.48
10272X2R22.01,006Occupied2026-02-282026-02-28New$1,307$1.30
10282X2R22.01,006Occupied2026-06-302025-05-30Renewal$1,870$1.86
10291X111.0720Occupied2025-08-112025-08-11New$1,239$1.72
10301X1R11.0720Occupied2026-07-312022-07-31Renewal$1,653$2.30
10311X1R11.0720Occupied2026-02-282023-12-30Renewal$1,296$1.80
10321X111.0720Occupied2026-07-012016-04-07Renewal$1,347$1.87
10331X1R11.0720Occupied2026-07-032026-07-03New$1,176$1.63
10341X1R11.0720Occupied2025-07-112022-05-11Renewal$1,255$1.74
10351X111.0720Occupied2025-09-012015-10-02Renewal$1,244$1.73
10361X111.0720Occupied2026-04-192025-03-19Renewal$1,302$1.81
10371X111.0720Occupied2026-03-172025-04-17Renewal$1,250$1.74
10381X1R11.0720Occupied2026-03-012025-02-01Renewal$1,219$1.69
10391X111.0720Occupied2026-04-152026-04-15New$1,197$1.66
10401X111.0720Occupied2025-11-012025-11-01New$1,213$1.68
10411X111.0720Occupied2026-03-012025-02-01Renewal$1,224$1.70
10421X1R11.0720Occupied2026-07-032024-07-03Renewal$1,250$1.74
10431X111.0720Occupied2026-07-012023-07-19Renewal$1,512$2.10
10441X111.0720Occupied2025-09-012022-09-01Renewal$1,470$2.04
10452X222.01,006Occupied2025-07-172024-07-17Renewal$1,822$1.81
10462X222.01,006Occupied2026-06-132026-06-13New$1,564$1.55
10472X222.01,006Occupied2026-05-302021-02-28Renewal$1,752$1.74
10482X2R22.01,006Occupied2026-04-092026-04-09New$1,370$1.36
10491X1R11.0720Vacant—————
10501X111.0720Occupied2025-11-092025-11-09New$1,307$1.82
10511X111.0720Occupied2025-09-042025-09-04New$1,166$1.62
10521X1R11.0720Occupied2026-03-292025-02-28Renewal$1,192$1.66
10531X111.0720Occupied2025-09-142024-09-14Renewal$1,367$1.90
10541X111.0720Occupied2025-12-182025-12-18New$1,281$1.78
10551X1R11.0720Occupied2025-10-142025-10-14New$1,124$1.56
10561X1R11.0720Occupied2026-01-212026-01-21New$1,171$1.63
10571X1R11.0720Occupied2025-11-272024-05-27Renewal$1,363$1.89
10581X1R11.0720Occupied2025-09-062023-09-06Renewal$1,413$1.96
10591X1R11.0720Occupied2026-01-142026-01-14New$1,234$1.71
10601X111.0720Occupied2025-08-202025-08-20New$1,218$1.69
10611X1R11.0720Occupied2026-07-142022-06-14Renewal$1,530$2.12
10621X1R11.0720Occupied2026-01-212026-01-21New$1,197$1.66
10631X1R11.0720Occupied2026-03-012023-03-08Renewal$1,539$2.14
10641X111.0720Vacant—————
10652X2R22.01,006Occupied2026-07-262024-07-26Renewal$1,500$1.49
10662X2R22.01,006Occupied2026-01-242024-01-24Renewal$1,522$1.51
10672X2R22.01,006Occupied2026-02-022024-02-02Renewal$1,668$1.66
10682X222.01,006Occupied2025-11-262025-11-26New$1,507$1.50
10692X2R22.01,006Occupied2026-07-302024-07-30Renewal$1,875$1.86
10702X2R22.01,006Occupied2026-07-152025-07-15Renewal$1,518$1.51
10712X2R22.01,006Vacant—————
10722X222.01,006Occupied2026-06-142025-06-14Renewal$1,586$1.58
10732X2R22.01,006Occupied2026-07-012025-07-01Renewal$1,586$1.58
10742X222.01,006Vacant—————
10752X222.01,006Occupied2026-06-242025-05-24Renewal$1,517$1.51
10762X222.01,006Occupied2026-01-172024-01-17Renewal$1,748$1.74
10772X222.01,006Occupied2026-07-232021-08-23Renewal$2,397$2.38
10782X222.01,006Occupied2026-04-232026-04-23New$1,522$1.51
10793X2AR32.01,194Occupied2025-11-222024-11-22Renewal$1,998$1.67
10803X2A32.01,194Occupied2025-11-272024-10-27Renewal$1,911$1.60
10813X2AR32.01,194Occupied2026-06-302026-06-30New$2,021$1.69
10823X2AR32.01,194Occupied2025-11-012025-11-01New$1,964$1.64
10833X2A32.01,194Occupied2026-02-182026-02-18New$1,785$1.49
10843X2AR32.01,194Occupied2025-09-182024-09-18Renewal$2,110$1.77
10852X222.01,006Occupied2025-10-252023-10-25Renewal$2,024$2.01
10862X2R22.01,006Occupied2025-10-302024-11-30Renewal$1,619$1.61
10872X222.01,006Occupied2026-07-202018-10-20Renewal$1,508$1.50
10882X222.01,006Occupied2025-09-302025-09-30New$1,601$1.59
10892X121.0846Occupied2026-02-242026-02-24New$1,360$1.61
10902X1R21.0846Occupied2026-05-012025-05-18Renewal$1,408$1.66
10912X1R21.0846Occupied2026-02-112026-02-11New$1,412$1.67
10922X1R21.0846Occupied2025-09-162025-09-16New$1,438$1.70
10932X1R21.0846Occupied2026-06-162025-05-16Renewal$1,349$1.59
10942X1R21.0846Occupied2025-10-012022-10-19Renewal$1,912$2.26
10952X1R21.0846Occupied2026-03-072026-03-07New$1,250$1.48
10962X121.0846Occupied2026-04-122026-04-12New$1,228$1.45
10972X222.01,006Occupied2026-07-162020-09-16Renewal$1,745$1.73
10982X2R22.01,006Occupied2026-03-032025-02-03Renewal$1,570$1.56
10992X222.01,006Occupied2025-09-282025-09-28New$1,628$1.62
11002X2R22.01,006Occupied2026-05-162025-04-16Renewal$1,470$1.46
11012X2R22.01,006Occupied2026-05-122026-05-12New$1,465$1.46
11022X222.01,006Occupied2026-07-102025-07-10Renewal$1,570$1.56
11032X222.01,006Occupied2026-04-082025-04-08Renewal$1,528$1.52
11042X222.01,006Occupied2026-07-122024-09-12Renewal$2,067$2.05
11052X121.0846Occupied2026-07-172024-07-17Renewal$1,995$2.36
11062X1R21.0846Occupied2025-09-182025-09-18New$1,423$1.68
11072X1R21.0846Occupied2026-03-222026-03-22New$1,250$1.48
11082X1R21.0846Occupied2026-07-142023-09-14Renewal$1,644$1.94
11092X222.01,006Occupied2026-05-192025-04-19Renewal$1,454$1.45
11102X2R22.01,006Occupied2026-06-112026-06-11New$1,449$1.44
11112X2R22.01,006Occupied2026-06-242026-06-24New$1,449$1.44
11122X222.01,006Occupied2025-08-052025-08-05New$1,628$1.62
11132X121.0846Occupied2026-01-062026-01-06New$1,570$1.86
11142X121.0846Occupied2025-10-012023-10-01Renewal$1,774$2.10
11152X121.0846Occupied2026-01-262023-11-26Renewal$1,460$1.73
11162X121.0846Occupied2026-07-172024-07-17Renewal$1,586$1.87
11171X1R11.0720Occupied2025-12-142025-12-14New$1,213$1.68
11181X1R11.0720Occupied2025-10-152025-10-15New$1,176$1.63
11191X111.0720Occupied2026-05-272025-04-27Renewal$1,253$1.74
11201X111.0720Occupied2026-01-022026-01-02New$1,134$1.57
11212X1R21.0846Vacant—————
11222X121.0846Occupied2026-01-022026-01-02New$1,328$1.57
11232X121.0846Occupied2026-03-232025-03-23Renewal$1,433$1.69
11242X121.0846Occupied2026-06-052025-06-05Renewal$1,471$1.74
11251X1R11.0720Occupied2026-05-012026-05-01New$1,197$1.66
11261X111.0720Occupied2026-03-202026-03-20New$1,202$1.67
11271X111.0720Occupied2025-07-122019-05-12Renewal$1,438$2.00
11281X1R11.0720Occupied2025-09-242024-09-24Renewal$1,442$2.00
11292X1R21.0846Vacant—————
11302X121.0846Occupied2025-12-242025-12-24New$1,328$1.57
11312X1R21.0846Occupied2026-02-232026-02-23New$1,250$1.48
11322X1R21.0846Occupied2026-01-202026-01-20New$1,360$1.61
11331X1R11.0720Occupied2026-04-042026-04-04New$1,150$1.60
11341X111.0720Occupied2026-06-152026-06-15New$1,354$1.88
11351X111.0720Occupied2026-04-072026-04-07New$1,260$1.75
11361X1R11.0720Occupied2026-04-122026-04-12New$1,097$1.52
11371X111.0720Occupied2026-04-172025-04-17Renewal$1,263$1.75
11381X111.0720Occupied2026-06-302020-06-30Renewal$1,200$1.67
11391X1R11.0720Occupied2026-05-082026-05-08New$1,134$1.57
11401X111.0720Occupied2026-06-252024-05-25Renewal$1,331$1.85
11411X1R11.0720Occupied2026-03-242026-03-24New$1,113$1.55
11421X1R11.0720Occupied2026-07-042023-10-04Renewal$1,743$2.42
11431X111.0720Occupied2026-02-152025-02-15Renewal$1,484$2.06
11441X1R11.0720Occupied2025-11-272023-11-27Renewal$1,351$1.88
11451X111.0720Occupied2025-12-312025-12-31New$1,286$1.79
11461X1R11.0720Occupied2026-07-112024-06-11Renewal$1,555$2.16
11471X111.0720Occupied2025-10-152024-12-15Renewal$1,346$1.87
11481X111.0720Occupied2026-05-292026-05-29New$1,197$1.66
11491X1R11.0720Occupied2026-06-212024-04-21Renewal$1,244$1.73
11501X111.0720Occupied2025-12-082017-12-08Renewal$1,224$1.70
11511X111.0720Occupied2026-07-012023-07-11Renewal$1,522$2.11
11521X111.0720Occupied2026-05-032025-04-03Renewal$1,289$1.79
11531X1R11.0720Occupied2026-04-242024-04-24Renewal$1,284$1.78
11541X1R11.0720Occupied2026-01-012024-01-09Renewal$1,260$1.75
11551X111.0720Occupied2025-09-182025-09-18New$1,197$1.66
11561X1R11.0720Occupied2026-01-172024-12-17Renewal$1,208$1.68
11571X1R11.0720Occupied2026-01-062024-01-06Renewal$1,354$1.88
11581X1R11.0720Occupied2026-04-302026-04-30New$1,181$1.64
11591X111.0720Occupied2025-09-112025-09-11New$1,181$1.64
11601X111.0720Occupied2026-01-012022-12-20Renewal$1,489$2.07
11611X1R11.0720Occupied2025-08-062025-08-06New$1,286$1.79
11621X1R11.0720Occupied2025-08-172025-08-17New$1,124$1.56
11631X111.0720Occupied2026-05-302024-04-30Renewal$1,193$1.66
11641X111.0720Occupied2025-09-152025-09-15New$1,181$1.64
11653X2B32.01,444Vacant—————
11663X2BR32.01,444Occupied2026-03-252025-03-25Renewal$2,453$1.70
11672X222.01,006Occupied2025-09-232024-09-23Renewal$1,748$1.74
11682X2R22.01,006Occupied2025-08-102024-08-10Renewal$1,521$1.51
11693X2BR32.01,444Occupied2026-05-252022-05-25Renewal$2,123$1.47
11703X2B32.01,444Occupied2026-03-042026-03-04New$1,948$1.35
20032X222.01,006Non-revenue—————
20042X2R22.01,006Non-revenue—————
20051X111.0720Occupied2026-01-242026-01-24New$1,292$1.79
20061X111.0720Occupied2026-01-152025-01-15Renewal$1,265$1.76
20071X1R11.0720Occupied2026-05-242023-05-24Renewal$1,571$2.18
20081X1R11.0720Occupied2026-07-102024-07-10Renewal$1,334$1.85
20091X111.0720Occupied2026-05-162024-04-16Renewal$1,292$1.79
20101X111.0720Occupied2025-08-012008-06-10Renewal$1,539$2.14
20111X111.0720Occupied2025-12-242025-12-24New$1,134$1.57
20121X111.0720Occupied2025-08-282024-07-28Renewal$1,407$1.95
20132X222.01,006Occupied2025-11-242025-11-24New$1,496$1.49
20142X2R22.01,006Occupied2026-04-132025-04-13Renewal$1,793$1.78
20152X222.01,006Occupied2026-07-012016-12-23Renewal$1,683$1.67
20162X2R22.01,006Occupied2026-07-052025-06-05Renewal$1,877$1.87
20172X222.01,006Occupied2025-08-182024-09-18Renewal$1,638$1.63
20182X2R22.01,006Occupied2025-11-302025-11-30New$1,423$1.41
20192X222.01,006Occupied2026-04-272025-04-27Renewal$1,623$1.61
20202X222.01,006Occupied2026-04-052026-04-05New$1,470$1.46
20212X121.0846Occupied2026-07-162025-07-16Renewal$1,823$2.15
20222X121.0846Occupied2025-07-102025-07-10New$1,507$1.78
20232X121.0846Occupied2026-04-162026-04-16New$1,349$1.59
20242X121.0846Occupied2026-07-282020-06-28Renewal$1,877$2.22
20252X222.01,006Occupied2026-04-302025-04-30Renewal$1,694$1.68
20262X2R22.01,006Occupied2025-12-152025-12-15New$1,407$1.40
20272X2R22.01,006Occupied2026-03-012026-03-01New$1,428$1.42
20282X2R22.01,006Occupied2025-10-132025-10-13New$1,580$1.57
20291X111.0720Occupied2025-05-302023-05-30Renewal$1,505$2.09
20301X1R11.0720Occupied2026-06-042025-05-04Renewal$1,239$1.72
20311X1R11.0720Occupied2026-01-232023-11-23Renewal$1,235$1.72
20321X111.0720Occupied2025-09-082025-09-08New$1,166$1.62
20331X1R11.0720Occupied2025-11-282025-11-28New$1,218$1.69
20341X111.0720Occupied2026-05-242021-02-24Renewal$1,230$1.71
20351X111.0720Occupied2026-07-262023-07-26Renewal$1,959$2.72
20361X1R11.0720Occupied2026-07-122024-06-12Renewal$1,589$2.21
20371X1R11.0720Occupied2025-08-172024-07-17Renewal$1,466$2.04
20381X111.0720Occupied2026-05-012013-03-29Renewal$1,132$1.57
20391X111.0720Occupied2025-09-202025-09-20New$1,181$1.64
20401X111.0720Occupied2025-08-012014-10-01Renewal$1,213$1.68
20411X111.0720Occupied2026-07-242024-05-24Renewal$1,624$2.26
20421X111.0720Occupied2026-05-162026-05-16New$1,213$1.68
20431X111.0720Occupied2026-06-252026-06-25New$1,281$1.78
20441X1R11.0720Occupied2026-04-072025-03-24Renewal$1,176$1.63
20452X2R22.01,006Occupied2026-04-142026-04-14New$1,381$1.37
20462X222.01,006Occupied2025-07-302025-07-30New$1,659$1.65
20472X222.01,006Occupied2026-02-202025-02-20Renewal$1,634$1.62
20482X2R22.01,006Occupied2026-07-052023-07-05Renewal$1,697$1.69
20491X1R11.0720Occupied2026-04-022025-04-02Renewal$1,194$1.66
20501X111.0720Occupied2026-07-011998-07-08Renewal$1,224$1.70
20511X111.0720Occupied2025-12-312024-12-31Renewal$1,250$1.74
20521X111.0720Occupied2026-05-072025-05-07Renewal$1,300$1.81
20531X1R11.0720Occupied2025-09-302024-09-30Renewal$1,326$1.84
20541X111.0720Occupied2025-10-102025-10-10New$1,334$1.85
20551X1R11.0720Occupied2026-05-242025-04-24Renewal$1,202$1.67
20561X1R11.0720Occupied2026-05-092025-04-09Renewal$1,320$1.83
20571X111.0720Occupied2026-07-152024-06-15Renewal$1,799$2.50
20581X1R11.0720Occupied2026-02-012025-02-01Renewal$1,244$1.73
20591X111.0720Occupied2026-03-242026-03-24New$1,391$1.93
20601X111.0720Occupied2026-06-012024-07-01Renewal$1,466$2.04
20611X1R11.0720Occupied2026-04-292025-03-29Renewal$1,194$1.66
20621X1R11.0720Occupied2026-05-292026-05-29New$1,244$1.73
20631X1R11.0720Occupied2026-04-132026-04-13New$1,181$1.64
20641X1R11.0720Occupied2026-05-012025-04-01Renewal$1,232$1.71
20652X222.01,006Occupied2025-12-162019-11-16Renewal$1,726$1.72
20661X111.0720Occupied2026-05-012023-03-21Renewal$1,932$2.68
20672X222.01,006Vacant—————
20682X222.01,006Occupied2025-12-082025-12-08New$1,496$1.49
20692X2R22.01,006Occupied2025-07-142023-09-14Renewal$1,718$1.71
20702X222.01,006Occupied2026-04-042026-04-04New$1,528$1.52
20712X2R22.01,006Occupied2026-02-012023-02-25Renewal$1,896$1.88
20722X2R22.01,006Occupied2026-03-022026-03-02New$1,344$1.34
20732X2R22.01,006Vacant—————
20742X222.01,006Occupied2026-03-072020-01-07Renewal$1,677$1.67
20752X222.01,006Vacant—————
20762X222.01,006Occupied2025-09-012023-08-01Renewal$1,785$1.77
20772X2R22.01,006Vacant—————
20782X222.01,006Occupied2025-09-012011-09-04Renewal$1,286$1.28
20793X2A32.01,194Occupied2026-05-202024-03-20Renewal$1,831$1.53
20803X2A32.01,194Occupied2025-12-232025-12-23New$1,643$1.38
20813X2A32.01,194Occupied2026-02-272026-02-27New$1,633$1.37
20823X2AR32.01,194Occupied2026-04-172026-04-17New$1,774$1.49
20833X2AR32.01,194Occupied2025-12-012024-12-03Renewal$1,889$1.58
20843X2AR32.01,194Occupied2026-01-272026-01-27New$1,654$1.39
20852X222.01,006Occupied2025-08-012023-08-12Renewal$1,804$1.79
20862X2R22.01,006Occupied2026-03-282024-03-28Renewal$1,516$1.51
20872X222.01,006Occupied2026-06-302022-06-30Renewal$1,966$1.95
20882X222.01,006Occupied2025-08-082024-10-08Renewal$1,643$1.63
20892X121.0846Occupied2026-05-172025-04-17Renewal$1,438$1.70
20902X121.0846Occupied2026-01-072026-01-07New$1,328$1.57
20912X1R21.0846Occupied2026-06-302026-06-30New$1,297$1.53
20922X1R21.0846Occupied2026-04-302026-04-30New$1,250$1.48
20932X121.0846Occupied2026-04-242025-04-24Renewal$1,386$1.64
20942X121.0846Occupied2026-01-112023-12-11Renewal$1,443$1.71
20952X121.0846Occupied2025-08-252024-10-25Renewal$1,433$1.69
20962X121.0846Occupied2026-02-152026-02-15New$1,344$1.59
20972X222.01,006Occupied2026-01-012024-01-01Renewal$1,633$1.62
20982X222.01,006Occupied2026-06-062026-06-06New$1,549$1.54
20992X2R22.01,006Occupied2025-10-242025-10-24New$1,433$1.42
21002X2R22.01,006Occupied2026-06-042024-04-04Renewal$1,949$1.94
21012X222.01,006Occupied2025-12-112024-12-11Renewal$1,591$1.58
21022X222.01,006Occupied2026-06-202025-05-20Renewal$1,517$1.51
21032X222.01,006Occupied2025-12-092025-12-09New$1,480$1.47
21042X222.01,006Occupied2026-02-212025-02-21Renewal$1,549$1.54
21052X121.0846Occupied2026-06-132024-06-13Renewal$1,575$1.86
21062X121.0846Occupied2026-02-082026-02-08New$1,360$1.61
21072X121.0846Vacant2026-07-112026-07-11New$1,376$1.63
21082X1R21.0846Vacant—————
21092X2R22.01,006Vacant—————
21102X2R22.01,006Occupied2026-05-102026-05-10New$1,465$1.46
21112X2R22.01,006Occupied2026-02-282026-02-28New$1,402$1.39
21122X222.01,006Occupied2026-07-012026-07-01New$1,601$1.59
21132X121.0846Occupied2026-04-142021-10-14Renewal$2,067$2.44
21142X121.0846Occupied2026-04-022025-04-02Renewal$1,386$1.64
21152X121.0846Occupied2026-01-102026-01-10New$1,360$1.61
21162X1R21.0846Occupied2025-09-242025-09-24New$1,396$1.65
21171X111.0720Occupied2026-05-252025-04-25Renewal$1,289$1.79
21181X111.0720Occupied2026-06-182026-06-18New$1,223$1.70
21191X111.0720Occupied2026-07-172020-06-17Renewal$1,201$1.67
21201X1R11.0720Occupied2025-09-302025-09-30New$1,166$1.62
21212X121.0846Occupied2026-07-212025-06-21Renewal$1,489$1.76
21222X121.0846Occupied2026-04-062026-04-06New$1,386$1.64
21232X121.0846Occupied2026-06-022025-06-02Renewal$1,423$1.68
21242X121.0846Occupied2026-02-192024-05-19Renewal$1,480$1.75
21251X111.0720Occupied2025-08-152018-11-15Renewal$1,240$1.72
21261X111.0720Occupied2026-07-062023-09-06Renewal$1,474$2.05
21271X111.0720Occupied2026-06-302026-06-30New$1,124$1.56
21281X111.0720Occupied2026-07-242025-06-24Renewal$1,720$2.39
21292X121.0846Occupied2026-01-072026-01-07New$1,328$1.57
21302X121.0846Occupied2025-12-162025-12-16New$1,328$1.57
21312X1R21.0846Occupied2026-02-202024-01-20Renewal$1,461$1.73
21322X121.0846Occupied2025-07-152019-05-17Renewal$1,525$1.80
21331X1R11.0720Occupied2025-11-012025-11-01New$1,113$1.55
21341X1R11.0720Occupied2026-04-012023-04-02Renewal$1,458$2.02
21351X111.0720Occupied2026-06-242024-05-24Renewal$1,270$1.76
21361X111.0720Occupied2026-07-162024-07-16Renewal$1,706$2.37
21371X111.0720Occupied2026-03-012013-01-15Renewal$1,154$1.60
21381X111.0720Occupied2025-09-012023-09-19Renewal$1,400$1.94
21391X111.0720Occupied2025-09-012011-08-16Renewal$1,301$1.81
21401X111.0720Occupied2026-04-232026-04-23New$1,129$1.57
21411X1R11.0720Occupied2026-01-252025-01-25Renewal$1,265$1.76
21421X111.0720Vacant—————
21431X111.0720Occupied2025-11-292019-09-29Renewal$1,436$1.99
21441X1R11.0720Occupied2026-04-072026-04-07New$1,129$1.57
21451X111.0720Occupied2026-07-092025-06-09Renewal$1,286$1.79
21461X111.0720Occupied2026-07-072018-10-07Renewal$1,434$1.99
21471X1R11.0720Occupied2026-01-012023-01-18Renewal$1,405$1.95
21481X1R11.0720Occupied2025-11-072025-11-07New$1,234$1.71
21491X1R11.0720Occupied2026-02-282026-02-28New$1,160$1.61
21501X1R11.0720Occupied2026-06-292024-05-29Renewal$1,274$1.77
21511X111.0720Vacant—————
21521X1R11.0720Occupied2025-07-302025-04-30Renewal$1,486$2.06
21531X1R11.0720Vacant—————
21541X1R11.0720Occupied2025-12-012022-12-23Renewal$1,561$2.17
21551X111.0720Occupied2026-07-022024-09-02Renewal$1,373$1.91
21561X1R11.0720Occupied2025-09-222025-09-22New$1,108$1.54
21571X111.0720Occupied2026-04-262025-03-26Renewal$1,352$1.88
21581X1R11.0720Occupied2025-09-042025-09-04New$1,102$1.53
21591X111.0720Occupied2026-06-082024-05-08Renewal$1,314$1.82
21601X1R11.0720Occupied2025-11-062024-11-06Renewal$1,348$1.87
21611X1R11.0720Occupied2025-12-082022-07-08Renewal$2,079$2.89
21621X1R11.0720Occupied2025-09-132025-09-13New$1,108$1.54
21631X1R11.0720Occupied2026-04-042023-02-04Renewal$1,533$2.13
21641X111.0720Occupied2025-08-132024-10-13Renewal$1,370$1.90
21672X2R22.01,006Occupied2026-02-212023-02-21Renewal$1,726$1.72
21682X2R22.01,006Occupied2026-03-102025-04-10Renewal$1,641$1.63

Unit mix summary

Per-plan rollup, in the rent-roll Summary's own columns. Market rent for model is the new move-in rent — residents whose move-in date falls inside the lookback window, whatever their lease type — where the plan has one, and the in-place average otherwise (in-place outright on a roll with no usable lease start or move-in date); the basis column says which, per plan. Leases signed is every classified lease started in the window, new and renewal together, shown for context and never fed to the model: a blended average is a renewal average wearing a market-rent label, and it understates trade-out on every deal it touches.

PlanBdBaAvg SFUnitsOccVacIn-place rentLeases signed rentSigned #New move-in rentMove-in #Market rent for modelBasis
1X111.072088853$1,320$1,31676$1,22527$1,225New move-ins (n=27)
1X1R11.072073712$1,297$1,29566$1,16826$1,168New move-ins (n=26)
2X121.084635341$1,497$1,49532$1,35514$1,355New move-ins (n=14)
2X1R21.084621183$1,391$1,39118$1,32312$1,323New move-ins (n=12)
2X222.01,00656513$1,658$1,65245$1,53313$1,533New move-ins (n=13)
2X2R22.01,00643374$1,568$1,56634$1,42215$1,422New move-ins (n=15)
3X2A32.01,194550$1,761$1,7615$1,6873$1,687New move-ins (n=3)
3X2AR32.01,194770$1,916$1,9167$1,8534$1,853New move-ins (n=4)
3X2B32.01,444431$2,157$2,1032$1,9481$1,948New move-ins (n=1)
3X2BR32.01,444220$2,288$2,2882—0$2,288In-place — no new move-ins in window

Units by floor plan

1X188
1X1R73
2X135
2X1R21
2X256
2X2R43
3X2A5
3X2AR7
3X2B4
3X2BR2

In-place vs new move-in vs market rent for model

In-placeNew move-inMarket rent for model
1X1$1,225
1X1R$1,168
2X1$1,355
2X1R$1,323
2X2$1,533
2X2R$1,422
3X2A$1,687
3X2AR$1,853
3X2B$1,948
3X2BR$2,288
Knobs
As-of date
2026-08-31Every window is measured from this date, never from today.
Lookback months
12
New-tenant tolerance
31 days
Occupancy
Total units
334
Occupied
313
Vacant
17
Non-revenue
4Models and down units: in the stock, in neither occupancy bucket.
Occupancy
93.7%
Vacancy
6.3%The physical-vacancy input.
Rents and turnover
Weighted in-place rent
$1,457Weighted by occupied units.
Weighted market rent for model
$1,345Weighted by total units.
Move-ins in window
115
Annualized turnover
34.4%Move-ins in the window, annualized against unit count.
New move-ins
Move-ins in window
115Counted by MOVE-IN date, never by lease start — a renewal stamps a fresh lease start against a resident who moved in years ago.
Window (months)
12
Share of units
34.4%

Rent roll audit trail

The normalized roll tied back to the export's own stated totals — unit count, square footage, occupancy, rent totals — then a seeded readback of unit rents against the source cells. Every row compares against a figure the SOURCE printed, never against another number this toolkit derived.

Reconciliation: PASS — units off by 0, market rent off by $0. Unit count (tolerance 0) and the export's stated market-rent total (tolerance $1), plus every duplicate row retaining the in-place lease and no rent-readback mismatch. FAIL on any; NOT CHECKED when the export states no count or no total to tie to; PASS only when everything ran and tied.

Rent-roll tie-outs

CheckOur calcSourceDifferenceStatusNote
Total units3343340OKUnit count after de-duplicating rows for units listed twice mid-turnover.
Total square feet285,882285,8820OKThis project's own addition — the operator's rent-roll skill has no square-footage tie-out. It earns its place because square footage is what the de-duplication is checked against: dropping the wrong duplicate row changes the total.
Occupied units (physical)3133130OKAgainst the source's own status buckets: Occupied + Notice Available + Notice Rented. A resident on notice has not moved out, so the source's 'Occupied' bucket alone is a LEASING status, not physical occupancy.
Occupancy93.7%93.7%0.0%OKPHYSICAL occupancy: 313 of 334 units. Residents on notice count as occupied; down, model and employee units do not. Economic occupancy is a different number and is not this one.
Market rent (monthly total)470,988470,9880OKValidates row COMPLETENESS — 334 units counted once each, none dropped or double-counted. It does NOT validate which row was kept on a duplicate: all 6 readable turnover pair(s) carry the same market rent on both rows, so this total is identical under either de-duplication rule while in-place rent is not. The row CHOICE is checked separately below.
In-place rent (monthly total)457,414488,975-31,561INFOShown for the reader, not scored: the export's current-rent total is its per-status summary, which carries a rent on model, unrentable and vacant units; in-place rent is occupied units only. The gate's rent half is the market-rent total above, which the export states on the same per-unit basis.
Duplicate rows: kept the in-place lease660OK6 unit(s) listed twice; every one where an in-place row was available retained it (1 had none — 2107, where the alternative row carries no status and no rent, so keeping the other is correct). Keeping the other row instead would move in-place rent by $4,823/mo ($57,876/yr) — which the market-rent tie-out above cannot see.
Occupied units313——INFOThe numerator above, stated separately so the ratio can be re-derived.

6/6 tie-outs OK. A total the source export never printed reads NOT CHECKED and stays in the denominator — excluding it would let a check that could not run flatter the ratio. Occupancy here is physical: 313/334 units, physical; down, model and employee units count as vacant.

Duplicate rows — 6 unit(s) listed twice

UnitKept rowKept statusKept rentRows not countedWhy
106064Current$1,218row 63: New, $0Kept the row whose lease status is the in-place one ('Current'); the other row is the incoming lease.
107782Current$2,397row 81: New, $0Kept the row whose lease status is the in-place one ('Current'); the other row is the incoming lease.
1104110Current$2,067row 109: New, $1,606Kept the row whose lease status is the in-place one ('Current'); the other row is the incoming lease.
1146153Current$1,555row 152: New, $1,255Kept the row whose lease status is the in-place one ('Current'); the other row is the incoming lease.
2021197Current$1,823row 196: New, $1,376Kept the row whose lease status is the in-place one ('Current'); the other row is the incoming lease.
2107283New$1,376row 284: no status, $0No row carries the in-place status ('Current'); kept the row with a stated rent and a status, which is the lease in place on the as-of date.

Rent readback — 10 units

UnitPlanOur in-place rentSource cellSource locatorStatus
10222X1R$1,388$1,388HG_RMOROLLE!N25OK
10272X2R$1,307$1,307HG_RMOROLLE!N30OK
10301X1R$1,653$1,653HG_RMOROLLE!N33OK
10411X1$1,224$1,224HG_RMOROLLE!N44OK
10793X2AR$1,998$1,998HG_RMOROLLE!N84OK
11002X2R$1,470$1,470HG_RMOROLLE!N105OK
11441X1R$1,351$1,351HG_RMOROLLE!N150OK
11581X1R$1,181$1,181HG_RMOROLLE!N165OK
11672X2$1,748$1,748HG_RMOROLLE!N174OK
20132X2$1,496$1,496HG_RMOROLLE!N188OK

10 of 10 match within $0.50. The sample is seeded from the roll's as-of date (2026-08-31|334), so the same roll always checks the same units and anyone re-running this sees these rows. Both sides of the readback read the same rent column, so it validates TRANSCRIPTION — that the number was carried across correctly — and cannot detect the wrong column having been chosen in the first place. The column choice is evidenced in the audit trail instead.

Model-ready outputs

210 fields the pipeline extracts from a deal's raw documents and hands to your model. It does not build a model — every shop already has one, and theirs is the one their committee trusts. The work worth automating is filling it in correctly. Comps come only from an operator's own weekly rent scrape; licensed sources are excluded by design, so a field one of them would have filled reads MISSING rather than being sourced elsewhere.

NameValueSourceFills in the model
Meta
toolkit_nameAI Underwriting Pipeline — Sample OutputsDerived by the pipelineReference only — not a model input
deal_nameSample Mesa AptOffering memorandum / marketing packageModel cover / deal header
generated_on2026-09-14Derived by the pipelineModel cover date
as_of_date2026-08-31Trailing-twelve-month income statementModel as-of / analysis date
illustrative_pricingyesDerived by the pipelineReference only — not a model input
pricing_noteEvery price and cap rate below is illustrative. The per-unit price is a round number ch…Derived by the pipelineReference only — not a model input
syntheticnoDerived by the pipelineReference only — not a model input
provenance—Derived by the pipelineReference only — not a model input
excluded_sources—Derived by the pipelineReference only — not a model input
Deal identification
street_address2151 E Southern AveOffering memorandum / marketing packageProperty address
cityMesaOffering memorandum / marketing packageProperty address
stateAZOffering memorandum / marketing packageProperty address / tax logic
zip85204Offering memorandum / marketing packageProperty address
countyMaricopaOffering memorandum / marketing packageTax jurisdiction
msaPhoenix MSADerived by the pipelineMarket label
address_provenanceAvailable in the internal underwriting agent onlyDerived by the pipelineReference only — not a model input
Property
product_typeGarden-style multifamilyOffering memorandum / marketing packageProduct type / deal mode
structure1 & 2 storiesOffering memorandum / marketing packageProperty description
unit_count334Offering memorandum / marketing packageUnit count
year_built1981Offering memorandum / marketing packageYear built
product_detailDiversified mix of one-, two-, and three-bedroom residences averaging 856 square feet o…Offering memorandum / marketing packageProperty description
construction_statusMISSINGOffering memorandum / marketing packageDeal mode (stabilized vs phased)
delivery_dateMISSINGOffering memorandum / marketing packageDelivery / phasing schedule
Parties
seller_entitySonoran Residential Holdings LLCOffering memorandum / marketing packageSeller
listing_brokerageDesert Ridge Capital AdvisorsOffering memorandum / marketing packageBroker
deal_statusMISSINGOffering memorandum / marketing packageDeal status
Pricing
pricing_guidance$215,000 per unit (illustrative)Supplied by the operatorPurchase price assumption
price_per_unit$215,000Supplied by the operatorPurchase price per unit
document_price_per_unit—Offering memorandum / marketing packagePricing guidance (memorandum), for comparison
total_price—Derived by the pipelinePurchase price
t12_cap_rate—Derived by the pipelineGoing-in cap rate (T-12 basis)
t3_cap_rate—Derived by the pipelineGoing-in cap rate (T-3 basis)
broker_proforma_noi—Offering memorandum / marketing packageBroker pro forma column
Rents
in_place_rent_avg$1,457Rent roll exportIn-place rent
market_rent_for_model$1,345Derived by the pipelineMarket rent / unit-mix rent
fair_market_valueAvailable in the internal underwriting agent onlySupplied by the operatorValuation cross-check
Taxes
tax_rate_as_billed1,025.7%County tax portalProperty tax rate
tax_rate_evidenceVendored county rate table: 10.2573 per $100 of assessed value, tax year 2025 — Tax are…County tax portalReference only — not a model input
assessed_value_basisAvailable in the internal underwriting agent onlyCounty tax portalTax basis
assessment_ratio10.0%County tax portalTax inputs
tax_divisor100County tax portalTax inputs
tax_exemptionAvailable in the internal underwriting agent onlyCounty tax portalTax inputs
tax_parcel_idAvailable in the internal underwriting agent onlyCounty tax portalTax evidence
tax_area_codeAvailable in the internal underwriting agent onlyCounty tax portalTax evidence
tax_basis_labelLimited property value (LPV), per the county assessorCounty tax portalTax inputs
tax_basis_noteArizona taxes the limited property value, not the price. Under Proposition 117 (Ariz. C…County tax portalTax inputs
tax_billed_amountAvailable in the internal underwriting agent onlyCounty tax portalTax evidence
tax_billed_yearAvailable in the internal underwriting agent onlyCounty tax portalTax evidence
computed_annual_tax—Derived by the pipelineProperty tax expense
computed_tax_per_unit—Derived by the pipelineProperty tax per unit
Closing costs
closing_stateAZDerived by the pipelineClosing cost assumptions
closing_price$71,810,000Derived by the pipelineClosing cost assumptions
loan_amount—Supplied by the operatorDebt assumptions
transfer_tax_amount$0Derived by the pipelineClosing costs
transfer_tax_rateNo real-estate transfer taxDerived by the pipelineClosing costs
transfer_tax_citationAriz. Const. art. IX, sec. 24 (Prop 100, 2008)Derived by the pipelineReference only — not a model input
mortgage_tax_amount$0Derived by the pipelineClosing costs
mortgage_tax_rateNo mortgage or recording tax on the security instrumentDerived by the pipelineClosing costs
mortgage_tax_citationAriz. Const. art. IX, sec. 24; A.R.S. 11-475(A)(1)Derived by the pipelineReference only — not a model input
Schools
school_elementary_nameAvailable in the internal underwriting agent onlyPublic school-rating sourceReference only — not a model input
school_elementary_ratingAvailable in the internal underwriting agent onlyPublic school-rating sourceReference only — not a model input
school_middle_nameAvailable in the internal underwriting agent onlyPublic school-rating sourceReference only — not a model input
school_middle_ratingAvailable in the internal underwriting agent onlyPublic school-rating sourceReference only — not a model input
school_high_nameAvailable in the internal underwriting agent onlyPublic school-rating sourceReference only — not a model input
school_high_ratingAvailable in the internal underwriting agent onlyPublic school-rating sourceReference only — not a model input
T-12 revenue
Gross Potential Rent—Trailing-twelve-month income statementInvestment analysis — T-12 revenue column
Gain / (Loss) to Lease—Trailing-twelve-month income statementInvestment analysis — T-12 revenue column
Gross Scheduled Rent—Trailing-twelve-month income statementInvestment analysis — T-12 revenue column
Vacancy—Trailing-twelve-month income statementInvestment analysis — T-12 revenue column
Concessions—Trailing-twelve-month income statementInvestment analysis — T-12 revenue column
Non-Revenue Units—Trailing-twelve-month income statementInvestment analysis — T-12 revenue column
Delinquency—Trailing-twelve-month income statementInvestment analysis — T-12 revenue column
Utility Reimbursements—Trailing-twelve-month income statementInvestment analysis — T-12 revenue column
Other Income—Trailing-twelve-month income statementInvestment analysis — T-12 revenue column
Revenue Adjustments—Trailing-twelve-month income statementInvestment analysis — T-12 revenue column
Total Revenue—Trailing-twelve-month income statementInvestment analysis — T-12 revenue column
T-12 expense
General and Administrative—Trailing-twelve-month income statementInvestment analysis — T-12 expense column
Leasing and Marketing—Trailing-twelve-month income statementInvestment analysis — T-12 expense column
Payroll—Trailing-twelve-month income statementInvestment analysis — T-12 expense column
Insurance—Trailing-twelve-month income statementInvestment analysis — T-12 expense column
Property Taxes—Trailing-twelve-month income statementInvestment analysis — T-12 expense column
Legal and Professional—Trailing-twelve-month income statementInvestment analysis — T-12 expense column
Management Fee—Trailing-twelve-month income statementInvestment analysis — T-12 expense column
Landscaping—Trailing-twelve-month income statementInvestment analysis — T-12 expense column
Repairs and Maintenance—Trailing-twelve-month income statementInvestment analysis — T-12 expense column
Unit Turns—Trailing-twelve-month income statementInvestment analysis — T-12 expense column
Utilities—Trailing-twelve-month income statementInvestment analysis — T-12 expense column
Expense Adjustments—Trailing-twelve-month income statementInvestment analysis — T-12 expense column
T-12 structure
month_labels—Trailing-twelve-month income statementT-12 column headers
month_order—Derived by the pipelineReference only — not a model input
line_item_labelMARKET RENT (1016)Trailing-twelve-month income statementT-12 line item
line_item_categoryGross Potential RentDerived by the pipelineT-12 mapping
line_item_t12_total—Derived by the pipelineT-12 column
line_item_t3_total—Derived by the pipelineT-3 column
gross_scheduled_rent—Derived by the pipelineGross scheduled rent
total_revenue—Derived by the pipelineTotal revenue
total_operating_expenses—Derived by the pipelineTotal operating expenses
net_operating_income—Derived by the pipelineNet operating income
t3_annualized—Derived by the pipelineT-3 annualized column
t6_annualized—Derived by the pipelineTrend cross-check
t3_trailing_revenue_annualized—Derived by the pipelineInvestment analysis — trailing T-3 revenue series
statement_guards—Derived by the pipelineReview flags — not a model input
expense_per_unit—Derived by the pipelinePer-unit expense check
pct_of_revenue—Derived by the pipelineExpense ratio check
breakout_top4—Derived by the pipelineOther-income / utility detail
source_subtotal—Trailing-twelve-month income statementReference only — not a model input
error_check_difference—Derived by the pipelineReference only — not a model input
absent_reason—Derived by the pipelineReference only — not a model input
Rent roll — unit
unit_id1001Rent roll exportUnit list
floor_plan3X2BRent roll exportUnit mix
beds3.0Rent roll exportUnit mix
baths2.0Rent roll exportUnit mix
sqft1,444.0Rent roll exportUnit mix
statusOccupiedRent roll exportOccupancy
lease_start2026-06-01Rent roll exportReference only — not a model input
move_in2019-09-25Rent roll exportTurnover
lease_type—Derived by the pipelineNew-vs-renewal split
in_place_rent$2,258Rent roll exportIn-place rent
rent_per_sf—Derived by the pipelineRent per square foot
Rent roll — plan
plan_avg_sqft—Derived by the pipelineUnit mix — average SF
plan_units—Derived by the pipelineUnit mix — count
plan_occupied—Derived by the pipelineOccupancy by plan
plan_vacant—Derived by the pipelineOccupancy by plan
plan_avg_in_place_rent—Derived by the pipelineIn-place rent by plan
plan_signed_rent—Derived by the pipelineLeases signed
plan_signed_count—Derived by the pipelineSample size
plan_movein_rent—Derived by the pipelineNew move-in rent evidence
plan_movein_count—Derived by the pipelineSample size
plan_market_rent_for_model—Derived by the pipelineUnit-mix market rent
plan_market_rent_basis—Derived by the pipelineReference only — not a model input
Rent roll — totals
reconciliation_verdict—Derived by the pipelineGate — the pack is partial until PASS
total_units—Derived by the pipelineUnit count cross-check
occupied_units—Derived by the pipelineOccupancy
vacant_units—Derived by the pipelineOccupancy
occupancy—Derived by the pipelineVacancy assumption
vacancy—Derived by the pipelineVacancy assumption
wavg_in_place_rent—Derived by the pipelineIn-place rent
wavg_market_rent_for_model—Derived by the pipelineMarket rent
annualized_turnover—Derived by the pipelineTurnover assumption
lookback_months12Supplied by the operatorReference only — not a model input
new_tenant_tolerance_days31Supplied by the operatorReference only — not a model input
absent_reason—Derived by the pipelineReference only — not a model input
roll_as_of2026-08-31Rent roll exportAnalysis date
Trade-out
cohortAvailable in the internal underwriting agent onlyLease trade-out reportNew-vs-renewal growth evidence
cohort_leasesAvailable in the internal underwriting agent onlyLease trade-out reportSample size
cohort_prior_rentAvailable in the internal underwriting agent onlyLease trade-out reportPrior rent
cohort_new_rent_grossAvailable in the internal underwriting agent onlyLease trade-out reportGross trade-out
cohort_new_rent_effectiveAvailable in the internal underwriting agent onlyLease trade-out reportEffective trade-out
cohort_prior_rent_effectiveAvailable in the internal underwriting agent onlyLease trade-out reportPrior effective rent
cohort_gross_change_pctAvailable in the internal underwriting agent onlyDerived by the pipelineRent growth evidence
cohort_effective_change_pctAvailable in the internal underwriting agent onlyDerived by the pipelineRent growth evidence
absent_reasonAvailable in the internal underwriting agent onlyDerived by the pipelineReference only — not a model input
Comps
comp_communitySaltera ApartmentsOperator's own weekly rent scrapeComp set
comp_distance_mi0.1Derived by the pipelineComp set
comp_floor_plan1BR — lowest five of 5 availableOperator's own weekly rent scrapeComp set
comp_tier1Derived by the pipelineComp set
comp_year_built1984Operator's own weekly rent scrapeComp set
comp_year_built_sourceMaricopa County, AZ property record, as of 2026-10-05Operator's own weekly rent scrapeReference only — not a model input
nearby_communityThe Village at Lindsay Park ApartmentsOperator's own weekly rent scrapeMarket context
nearby_address1441 S Lindsay Rd, Mesa, AZ 85204-6285Operator's own weekly rent scrapeMarket context
nearby_distance_mi0.9Derived by the pipelineMarket context
nearby_units256 — Maricopa County, AZ property record, as of 2026-10-05Operator's own weekly rent scrapeMarket context
nearby_reasonvintage 1997 is 16 years from the subject's 1981, outside the +/-10-year bandDerived by the pipelineMarket context
compset_vintage_footnoteVintage filter: +/-10 years of the subject's year built.Derived by the pipelineReference only — not a model input
comp_beds1.0Operator's own weekly rent scrapeComp set
comp_baths—Operator's own weekly rent scrapeComp set
comp_sqft688.0Operator's own weekly rent scrapeComp set
comp_asking_rent$1,200Operator's own weekly rent scrapeMarket rent evidence
comp_concession$0Operator's own weekly rent scrapeConcession assumption
comp_net_effective_rent$1,200Derived by the pipelineMarket rent evidence
comp_asking_psf—Derived by the pipelineComp set
comp_occupancy—Operator's own weekly rent scrapeMarket context
comp_as_of2026-09-30Operator's own weekly rent scrapeReference only — not a model input
comp_sourceown weekly scrapeOperator's own weekly rent scrapeReference only — not a model input
compset_avg_asking—Derived by the pipelineMarket rent benchmark
compset_avg_net_effective—Derived by the pipelineMarket rent benchmark
subject_vs_compset_spread—Derived by the pipelineRent positioning
Demand
demand_ring1 miDerived by the pipelineMarket summary
demand_population20,298Public demographic dataMarket summary
demand_households7,711Public demographic dataMarket summary
demand_median_income$79,731Public demographic dataAffordability check
demand_jobs5,237Public demographic dataMarket summary
demand_pop_growth_5yr-2.0%Public demographic dataGrowth assumption evidence
demand_renter_share43.4%Public demographic dataDemand context
Supply
supply_ring1 miDerived by the pipelineCompeting supply
supply_stageEntitlementPublic permit / entitlement recordsCompeting supply
supply_projects2Public permit / entitlement recordsCompeting supply
supply_units72Public permit / entitlement recordsCompeting supply / absorption
supply_ring_total_units—Derived by the pipelineCompeting supply
supply_pct_of_ring_stock—Derived by the pipelineSupply pressure
supply_project_nameReed Park ResidencesPublic permit / entitlement recordsCompeting supply
supply_project_miles0.9Derived by the pipelineCompeting supply
supply_project_stageEntitlementPublic permit / entitlement recordsCompeting supply
supply_project_units72Public permit / entitlement recordsCompeting supply / absorption
supply_project_productmultifamilyPublic permit / entitlement recordsCompeting supply
supply_project_address—Public permit / entitlement recordsCompeting supply
supply_project_city—Public permit / entitlement recordsCompeting supply
supply_project_acres3.2Public permit / entitlement recordsCompeting supply
supply_project_developer—Public permit / entitlement recordsCompeting supply
supply_project_filed2026-07-03Public permit / entitlement recordsCompeting supply
supply_project_latest2026-07-03Public permit / entitlement recordsCompeting supply
supply_project_layers1 entriesPublic permit / entitlement recordsReference only — not a model input
OM comparables
om_rent_comp_community—Offering memorandum / marketing packageRent comps (broker-stated)
om_rent_comp_distance_mi—Offering memorandum / marketing packageRent comps (broker-stated)
om_rent_comp_rent—Offering memorandum / marketing packageRent comps (broker-stated)
om_sale_comp_property—Offering memorandum / marketing packageSale comps (institutional)
om_sale_comp_price—Offering memorandum / marketing packageSale comps (institutional)
om_sale_comp_price_per_unit—Offering memorandum / marketing packageSale comps (institutional)
om_sale_comp_cap_rate—Offering memorandum / marketing packageSale comps (institutional)
om_sale_comp_date—Offering memorandum / marketing packageSale comps (institutional)

What the public demo leaves to the internal pipeline

The demo is a deliberately reduced copy of the operator's pipeline: a licensed source, a portal login or a web lookup is not something a public page should reach. Each of these reads Available in the internal underwriting agent only wherever it appears, with the reason, instead of reading as a hole the pipeline failed to fill.

CapabilityWhy the demo does not produce itFields
School names and ratingsThe internal pipeline looks up the attendance-zone elementary, middle and high school and their public ratings; the demo reads a school name only where the memorandum states one and never rates it.summary.school_
Fair market valueThe internal pipeline pulls a market value by web lookup; the demo does not reach the web.summary.fair_market_value
Assessor parcel and billThe internal pipeline reads the parcel, tax district, assessed value, exemption and billed amount off the county assessor's portal; the demo shows the county's published rate only.summary.tax_parcel_id, summary.tax_area_code, summary.tax_billed_amount, summary.tax_billed_year, summary.assessed_value_basis, summary.tax_exemption
Address resolutionThe internal pipeline geocodes the address and records how it resolved; the demo takes the address as the memorandum states it.summary.address_provenance
Lease trade-outThe internal pipeline reads a lease trade-out report (new versus renewal rents); the demo does not ask for one.trade_out.
Licensed community unit countsA community's own unit count comes from a licensed data export, so the public demo holds it back; where a public record states a count (a county property record, a Florida DBPR apartment licence, a City of Austin permit), that count is shown with its source and as-of.comps.nearby[].units, comps.rows[].units

Audit trail

Where every published value came from, and how. 52 of 52 required values carry a stamp (100%); 48 stamps point at a document or a computation and 14 record a value the run could not or does not produce, listed apart below so they do not stand beside the evidence as if they were some. A derived value names the values it was built from — one that could not would not have passed validation. Then the lines actually read, per document, and what the run itself did.

Evidence, value by value

ValueSource documentWhere in itHowBuilt fromSupporting quote / note
comps.nearbyTracked-community registry, via the market-report servicePOST /report (format json)derivedcomps.rows.tierEvery community the service returned that is not a detail row, with the reason. Carried in the interchange file; not shown as a table.
comps.rowsOperator's own weekly rent scrape, via the market-report servicePOST /report (format json)read—Own weekly scrape; asking and net effective stated separately.
comps.rows.tierTracked-community registry, via the market-report servicecomp_tiers.assignderivedcomps.rows.distance_mi, comps.tiering.subject_product, comps.tiering.subject_year_built, comps.tiering.year_band, comps.tiering.top_n, comps.tiering.additional_nClosest same-product communities first, within the vintage band where the registry carries a year built; an unknown year keeps the community and says so.
demand.ringsPublic demographic data (the operator's ring engine), via the market-report servicePOST /report (format json)read—Ring demographics.
demand.zip_homeZillow ZHVI home values (vendored static table, undated), via the market-report servicePOST /report (format json)read—ZIP and metro home values from the vendored Zillow ZHVI table; static, undated.
om_comps.rentSample Property Offering Memorandum.pdfp.20read—4 rent comparable(s) the memorandum states; every figure verified inside its own quote.
pricing.price_per_unitIllustrative price—read—Per-unit price chosen for the sample, inside the sale-price band; every cap rate and pricing ladder is computed from it.
pricing.unit_countSample Property RR 8.4.26.xlsx—derivedsummary.unit_countThe same count the summary carries, counted from the rows of the uploaded rent roll.
rent_roll.as_ofSample Property RR 8.4.26.xlsxas-of lineread—Read as the end of the period the roll's own header states.
rent_roll.unitsSample Property RR 8.4.26.xlsxrollread—Read from the uploaded rent roll.
summary.address_provenanceIllustrative address—read—Illustrative address — not the asset's real location. The market tabs were pulled for this address on 2026-10-06.
summary.assessment_ratioVendored county rate tableproperty_tax_table.STATE_RULES['AZ']read—10% — legal class 4.2, residential rental. A.R.S. sec. 42-15003 (class four assessed at 10%); A.R.S. sec. 42-12004 (class four includes residential rental property).
summary.cityIllustrative address—read—Illustrative address — not the asset's real location. The market tabs were pulled for this address on 2026-10-06.
summary.countyIllustrative address—read—Illustrative address — not the asset's real location. The market tabs were pulled for this address on 2026-10-06.
summary.deal_nameIllustrative name—read—An illustrative name for the public sample. The real asset's name is withheld; the memorandum's own name for it does not appear anywhere in this set.
summary.in_place_rent_avgSample Property RR 8.4.26.xlsx—derivedrent_roll.unitsUnit-weighted across the uploaded roll.
summary.listing_brokerageIllustrative name—read—An illustrative name. The real party is withheld from the public sample.
summary.market_rent_for_modelSample Property RR 8.4.26.xlsx—derivedrent_roll.unitsUnit-weighted across the uploaded roll.
summary.msaIllustrative address—read—Illustrative address — not the asset's real location. The market tabs were pulled for this address on 2026-10-06.
summary.pricing_guidanceIllustrative price—read—Every price and cap rate below is illustrative. The per-unit price is a round number chosen for the sample inside the band a real per-unit sale price occupies; it is not a quote, an offer, or a broker's guidance.
summary.product_detailSample Property Offering Memorandum.pdfp.3read—the property offers a diversified mix of one-, two-, and three-bedroom residences averaging 856 square feet
summary.product_typeSample Property Offering Memorandum.pdfp.3read—Stated in the memorandum; withheld from the public sample because it identifies the real asset.
summary.school_elementary_nameInternal underwriting agent — attendance-zone school lookup2151 E Southern Ave, Mesa, AZ 85204 on 2026-09-14read—Looked up for the illustrative address by the internal underwriting agent; the public demo does not run this on an uploaded deal.
summary.school_high_nameInternal underwriting agent — attendance-zone school lookup2151 E Southern Ave, Mesa, AZ 85204 on 2026-09-14read—Looked up for the illustrative address by the internal underwriting agent; the public demo does not run this on an uploaded deal.
summary.school_middle_nameInternal underwriting agent — attendance-zone school lookup2151 E Southern Ave, Mesa, AZ 85204 on 2026-09-14read—Looked up for the illustrative address by the internal underwriting agent; the public demo does not run this on an uploaded deal.
summary.seller_entityIllustrative name—read—An illustrative name. The real party is withheld from the public sample.
summary.stateIllustrative address—read—Illustrative address — not the asset's real location. The market tabs were pulled for this address on 2026-10-06.
summary.street_addressIllustrative address—read—Illustrative address — not the asset's real location. The market tabs were pulled for this address on 2026-10-06.
summary.structureSample Property Offering Memorandum.pdfp.10read—Number of Stories 1 & 2
summary.tax_basis_labelVendored county rate tableproperty_tax_table.STATE_RULES['AZ']read—What the assessed basis is in this state.
summary.tax_basis_noteVendored county rate tableproperty_tax_table.STATE_RULES['AZ']read—How the basis behaves on a sale, with the authority.
summary.tax_billed_amountSample Property Offering Memorandum.pdfp.10read—2025 Property Tax $249,122
summary.tax_billed_yearSample Property Offering Memorandum.pdfp.10read—2025 Property Tax $249,122
summary.tax_divisorVendored county rate tableproperty_tax_table.STATE_RULES['AZ']read—The rate's unit in Arizona: per $100 of assessed value.
summary.tax_parcel_idSample Property Offering Memorandum.pdfp.10read—Tax Parcel Number 301-04-002K
summary.tax_per_unit_flagVendored county rate tableproperty_tax_table.band_checkderivedsummary.tax_statement_amount, summary.unit_count, summary.stateA sanity check against the state's typical per-unit range. It flags; it never changes a figure.
summary.tax_rate_as_billedVendored county rate tableproperty_tax_table.COUNTY_RATES[('AZ', 'maricopa')]read—Tax area code 971300 — City of Phoenix / Deer Valley Unified School District #97, tax year 2025. Maricopa County, '2025 Tax Rates, Maricopa County, Arizona' (the treasurer's rate table by tax area code), row 971300: primary 6.7007, approx residential primary 5.1401, secondary 3.5566. Verified 2026-09-04.
summary.tax_rate_evidenceVendored county rate tableproperty_tax_table.evidence_textderivedsummary.state, summary.county, summary.tax_parcel_id, summary.tax_billed_amount, summary.tax_billed_yearThe citation, tax year and jurisdiction stack behind the rate, or the honest note that none is on file. Also records what the uploaded document stated for the field(s) it cites.
summary.tax_rate_yearVendored county rate tableproperty_tax_table.COUNTY_RATES[('AZ', 'maricopa')]read—The tax year of the rate on file. A bill from another year is displayed, not tied out.
summary.tax_statement_amountSample Property T-12 June 26.xlsxProperty Taxes linescomputedt12.rowsThe statement's lines categorised as Property Taxes, summed over its twelve months. As billed in the statement, not the county's bill.
summary.unit_countSample Property RR 8.4.26.xlsx—derivedrent_roll.unitsCounted from the rows of the uploaded rent roll.
summary.year_builtSample Property Offering Memorandum.pdfp.10read—Y ear Built 1981
summary.zipIllustrative address—read—Illustrative address — not the asset's real location. The market tabs were pulled for this address on 2026-10-06.
supply.projectsPublic permit and entitlement records (the operator's supply pipeline), via the market-report servicePOST /report (format json)derivedsupply.ringsThe developments the counts are made of, within 3 mi: one row per development, reconciled across the pipeline's lifecycle layers and shown at the furthest stage any layer carries.
supply.ringsPublic permit and entitlement records (the operator's supply pipeline), via the market-report servicePOST /report (format json)read—Projects and units by cumulative ring and tracked stage, counted from the service's project rows.
t12.month_labelsSample Property T-12 June 26.xlsxstatementread—Read from the uploaded statement.
t12.source_subtotalsSample Property T-12 June 26.xlsxheader blockread——
t12.unitsSample Property T-12 June 26.xlsxstatementread—Read from the uploaded statement.

Values this run does not carry, and why

A MISSING value with its reason. Available in the internal underwriting agent only means the operator's pipeline produces it and the public demo deliberately does not; the other reasons name what the uploaded documents did not state or what the run did not do.

ReasonValuesWhichDetail
Not run in the upload demo2closing_costs.mortgage_tax.amount, closing_costs.transfer_tax.amountNot run in the upload demo. This section needs data sources the demo does not reach, so it is left empty rather than filled with placeholders.
Internal pipeline only — Licensed community unit counts2comps.nearby[].units, comps.rows[].unitsA community's own unit count comes from a licensed data export, so the public demo holds it back; where a public record states a count (a county property record, a Florida DBPR apartment licence, a City of Austin permit), that count is shown with its source and as-of.
Not stated in the uploaded documents5rent_roll.lookback_months, rent_roll.new_tenant_tolerance_days, summary.construction_status, summary.deal_status, summary.delivery_dateNo uploaded document stated this, so the value reads MISSING. Nothing was assumed to fill it. · This demo's default of 12 — the months of lease history the turnover figures look back over. No uploaded document or note set it. · This demo's default of 31 — the days a lease start may sit from a move-in and still count as the same event. No uploaded document or note set it.
Internal pipeline only — Assessor parcel and bill3summary.assessed_value_basis, summary.tax_area_code, summary.tax_exemptionSee parcel: read off the county assessor's portal by the internal pipeline only.
Internal pipeline only — Fair market value1summary.fair_market_valueThe internal pipeline pulls a market value by web lookup; the demo does not reach the web.
Internal pipeline only — Lease trade-out1trade_out.rowsThe internal pipeline reads a lease trade-out report (new versus renewal rents); the demo does not ask for one.

Statement lines read (130)

Every line of the trailing-twelve statement, the category it was placed under, and its twelve-month total. A line without a category is a subtotal or a memo line the P&L does not sum.

Statement lineCategory12-month total
MARKET RENT (1016)Gross Potential Rent$5,827,604
LOSS/GAIN TO LEASE (1017)Gain / (Loss) to Lease$249,595
VACANCY (1020)Vacancy($422,400)
MANAGEMENT OFFICE/MODEL (1030)Non-Revenue Units($14,982)
STAFF UNITS (1040)Non-Revenue Units($3,413)
ONE-TIME CONCESSION (1052)Concessions($116,906)
VALET TRASH REIMBURSEMENTS (3001)Utility Reimbursements$92,098
LATE CHARGES (3011)Other Income$52,406
NSF FEE (3012)Other Income$1,210
APPLICATION FEES (3030)Other Income$18,081
ADMINISTRATIVE FEE (3036)Other Income$25,806
TENANT DAMAGE REIMBURSEMENT (3040)Other Income$64,769
UTILITIES RECOVERY (3050)Utility Reimbursements$6,319
FEE CONCESSION (3053)Concessions$0
VENDING INCOME (3060)Other Income$239
CABLE INCOME (3066)Other Income$16,880
LAUNDRY INCOME (3070)Other Income$17,628
COURT COST REIMBURSEMENT (3080)Other Income$42,645
BAD DEBT WRITE-OFF - OTHER (3086)Delinquency($191,607)
TERMINATION FEE (3112)Other Income$115,089
CONCIERGE SERVICES INCOME (3117)Other Income$20,115
PET FEES (3118)Other Income$7,040
PET RENT (3119)Other Income$27,043
PEST CONTROL FEES (3121)Other Income$7,915
DEPOSIT WAIVER INCOME (3156)Other Income$16,973
DEPOSIT WAIVER EXPENSE (3157)Other Income($6,411)
RENTER'S INSURANCE INCOME (3175)Other Income$63,100
RENTER'S INSURANCE EXPENSE (3176)Other Income($55,891)
TRANSFER FEE (3179)Other Income$2,475
MISCELLANEOUS INCOME (3180)Other Income$3,266
UTILITY FEE REIMBURSEMENT (3183)Utility Reimbursements$14,581
WATER/SEWER REIMBURSEMENT (3186)Utility Reimbursements$209,956
TRASH REIMBURSEMENT (3187)Utility Reimbursements$48,981
SALES TAX COLLECTED (3192)Other Income$22
OTHER REIMBURSEMENTS (3198)Other Income($192)
BAD DEBT DEPOSIT WAIVER FEE (3081)Delinquency$28,923
BAD DEBT WRITE-OFF (3084)Delinquency($76,525)
BAD DEBT- ALLOWANCE FOR DOUBTFUL ACCOUNTS (3085)Delinquency$286
BAD DEBT COLLECTED - DEPOSIT ALTERNATIVE CLAIMS (3087)Delinquency$61,573
BAD DEBT COLLECTED - IN HOUSE (3088)Delinquency$2,248
BAD DEBT COLLECTED - COLLECTION AGENCY (3089)Delinquency$2,000
BAD DEBT ADJUSTMENTS (3091)Delinquency$8,121
PROMOTIONAL MATERIALS (5010)Leasing and Marketing$830
MARKETING COLLATERAL (5020)Leasing and Marketing$785
ONLINE ADVERTISING (5070)Leasing and Marketing$65,268
SPECIALTY MARKETING (5090)Leasing and Marketing$2,924
MARKETING PERFORMANCE MEASUREMENT (MPM) & LEAD MGM (5099)Leasing and Marketing$8,520
COMMUNITY FUNCTIONS (5120)Leasing and Marketing$2,339
TENANT REFERRAL FEES (5160)Leasing and Marketing$190
OFFICE SUPPLIES (5410)General and Administrative$1,889
TRAINING/SEMINARS (5430)General and Administrative$2,108
OFFICE EQUIP/LEASE/PURCHASE (5440)General and Administrative$208
CAREER APPAREL (5455)General and Administrative$1,077
TRAVEL (5460)General and Administrative$3,895
DUES/SUBSCRIPTIONS (5470)General and Administrative$6,137
BLUE MOON LICENSE (5475)General and Administrative($1,523)
CREDIT REPORTS (5480)General and Administrative$15,310
LEGAL EXPENSE (5510)Legal and Professional$32,785
MRI FEES (5515)General and Administrative$11,124
LRO FEES (5525)General and Administrative$6,503
TELEPHONE - LOCAL LINES (5530)General and Administrative$6,949
HIGH SPEED INTERNET (5531)General and Administrative$6,620
ANSWERING SERVICE (5535)General and Administrative$1,083
MISCELLANEOUS (5550)General and Administrative$42
TECHNOLOGY COSTS (5590)General and Administrative$32,190
MANAGEMENT FEES (5700)Management Fee$147,690
MANAGEMENT FEE - OTHER (5740)Management Fee$7,182
PROPERTY MANAGER/ADMINISTRATOR (5810)Payroll$83,796
OFFICE OVERTIME (5815)Payroll$3,878
ASSISTANT MGR/LEASING AGENT (5820)Payroll$132,448
MAINTENANCE/ENGINEER/SUPERVISOR (5830)Payroll$61,646
MAINTENANCE OVERTIME (5835)Payroll$29,847
MAINTENANCE PAYROLL (5840)Payroll$102,180
TEMPORARY EMPLOYMENT (5855)Payroll$5,155
LEASING BONUSES (5860)Payroll$59,533
FRINGE BENEFITS (5870)Payroll$48,230
WORKERS COMP INSURANCE (5875)Payroll$9,479
PAYROLL TAXES (5880)Payroll$35,645
RECRUITING EXPENSE (5882)Payroll$449
PAYROLL PROCESSING (5885)Payroll$2,720
GROUNDS (6010)Landscaping$64,566
SECURITY (6030)Repairs and Maintenance$18,918
SECURITY SYSTEM ACCESS MONITORING (6031)Repairs and Maintenance$1,726
FIRE PUMP TESTING (6035)Repairs and Maintenance$2,297
CLEANING - COMMON (6040)Repairs and Maintenance$6,650
UNIT CLEANS - TURN (6041)Unit Turns$34,008
PLUMBING (6060)Repairs and Maintenance$25,707
ELECTRICAL (6070)Repairs and Maintenance$16,181
BUILDING EXTERIORS (6100)Repairs and Maintenance$10,201
R&M PRESSURE WASHING (6105)Repairs and Maintenance$624
ROOF (6130)Repairs and Maintenance$784
GLASS (6140)Repairs and Maintenance$2,793
CARPET REPAIR/CLEANING - TURN (6160)Unit Turns$18,271
CARPET REPAIR/CLEANING - OCCUPIED (6161)Repairs and Maintenance$694
EXTERMINATING CONTRACT (6190)Repairs and Maintenance$30,093
INTERIOR PAINT - TURN (6200)Unit Turns$45,215
HVAC REPAIRS (6220)Repairs and Maintenance$25,405
EQUIPMENT REPAIRS (6290)Repairs and Maintenance$10,277
UNIT TURNS (6300)Unit Turns$4,581
LOCKS & KEYS (6310)Repairs and Maintenance$42
GROUND SUPPLIES (6510)Landscaping$1,827
POOL SUPPLIES (6520)Repairs and Maintenance$7,070
JANITORIAL SUPPLIES (6540)Repairs and Maintenance$4,245
GATE/PARKING REPAIRS (6550)Repairs and Maintenance$1,616
ELECTRICAL SUPPLIES (6560)Repairs and Maintenance$4,442
PLUMBING SUPPLIES (6570)Repairs and Maintenance$8,472
BUILDING REPAIRS (6610)Repairs and Maintenance$1,759
SCREENS (6640)Repairs and Maintenance$143
GLASS (6660)Repairs and Maintenance$152
BLDG. INTERIOR MAINT. (6670)Repairs and Maintenance$0
INTERIOR PAINT SUPPLIES - TURN (6700)Unit Turns$14,023
FILTERS (6720)Repairs and Maintenance$1,181
HVAC PARTS (6730)Repairs and Maintenance$4,231
APPLIANCE PARTS (6760)Repairs and Maintenance$4,721
HARDWARE (6770)Repairs and Maintenance$188
TOOLS & EQUIPMENT (6830)Repairs and Maintenance$612
UNIFORMS (6870)General and Administrative$639
GAS (7010)Utilities$4,897
TRASH REMOVAL (7025)Utilities$57,099
VALET TRASH (7026)Utilities$37,188
ELECTRICITY - COMMON AREA (7030)Utilities$22,331
ELECTRICITY - VACANT (7040)Utilities$14,604
RECOVERABLE ELEC/GAS/WATER (7050)Utilities$4,049
WATER (7060)Utilities$102,297
SEWAGE (7070)Utilities$84,050
UTILITY BILLING EXPENSE (7075)Utilities$10,648
REAL ESTATE TAXES (7110)Property Taxes$239,567
LICENSES & FEES (7130)General and Administrative$1,543
LIABILITY INSURANCE (7210)Insurance$71,410
PROPERTY INSURANCE (7220)Insurance$93,740

Rent-roll units read (334)

Unit identifiers only — there is no tenant-name column in the schema. The source row is the row of the uploaded roll the unit was read from.

UnitPlanStatusIn-place rentLease startSource row
10013X2BOccupied$2,2582026-06-014
10023X2BOccupied$2,2652024-12-305
10032X2RNon-revenue—2025-12-016
10042X2Non-revenue——7
10051X1Occupied$1,1812025-09-188
10061X1ROccupied$1,2652026-06-099
10071X1Occupied$1,1082026-05-0110
10081X1ROccupied$1,4502026-01-0211
10091X1ROccupied$1,1762026-06-2212
10101X1Occupied$1,1532026-04-0113
10111X1Occupied$1,2762026-07-0114
10121X1Occupied$1,1632026-07-0115
10132X2Occupied$1,5692026-03-1716
10142X2ROccupied$1,5282025-08-1017
10152X2Occupied$2,1612026-05-0118
10162X2ROccupied$1,4332025-10-3019
10172X2Occupied$1,5862026-07-2920
10182X2Occupied$1,9952026-07-1821
10192X2ROccupied$1,6062025-11-2722
10202X2Occupied$1,5352026-07-0123
10212X1Occupied$1,7462026-07-2224
10222X1ROccupied$1,3882025-09-3025
10232X1ROccupied$1,2502026-04-0926
10242X1ROccupied$1,2972025-11-2027
10252X2Occupied$1,5702026-07-3028
10262X2Occupied$1,4912025-12-0429
10272X2ROccupied$1,3072026-02-2830
10282X2ROccupied$1,8702026-06-3031
10291X1Occupied$1,2392025-08-1132
10301X1ROccupied$1,6532026-07-3133
10311X1ROccupied$1,2962026-02-2834
10321X1Occupied$1,3472026-07-0135
10331X1ROccupied$1,1762026-07-0336
10341X1ROccupied$1,2552025-07-1137
10351X1Occupied$1,2442025-09-0138
10361X1Occupied$1,3022026-04-1939
10371X1Occupied$1,2502026-03-1740
10381X1ROccupied$1,2192026-03-0141
10391X1Occupied$1,1972026-04-1542
10401X1Occupied$1,2132025-11-0143
10411X1Occupied$1,2242026-03-0144
10421X1ROccupied$1,2502026-07-0345
10431X1Occupied$1,5122026-07-0146
10441X1Occupied$1,4702025-09-0147
10452X2Occupied$1,8222025-07-1748
10462X2Occupied$1,5642026-06-1349
10472X2Occupied$1,7522026-05-3050
10482X2ROccupied$1,3702026-04-0951
10491X1RVacant——52
10501X1Occupied$1,3072025-11-0953
10511X1Occupied$1,1662025-09-0454
10521X1ROccupied$1,1922026-03-2955
10531X1Occupied$1,3672025-09-1456
10541X1Occupied$1,2812025-12-1857
10551X1ROccupied$1,1242025-10-1458
10561X1ROccupied$1,1712026-01-2159
10571X1ROccupied$1,3632025-11-2760
10581X1ROccupied$1,4132025-09-0661
10591X1ROccupied$1,2342026-01-1462
10601X1Occupied$1,2182025-08-2064
10611X1ROccupied$1,5302026-07-1465
10621X1ROccupied$1,1972026-01-2166
10631X1ROccupied$1,5392026-03-0167
10641X1Vacant——68
10652X2ROccupied$1,5002026-07-2669
10662X2ROccupied$1,5222026-01-2470
10672X2ROccupied$1,6682026-02-0271
10682X2Occupied$1,5072025-11-2672
10692X2ROccupied$1,8752026-07-3073
10702X2ROccupied$1,5182026-07-1574
10712X2RVacant——75
10722X2Occupied$1,5862026-06-1476
10732X2ROccupied$1,5862026-07-0177
10742X2Vacant——78
10752X2Occupied$1,5172026-06-2479
10762X2Occupied$1,7482026-01-1780
10772X2Occupied$2,3972026-07-2382
10782X2Occupied$1,5222026-04-2383
10793X2AROccupied$1,9982025-11-2284
10803X2AOccupied$1,9112025-11-2785
10813X2AROccupied$2,0212026-06-3086
10823X2AROccupied$1,9642025-11-0187
10833X2AOccupied$1,7852026-02-1888
10843X2AROccupied$2,1102025-09-1889
10852X2Occupied$2,0242025-10-2590
10862X2ROccupied$1,6192025-10-3091
10872X2Occupied$1,5082026-07-2092
10882X2Occupied$1,6012025-09-3093
10892X1Occupied$1,3602026-02-2494
10902X1ROccupied$1,4082026-05-0195
10912X1ROccupied$1,4122026-02-1196
10922X1ROccupied$1,4382025-09-1697
10932X1ROccupied$1,3492026-06-1698
10942X1ROccupied$1,9122025-10-0199
10952X1ROccupied$1,2502026-03-07100
10962X1Occupied$1,2282026-04-12101
10972X2Occupied$1,7452026-07-16102
10982X2ROccupied$1,5702026-03-03103
10992X2Occupied$1,6282025-09-28104
11002X2ROccupied$1,4702026-05-16105
11012X2ROccupied$1,4652026-05-12106
11022X2Occupied$1,5702026-07-10107
11032X2Occupied$1,5282026-04-08108
11042X2Occupied$2,0672026-07-12110
11052X1Occupied$1,9952026-07-17111
11062X1ROccupied$1,4232025-09-18112
11072X1ROccupied$1,2502026-03-22113
11082X1ROccupied$1,6442026-07-14114
11092X2Occupied$1,4542026-05-19115
11102X2ROccupied$1,4492026-06-11116
11112X2ROccupied$1,4492026-06-24117
11122X2Occupied$1,6282025-08-05118
11132X1Occupied$1,5702026-01-06119
11142X1Occupied$1,7742025-10-01120
11152X1Occupied$1,4602026-01-26121
11162X1Occupied$1,5862026-07-17122
11171X1ROccupied$1,2132025-12-14123
11181X1ROccupied$1,1762025-10-15124
11191X1Occupied$1,2532026-05-27125
11201X1Occupied$1,1342026-01-02126
11212X1RVacant——127
11222X1Occupied$1,3282026-01-02128
11232X1Occupied$1,4332026-03-23129
11242X1Occupied$1,4712026-06-05130
11251X1ROccupied$1,1972026-05-01131
11261X1Occupied$1,2022026-03-20132
11271X1Occupied$1,4382025-07-12133
11281X1ROccupied$1,4422025-09-24134
11292X1RVacant——135
11302X1Occupied$1,3282025-12-24136
11312X1ROccupied$1,2502026-02-23137
11322X1ROccupied$1,3602026-01-20138
11331X1ROccupied$1,1502026-04-04139
11341X1Occupied$1,3542026-06-15140
11351X1Occupied$1,2602026-04-07141
11361X1ROccupied$1,0972026-04-12142
11371X1Occupied$1,2632026-04-17143
11381X1Occupied$1,2002026-06-30144
11391X1ROccupied$1,1342026-05-08145
11401X1Occupied$1,3312026-06-25146
11411X1ROccupied$1,1132026-03-24147
11421X1ROccupied$1,7432026-07-04148
11431X1Occupied$1,4842026-02-15149
11441X1ROccupied$1,3512025-11-27150
11451X1Occupied$1,2862025-12-31151
11461X1ROccupied$1,5552026-07-11153
11471X1Occupied$1,3462025-10-15154
11481X1Occupied$1,1972026-05-29155
11491X1ROccupied$1,2442026-06-21156
11501X1Occupied$1,2242025-12-08157
11511X1Occupied$1,5222026-07-01158
11521X1Occupied$1,2892026-05-03159
11531X1ROccupied$1,2842026-04-24160
11541X1ROccupied$1,2602026-01-01161
11551X1Occupied$1,1972025-09-18162
11561X1ROccupied$1,2082026-01-17163
11571X1ROccupied$1,3542026-01-06164
11581X1ROccupied$1,1812026-04-30165
11591X1Occupied$1,1812025-09-11166
11601X1Occupied$1,4892026-01-01167
11611X1ROccupied$1,2862025-08-06168
11621X1ROccupied$1,1242025-08-17169
11631X1Occupied$1,1932026-05-30170
11641X1Occupied$1,1812025-09-15171
11653X2BVacant——172
11663X2BROccupied$2,4532026-03-25173
11672X2Occupied$1,7482025-09-23174
11682X2ROccupied$1,5212025-08-10175
11693X2BROccupied$2,1232026-05-25176
11703X2BOccupied$1,9482026-03-04177
20032X2Non-revenue——178
20042X2RNon-revenue——179
20051X1Occupied$1,2922026-01-24180
20061X1Occupied$1,2652026-01-15181
20071X1ROccupied$1,5712026-05-24182
20081X1ROccupied$1,3342026-07-10183
20091X1Occupied$1,2922026-05-16184
20101X1Occupied$1,5392025-08-01185
20111X1Occupied$1,1342025-12-24186
20121X1Occupied$1,4072025-08-28187
20132X2Occupied$1,4962025-11-24188
20142X2ROccupied$1,7932026-04-13189
20152X2Occupied$1,6832026-07-01190
20162X2ROccupied$1,8772026-07-05191
20172X2Occupied$1,6382025-08-18192
20182X2ROccupied$1,4232025-11-30193
20192X2Occupied$1,6232026-04-27194
20202X2Occupied$1,4702026-04-05195
20212X1Occupied$1,8232026-07-16197
20222X1Occupied$1,5072025-07-10198
20232X1Occupied$1,3492026-04-16199
20242X1Occupied$1,8772026-07-28200
20252X2Occupied$1,6942026-04-30201
20262X2ROccupied$1,4072025-12-15202
20272X2ROccupied$1,4282026-03-01203
20282X2ROccupied$1,5802025-10-13204
20291X1Occupied$1,5052025-05-30205
20301X1ROccupied$1,2392026-06-04206
20311X1ROccupied$1,2352026-01-23207
20321X1Occupied$1,1662025-09-08208
20331X1ROccupied$1,2182025-11-28209
20341X1Occupied$1,2302026-05-24210
20351X1Occupied$1,9592026-07-26211
20361X1ROccupied$1,5892026-07-12212
20371X1ROccupied$1,4662025-08-17213
20381X1Occupied$1,1322026-05-01214
20391X1Occupied$1,1812025-09-20215
20401X1Occupied$1,2132025-08-01216
20411X1Occupied$1,6242026-07-24217
20421X1Occupied$1,2132026-05-16218
20431X1Occupied$1,2812026-06-25219
20441X1ROccupied$1,1762026-04-07220
20452X2ROccupied$1,3812026-04-14221
20462X2Occupied$1,6592025-07-30222
20472X2Occupied$1,6342026-02-20223
20482X2ROccupied$1,6972026-07-05224
20491X1ROccupied$1,1942026-04-02225
20501X1Occupied$1,2242026-07-01226
20511X1Occupied$1,2502025-12-31227
20521X1Occupied$1,3002026-05-07228
20531X1ROccupied$1,3262025-09-30229
20541X1Occupied$1,3342025-10-10230
20551X1ROccupied$1,2022026-05-24231
20561X1ROccupied$1,3202026-05-09232
20571X1Occupied$1,7992026-07-15233
20581X1ROccupied$1,2442026-02-01234
20591X1Occupied$1,3912026-03-24235
20601X1Occupied$1,4662026-06-01236
20611X1ROccupied$1,1942026-04-29237
20621X1ROccupied$1,2442026-05-29238
20631X1ROccupied$1,1812026-04-13239
20641X1ROccupied$1,2322026-05-01240
20652X2Occupied$1,7262025-12-16241
20661X1Occupied$1,9322026-05-01242
20672X2Vacant——243
20682X2Occupied$1,4962025-12-08244
20692X2ROccupied$1,7182025-07-14245
20702X2Occupied$1,5282026-04-04246
20712X2ROccupied$1,8962026-02-01247
20722X2ROccupied$1,3442026-03-02248
20732X2RVacant——249
20742X2Occupied$1,6772026-03-07250
20752X2Vacant——251
20762X2Occupied$1,7852025-09-01252
20772X2RVacant——253
20782X2Occupied$1,2862025-09-01254
20793X2AOccupied$1,8312026-05-20255
20803X2AOccupied$1,6432025-12-23256
20813X2AOccupied$1,6332026-02-27257
20823X2AROccupied$1,7742026-04-17258
20833X2AROccupied$1,8892025-12-01259
20843X2AROccupied$1,6542026-01-27260
20852X2Occupied$1,8042025-08-01261
20862X2ROccupied$1,5162026-03-28262
20872X2Occupied$1,9662026-06-30263
20882X2Occupied$1,6432025-08-08264
20892X1Occupied$1,4382026-05-17265
20902X1Occupied$1,3282026-01-07266
20912X1ROccupied$1,2972026-06-30267
20922X1ROccupied$1,2502026-04-30268
20932X1Occupied$1,3862026-04-24269
20942X1Occupied$1,4432026-01-11270
20952X1Occupied$1,4332025-08-25271
20962X1Occupied$1,3442026-02-15272
20972X2Occupied$1,6332026-01-01273
20982X2Occupied$1,5492026-06-06274
20992X2ROccupied$1,4332025-10-24275
21002X2ROccupied$1,9492026-06-04276
21012X2Occupied$1,5912025-12-11277
21022X2Occupied$1,5172026-06-20278
21032X2Occupied$1,4802025-12-09279
21042X2Occupied$1,5492026-02-21280
21052X1Occupied$1,5752026-06-13281
21062X1Occupied$1,3602026-02-08282
21072X1Vacant$1,3762026-07-11283
21082X1RVacant——285
21092X2RVacant——286
21102X2ROccupied$1,4652026-05-10287
21112X2ROccupied$1,4022026-02-28288
21122X2Occupied$1,6012026-07-01289
21132X1Occupied$2,0672026-04-14290
21142X1Occupied$1,3862026-04-02291
21152X1Occupied$1,3602026-01-10292
21162X1ROccupied$1,3962025-09-24293
21171X1Occupied$1,2892026-05-25294
21181X1Occupied$1,2232026-06-18295
21191X1Occupied$1,2012026-07-17296
21201X1ROccupied$1,1662025-09-30297
21212X1Occupied$1,4892026-07-21298
21222X1Occupied$1,3862026-04-06299
21232X1Occupied$1,4232026-06-02300
21242X1Occupied$1,4802026-02-19301
21251X1Occupied$1,2402025-08-15302
21261X1Occupied$1,4742026-07-06303
21271X1Occupied$1,1242026-06-30304
21281X1Occupied$1,7202026-07-24305
21292X1Occupied$1,3282026-01-07306
21302X1Occupied$1,3282025-12-16307
21312X1ROccupied$1,4612026-02-20308
21322X1Occupied$1,5252025-07-15309
21331X1ROccupied$1,1132025-11-01310
21341X1ROccupied$1,4582026-04-01311
21351X1Occupied$1,2702026-06-24312
21361X1Occupied$1,7062026-07-16313
21371X1Occupied$1,1542026-03-01314
21381X1Occupied$1,4002025-09-01315
21391X1Occupied$1,3012025-09-01316
21401X1Occupied$1,1292026-04-23317
21411X1ROccupied$1,2652026-01-25318
21421X1Vacant——319
21431X1Occupied$1,4362025-11-29320
21441X1ROccupied$1,1292026-04-07321
21451X1Occupied$1,2862026-07-09322
21461X1Occupied$1,4342026-07-07323
21471X1ROccupied$1,4052026-01-01324
21481X1ROccupied$1,2342025-11-07325
21491X1ROccupied$1,1602026-02-28326
21501X1ROccupied$1,2742026-06-29327
21511X1Vacant——328
21521X1ROccupied$1,4862025-07-30329
21531X1RVacant——330
21541X1ROccupied$1,5612025-12-01331
21551X1Occupied$1,3732026-07-02332
21561X1ROccupied$1,1082025-09-22333
21571X1Occupied$1,3522026-04-26334
21581X1ROccupied$1,1022025-09-04335
21591X1Occupied$1,3142026-06-08336
21601X1ROccupied$1,3482025-11-06337
21611X1ROccupied$2,0792025-12-08338
21621X1ROccupied$1,1082025-09-13339
21631X1ROccupied$1,5332026-04-04340
21641X1Occupied$1,3702025-08-13341
21672X2ROccupied$1,7262026-02-21342
21682X2ROccupied$1,6412026-03-10343

Comp communities quoted (13)

CommunityDistanceTierUnitsUnits fromYear builtYear built fromRents as ofSource
Saltera Apartments0.1 mitier 1306Maricopa County, AZ property record, as of 2026-10-051984Maricopa County, AZ property record, as of 2026-10-052026-09-30own weekly scrape
The Hamptons0.3 mitier 1249Maricopa County, AZ property record, as of 2026-10-051981Maricopa County, AZ property record, as of 2026-10-052026-09-29own weekly scrape
Cielo on Gilbert0.7 mitier 1432Maricopa County, AZ property record, as of 2026-10-051985Maricopa County, AZ property record, as of 2026-10-052026-09-30own weekly scrape
The Vance0.9 mitier 1464Maricopa County, AZ property record, as of 2026-10-051986Maricopa County, AZ property record, as of 2026-10-052026-09-29own weekly scrape
Lucera Apartments1.5 mitier 1192Maricopa County, AZ property record, as of 2026-10-051986Maricopa County, AZ property record, as of 2026-10-052026-09-30own weekly scrape
Pebble Creek1.5 mitier 2122Maricopa County, AZ property record, as of 2026-10-051985Maricopa County, AZ property record, as of 2026-10-052026-09-30own weekly scrape
Gilbert Greens Apartments1.6 mitier 2164Maricopa County, AZ property record, as of 2026-10-051985Maricopa County, AZ property record, as of 2026-10-052026-09-29own weekly scrape
Mesa Station1.6 mitier 2397Maricopa County, AZ property record, as of 2026-10-051984Maricopa County, AZ property record, as of 2026-10-052026-09-29own weekly scrape
Dana Park Apartments1.7 mitier 2222Maricopa County, AZ property record, as of 2026-10-051986Maricopa County, AZ property record, as of 2026-10-052026-09-30own weekly scrape
Astero Mesa East1.8 mitier 2MISSINGNo public record; the licensed count is held back1987community registry (third-party market data)2026-09-29own weekly scrape
Astero Mesa West1.8 mitier 2MISSINGNo public record; the licensed count is held back1986community registry (third-party market data)2026-09-16own weekly scrape
Gentrys Walk Apartments1.9 mitier 2176Maricopa County, AZ property record, as of 2026-10-051986Maricopa County, AZ property record, as of 2026-10-052026-09-30own weekly scrape
The Orchard on Gilbert1.9 mitier 2130Maricopa County, AZ property record, as of 2026-10-051986Maricopa County, AZ property record, as of 2026-10-052026-09-30own weekly scrape

This run

Model callsInput tokensOutput tokensCache readCache writeCostSecondsExtraction modelClassification model
778,4149,28600$0.6254.0claude-opus-5claude-haiku-4-5

Built by one live run of the upload pipeline on 2026-09-14 over the sample materials (7 model calls, $0.62); the market blocks were pulled for the illustrative address on 2026-10-06 and baked in. Serving the sample makes no model calls.

Notes and disclosures

Every output here is the result of decisions someone made. These are those decisions — including the ones that make the numbers look worse.

Pricing is illustrative

Applies to: Deal Summary — Pricing

Every price, per-unit figure and cap rate in this set is illustrative. The per-unit price is a round number chosen to sit inside the band a real per-unit sale price occupies, so the cap-rate arithmetic is realistic. It is not a quote, an offer, a broker's guidance, or a valuation. Cap rates move inversely with the price, so read them as a demonstration of the mechanics rather than a view on the asset.

Licensed data is excluded by design, not by omission

Applies to: Rent Comps

No subscription or licensed market-data feed appears anywhere in this set. Comps come only from an operator's own weekly scrape of public leasing pages. That is a deliberate constraint, not a gap: licensed data cannot travel outside the licence, so a portfolio piece built on it could not be shown at all. The cost is coverage, and the coverage is measured and stated rather than assumed.

Comp radius is stated, and coverage inside it is measured

Applies to: Rent Comps

The comp block states the radius it searched and how many tracked communities inside it carry live rents; that sentence is counted from the operator's own scrape, never written by hand. The detail tiers are the closest same-product communities within that radius, so a wide radius adds candidates without letting a distant one outrank a close one. A community the scrape tracks but could not quote is not dropped: it is carried, with the reason it is not a comp, in the downloadable interchange file.

Comps are matched on vintage

Applies to: Rent Comps — tiers

The detailed tiers hold only communities within ten years of the subject's year built. Widening that range changes which communities are in the set, and a set that includes materially newer product will generally report a different rent — how much, and in which direction, is a property of the particular submarket and date, not a rule. Where this output set has measured the difference between two otherwise-identical comp sets on its own subject, the figures appear in the note below.

Year built comes from a free-text note, where it exists at all

Applies to: Rent Comps — tiers

The rent tracker has no year-built column. Where a vintage appears here it was parsed out of a free-text note on the community record, and every row carries that as its source. A community with no such note keeps its place in the comp set on distance and product, shows a dash for the year, and the tier header says how many rows the vintage filter could not be applied to. Inventing a year would fabricate the evidence the filter runs on; dropping the community would hide the closest comps for want of a field the source never had.

Market rent is never a blend of new and renewal

Applies to: Rent Roll — Summary

Market rent for the model is the new move-in rent — residents whose move-in date falls inside the lookback window, whatever their lease type — where a plan has one, and in-place rent where it does not. It is never the average of every lease signed, new and renewal together. A blended figure reads as market rent and is not one: renewals are priced off the existing rent, so blending them in drags the number toward where rents used to be and understates the gap the underwriting is trying to measure. On an asset whose in-place rents sit above what the market is currently signing, the rule produces a market rent BELOW in-place — which is the correct and uncomfortable answer, and the one a blend would hide.

Estimated values are not published as facts

Applies to: throughout

Where a figure is derived rather than read, the audit trail says so and names the inputs. Where a figure is unknown, the cell shows a visible hole rather than a plausible-looking number. A blank that reads as a zero is the most expensive kind of missing data, because nothing downstream flags it.

What the public demo leaves to the internal pipeline

Applies to: throughout

This demo is a deliberately reduced copy of the operator's pipeline. A licensed data source, a county-portal login, a school-rating lookup, a web valuation or a lease trade-out report is not something a public page should reach or ask for, so the values those produce — the assessor's parcel and bill, school ratings, a fair market value, the new-versus-renewal trade-out — read 'Internal pipeline only' with the reason wherever they appear. The field manifest lists every one of them. Everything else on these tabs is produced the same way for the sample and for an uploaded deal, from the same sources.

Supply coverage is an area of ongoing work

Applies to: Supply

The supply section is real and unmodified — the rings, stages and unit counts come from a public permit and entitlement pipeline, and a zero is a genuine zero rather than a gap left blank. Coverage of that pipeline is an area of ongoing work: a ring showing no active supply means nothing was matched in the sources covered so far, which is a weaker statement than nothing being built. This section will be expanded; read it as a floor on competing supply, not a census of it.

Checks degrade to NOT CHECKED rather than passing quietly

Applies to: Error Checks & Pricing

Every cross-tie on the checks tab reports OK, FAIL, or NOT CHECKED. A check missing one of its inputs reports NOT CHECKED and claims no difference — it never reports OK. A green result that only means 'this check could not run' is worse than a red one, because it buys confidence it has not earned.

What vintage-matching changed on this deal

Applies to: Rent Comps — tiers

This subject was built 1981. Two comp sets were selected by identical criteria — same candidate pool, same product test, same tracker exclusions, same radius, same closest-20 cap, same rent rules, same mix weighting — differing only in whether the +/-10-year vintage test was applied. Set A, vintage test ON: 13 communities, vintages 1981 to 1987; this subject's rent reads 4.7% above it. Set B, vintage test OFF: 4 more communities join and none drops out — fewer than 20 qualify either way, so the cap never binds (vintages 1981 to 2018); the same rent reads 0.8% above it. Both figures are weighted by this property's own unit mix and computed over the same bed counts (95% of its units), so the two sets differ by 3.9 points. Every community that joins was built after 1987, set A's newest, so set B reaches newer product than the vintage test allowed. Both sets are listed on the Rent Comps section — this is a measurement of these two sets on this date, not an estimate of what vintage is worth in this market.

Market rent is BELOW in-place on this deal

Applies to: Rent Roll — Summary

Unit-weighted in-place rent is $1,457 and market rent for the model is $1,345 — -7.7%. That is not an error. New leases are signing below what residents in place are paying, so the no-blend rule surfaces a downward mark the model has to carry. A blended new-and-renewal average would have hidden it.

This sample sits at an illustrative address

Applies to: throughout

The address shown is illustrative and is not the asset's location; the demand, supply, rent-comp and property-tax tabs were pulled for this illustrative address from the same sources a live upload reads. The seller and brokerage names are illustrative; the real parties are withheld. Pricing is illustrative.

About the market pull

Applies to: Rent Comps / Demand / Supply

Demand: the ZIP-versus-metro home value rows are Zillow ZHVI from a vendored table that carries no as-of date — the same static table the operator's 1-pager reads. Directional, not current.

About the market pull

Applies to: Rent Comps / Demand / Supply

Supply stages: the permit pipeline tracks pre-permit signals (entitlement leads, site plans, stormwater notices — shown as Entitlement) and issued permits (Permitted). Construction status and deliveries are not tracked, so those stages are not asserted.

About the market pull

Applies to: Rent Comps / Demand / Supply

Supply: cut to multifamily projects for an MF subject; build-for-rent projects are not counted.

About the market pull

Applies to: Rent Comps / Demand / Supply

Supply: the 33 development(s) within 3 mi are listed by name, one row each, at the furthest stage the pipeline shows; beyond that radius the rings are counts only.

About the market pull

Applies to: Rent Comps / Demand / Supply

Supply: 215 row(s) were the same development on more than one lifecycle layer and were counted once, at the furthest stage the pipeline shows.

About the market pull

Applies to: Rent Comps / Demand / Supply

Supply: 141 project(s) without a unit count are counted as projects and add zero units — the unit figure is a floor, not a total.

About the market pull

Applies to: Rent Comps / Demand / Supply

Supply pipeline: Supply: layers are lifecycle views of the SAME market — a project can appear as an NOI and later as a permit; never sum a tab's rows across layers.

About the market pull

Applies to: Rent Comps / Demand / Supply

Supply pipeline: Supply: county/SFD 'Units' are measured where the permit carries them; NOI and entitlement 'Units' are acreage-derived ESTIMATES (capped 300) — treat as indicative.

About the market pull

Applies to: Rent Comps / Demand / Supply

Supply pipeline: Supply: 'Lead — entitlement' rows are pre-permit LEADS (~40-65% eventually build), not committed supply; their Status shows the de-risk funnel (prospect / NOI nearby / permit nearby).

About the market pull

Applies to: Rent Comps / Demand / Supply

Supply pipeline: Supply BFR: the detached SFD-tract layer exists for Charlotte / Las Vegas / Nashville / Tampa today; elsewhere detached product shows via NOI radar + entitlement tiers. Phoenix has no attached-BFR NOI arm.

About the market pull

Applies to: Rent Comps / Demand / Supply

Rent comps: 354 of 357 communities in the radius carry a year built (297 from the public property record, the rest from the community registry); those are vintage-tested against the subject, the rest are matched on distance and product only and say so.

About the market pull

Applies to: Rent Comps / Demand / Supply

Rent comps: 297 of 357 communities in the radius carry a public-record unit count (Maricopa County, AZ property record), shown with its source and as-of. A community's licensed registry count is never published; where no public record covers it, the count reads MISSING and says so.

About the market pull

Applies to: Rent Comps / Demand / Supply

Rent comps: 1 quoted community is marked STALE by the tracker (snapshot older than its freshness threshold); their rows say so.

About the market pull

Applies to: Rent Comps / Demand / Supply

Rent comps: 1 community name(s) would fail the publishing check and are withheld; their rows stay, by distance (a licensed unit count is never published).

About the market pull

Applies to: Rent Comps / Demand / Supply

Rent comps: 12 unit group(s) the tracker flagged for review were not quoted.

About the market pull

Applies to: Rent Comps / Demand / Supply

1 tracked community within the radius withheld from the comp set: the real asset this sample derives from.

About this run

Applies to: Notes & Disclosures

40 row(s) below the header were SKIPPED rather than counted as units: 29 read as a trailer (a totals or summary line, or a row carrying nothing that describes one unit); 11 carrying no unit identifier. Check that number against your own roll — a real unit dropped by that test would be in it.

About this run

Applies to: Notes & Disclosures

6 unit(s) appeared twice in the export (1060, 1077, 1104, 1146, 2021, 2107); kept the lease in place on the as-of date and dropped the incoming lease.

About this run

Applies to: Notes & Disclosures

40 account line(s) below the statement's NET OPERATING INCOME row were left out of operating results (capital, reserves or other non-operating items, by the statement's own layout).

About this run

Applies to: Notes & Disclosures

Ties to the statement's own printed subtotals: revenue, operating expenses, NOI.

About this run

Applies to: Notes & Disclosures

The market report (demand, supply, comps) did not run: the market-report service is not configured on this deployment (MARKET_REPORT_URL / MARKET_REPORT_TOKEN unset).

About this run

Applies to: Notes & Disclosures

OM comparables: 3 stated comparable(s) the model read were withheld because a figure or quote could not be verified against the memorandum's own words.

About this run

Applies to: Notes & Disclosures

Beneath the scraped set, the comparables the offering memorandum itself states are listed under their own heading. They are the seller's figures — each one verified against the memorandum's own text (rent rows show their quote) — not market data, and they are never mixed into the scraped tiers.

About this run

Applies to: Notes & Disclosures

Property tax: the rate is the vendored county rate table's entry for Maricopa, AZ — 10.2573 per $100 of assessed value, tax year 2025, Tax area code 971300 — City of Phoenix / Deer Valley Unified School District #97 — with the AZ assessment ratio and reset-on-sale rule from the same table. No county portal was reached: the tax area code, the assessor's value, the exemption read MISSING; the parcel, the billed amount, the bill's tax year come from the uploaded offering memorandum, unverified against a portal. The statement's own Property Taxes line is shown as billed in the statement where a statement was uploaded.

About this run

Applies to: Notes & Disclosures

The uploaded rent roll stated the PERIOD it covers rather than a day: as-of taken as 2026-08-31, the last day of the stated period 202608. Every window on this page (the move-in and lease-signed lookback, and annualised turnover) is measured back from that date, not from the day of the upload.

About this run

Applies to: Notes & Disclosures

This output set was generated from documents uploaded to a public demo. It read an offering memorandum, a trailing-twelve statement, a rent roll. 20 summary field(s) were read from the marketing document by a language model and each one is carried with the sentence it came from; any value whose sentence could not be found in the document was discarded rather than shown. Every figure on the T-12 and rent-roll tabs are computed by code from the uploaded spreadsheets, not read by a model. Each T-12 line's category was assigned from the wording of its account label, not from an account-code table, because account codes mean different things in different systems. The category chosen for every line is shown beside it on the T-12 Data tab so you can check it; lines that could not be placed confidently are excluded rather than guessed at, and are listed above. Comparable rents, demographics, competing supply and closing costs were not run: they need data sources this demo does not reach. The uploaded files were deleted as soon as they were parsed, and this output set is deleted with the rest of the run.

Download the workbooks

  • Deal summary Summary card, rent comps, demand and supply by ring. sample-deal-summary.xlsx
  • T-12 analysis Monthly data, P&L rollup, cross-tie checks and pricing ladders. sample-t12-analysis.xlsx
  • Rent roll analysis Per-unit roll and unit mix with market rent for model. sample-rent-roll-analysis.xlsx
  • Model-ready outputs Every field the pipeline extracts, with the model input each one fills. sample-model-ready-outputs.xlsx
  • Interchange JSON The single structured file every output above is generated from. sample-deal-outputs.json