{
  "schemaVersion": "1.0.0",
  "title": "Groundwork · PointCast Real Estate Observatory",
  "edition": "2026-10-03",
  "readOnly": true,
  "educational": true,
  "affiliation": "IndustryNext and University of El Segundo are proposed context and collaboration paths. This edition does not claim their endorsement, an active partnership, student participation or an operating intern program. The earlier intern program is historical/closed.",
  "center": {
    "lat": 33.91992025096,
    "lon": -118.415864992665,
    "name": "El Segundo City Hall",
    "address": "350 Main Street, El Segundo, CA 90245",
    "precision": "Census current-benchmark street-range interpolation; approximate address point, not a surveyed rooftop or parcel centroid.",
    "sourceId": "census-geocoder"
  },
  "radiusMiles": 25,
  "localMarkets": [
    {
      "id": "el-segundo-main",
      "name": "El Segundo · Main Street",
      "lat": 33.91992025096,
      "lon": -118.415864992665,
      "propertyTypes": [
        "Residential",
        "Multifamily",
        "Retail",
        "Mixed use"
      ],
      "character": "Begin at a walkable main-street block: compare the economics of a dwelling, a small rental building, and a storefront without assuming they share the same income or permissions.",
      "planning": [
        "Read City Code Title 15 and the actual zoning map; distinguish the downtown commercial zone from residential and overlay rules.",
        "Check legal unit count, permitted use, parking, coastal jurisdiction, and pending ordinances before underwriting a parcel."
      ],
      "transit": [
        "Compare the last mile with rail and bus access; Metro 125 serves El Segundo."
      ],
      "risks": [
        "Will the buyer face a reassessed tax basis or supplemental bill?",
        "What do roof, seismic, insurance, airport-noise, and tenant records reveal?"
      ],
      "sourceIds": [
        "el-segundo-code",
        "metro-schedules",
        "boe-tax",
        "cgs-hazards",
        "ca-tenants"
      ],
      "distanceMiles": 0,
      "coordinateNote": "Approximate editorial study anchor; no neighborhood, city, parcel, or listing boundary is implied.",
      "evidence": "Typologies and character are comparative study lenses. Planning links are starting points; risks are questions to investigate for an actual parcel."
    },
    {
      "id": "el-segundo-east",
      "name": "El Segundo · Eastside employment lens",
      "lat": 33.9154,
      "lon": -118.388,
      "propertyTypes": [
        "Office",
        "Industrial",
        "Mixed use"
      ],
      "character": "A contrast study for office, light-industrial, and adaptive-use space. Tenant improvements and downtime can dominate a seemingly attractive asking rent.",
      "planning": [
        "Title 15 distinguishes corporate office, light/heavy industrial, mixed-use zones, and overlays.",
        "Obtain the operative specific plan and written use determination; the code index marks its old Smoky Hollow chapter repealed."
      ],
      "transit": [
        "Inspect K Line station access and Metro 125/232 connections against the actual building entrance."
      ],
      "risks": [
        "How much is reusable tenant space versus costly specialized fit-out?",
        "Check environmental history, loading, power capacity, airport constraints, and lease-expiration concentration."
      ],
      "sourceIds": [
        "el-segundo-code",
        "metro-schedules",
        "cgs-hazards",
        "geotracker",
        "envirostor"
      ],
      "distanceMiles": 1.63,
      "coordinateNote": "Approximate editorial study anchor; no neighborhood, city, parcel, or listing boundary is implied.",
      "evidence": "Typologies and character are comparative study lenses. Planning links are starting points; risks are questions to investigate for an actual parcel."
    },
    {
      "id": "manhattan-beach",
      "name": "Manhattan Beach · Downtown",
      "lat": 33.8855,
      "lon": -118.4105,
      "propertyTypes": [
        "Residential",
        "Retail",
        "Mixed use"
      ],
      "character": "Use a coastal retail-and-housing lens: compare low-density residential ownership, street retail operations, and the cost of scarce space.",
      "planning": [
        "Use the city planning portal and published municipal code for zoning and coastal permit research.",
        "Confirm development standards and any applicable residential overlay at the parcel level; homepage material is not an entitlement."
      ],
      "transit": [
        "Evaluate bus access and coastal first/last-mile travel; do not infer rail walkability."
      ],
      "risks": [
        "What are flood, tsunami, corrosion, and insurance exposures for the exact site?",
        "How do tenant sales, seasonality, parking, and operating hours affect a retail lease?"
      ],
      "sourceIds": [
        "manhattan-city",
        "manhattan-code",
        "fema-flood",
        "cgs-hazards",
        "metro-schedules"
      ],
      "distanceMiles": 2.4,
      "coordinateNote": "Approximate editorial study anchor; no neighborhood, city, parcel, or listing boundary is implied.",
      "evidence": "Typologies and character are comparative study lenses. Planning links are starting points; risks are questions to investigate for an actual parcel."
    },
    {
      "id": "hermosa-beach",
      "name": "Hermosa Beach · Civic / Pier corridor",
      "lat": 33.8622,
      "lon": -118.3995,
      "propertyTypes": [
        "Residential",
        "Multifamily",
        "Retail",
        "Hospitality"
      ],
      "character": "Compare a small coastal rental with visitor-facing business space. Hospitality requires a different operating model from a residential lease.",
      "planning": [
        "Start with the city planning desk, General Plan, municipal code, and applicable coastal approvals.",
        "Verify short-term-rental legality, occupancy, parking, and use permits separately; no nightly-rental permission is assumed."
      ],
      "transit": [
        "Study coastal bus connections and the actual trip time, not a radius-derived commute."
      ],
      "risks": [
        "How do coastal maintenance, seasonality, noise, and insurance alter operating costs?",
        "Does the current use have transferable legal approvals?"
      ],
      "sourceIds": [
        "hermosa-city",
        "fema-flood",
        "cgs-hazards",
        "metro-schedules",
        "ca-tenants"
      ],
      "distanceMiles": 4.1,
      "coordinateNote": "Approximate editorial study anchor; no neighborhood, city, parcel, or listing boundary is implied.",
      "evidence": "Typologies and character are comparative study lenses. Planning links are starting points; risks are questions to investigate for an actual parcel."
    },
    {
      "id": "redondo-beach",
      "name": "Redondo Beach · Civic / Waterfront",
      "lat": 33.8492,
      "lon": -118.3884,
      "propertyTypes": [
        "Residential",
        "Multifamily",
        "Retail",
        "Hospitality"
      ],
      "character": "A waterfront-versus-inland comparison. Two properties in the same city can have very different maintenance, access, and planning constraints.",
      "planning": [
        "The Community Development portal links zoning ordinances, the interactive city map, and PLANredondo.",
        "Check current General Plan status, coastal review, and any site-specific plan rather than extrapolating from the city label."
      ],
      "transit": [
        "Metro 40/210 and local Beach Cities Transit merit route-level review."
      ],
      "risks": [
        "Check flood/tsunami maps and seawater-related repair reserves for coastal sites.",
        "Separate possible future transport projects from service operating today."
      ],
      "sourceIds": [
        "redondo-planning",
        "metro-schedules",
        "fema-flood",
        "cgs-hazards"
      ],
      "distanceMiles": 5.13,
      "coordinateNote": "Approximate editorial study anchor; no neighborhood, city, parcel, or listing boundary is implied.",
      "evidence": "Typologies and character are comparative study lenses. Planning links are starting points; risks are questions to investigate for an actual parcel."
    },
    {
      "id": "hawthorne",
      "name": "Hawthorne · Civic / Aviation corridor",
      "lat": 33.9164,
      "lon": -118.3526,
      "propertyTypes": [
        "Multifamily",
        "Retail",
        "Industrial"
      ],
      "character": "A useful inland contrast to beach-city pricing narratives: test a rental building and employment-oriented space with their own rent roll, expenses, and vacancy.",
      "planning": [
        "The official city portal exposes existing and updating General Plan resources; confirm the operative plan and zoning with the city.",
        "Do not infer mixed-use or residential conversion rights from proximity to an employment campus."
      ],
      "transit": [
        "Inspect C Line access, Metro 212, and the final walk from station to property."
      ],
      "risks": [
        "Review aircraft noise, freeway access, environmental history, and building condition.",
        "Check state and local tenant protections before modeling rent resets."
      ],
      "sourceIds": [
        "hawthorne-city",
        "metro-schedules",
        "ca-tenants",
        "cgs-hazards",
        "geotracker"
      ],
      "distanceMiles": 3.64,
      "coordinateNote": "Approximate editorial study anchor; no neighborhood, city, parcel, or listing boundary is implied.",
      "evidence": "Typologies and character are comparative study lenses. Planning links are starting points; risks are questions to investigate for an actual parcel."
    },
    {
      "id": "inglewood",
      "name": "Inglewood · Civic / K Line",
      "lat": 33.9617,
      "lon": -118.3531,
      "propertyTypes": [
        "Multifamily",
        "Retail",
        "Mixed use",
        "Hospitality"
      ],
      "character": "An event-district and transit study: recurring household demand and event-night spending are different revenue streams with different volatility.",
      "planning": [
        "The official GIS gallery provides General Plan, zoning, overlay, and neighborhood maps.",
        "Verify the exact overlay, tenant rules, permitted use, event operations, and development conditions for a parcel."
      ],
      "transit": [
        "Inspect K Line access and actual event-day service; a station dot is not a commute guarantee."
      ],
      "risks": [
        "Does underwriting rely on event premiums rather than durable leases?",
        "Review noise, traffic, parking, tenant protections, and airport-related constraints."
      ],
      "sourceIds": [
        "inglewood-maps",
        "metro-schedules",
        "ca-tenants",
        "cgs-hazards"
      ],
      "distanceMiles": 4.61,
      "coordinateNote": "Approximate editorial study anchor; no neighborhood, city, parcel, or listing boundary is implied.",
      "evidence": "Typologies and character are comparative study lenses. Planning links are starting points; risks are questions to investigate for an actual parcel."
    },
    {
      "id": "gardena",
      "name": "Gardena · Civic / Commerce",
      "lat": 33.8855,
      "lon": -118.308,
      "propertyTypes": [
        "Residential",
        "Multifamily",
        "Retail",
        "Industrial"
      ],
      "character": "Compare housing and small business space in an inland South Bay case. Low entry price, when observed, would still need to survive repairs and operating costs.",
      "planning": [
        "The city planning page links Title 18 zoning, the General Plan, interactive zoning maps, and current projects.",
        "Compare permitted use with the actual building and any nonconforming conditions or unit additions."
      ],
      "transit": [
        "Metro 209 and city GTrans are research starting points."
      ],
      "risks": [
        "Inspect environmental history and compatibility where housing and industrial uses meet.",
        "Check deferred maintenance, legal occupancy, tax reassessment, and reserve adequacy."
      ],
      "sourceIds": [
        "gardena-planning",
        "gardena-plan",
        "metro-schedules",
        "geotracker",
        "boe-tax"
      ],
      "distanceMiles": 6.63,
      "coordinateNote": "Approximate editorial study anchor; no neighborhood, city, parcel, or listing boundary is implied.",
      "evidence": "Typologies and character are comparative study lenses. Planning links are starting points; risks are questions to investigate for an actual parcel."
    },
    {
      "id": "torrance",
      "name": "Torrance · Civic / Business corridors",
      "lat": 33.8358,
      "lon": -118.3406,
      "propertyTypes": [
        "Residential",
        "Multifamily",
        "Retail",
        "Office",
        "Industrial"
      ],
      "character": "A diversified South Bay study lens: compare neighborhood housing, service retail, and employment space instead of treating the city as one asset class.",
      "planning": [
        "Use the official Community Development/Planning resources and operative zoning map.",
        "Confirm a proposed use, airport-related restrictions, and redevelopment constraints with the city; the portal was blocked in this research session."
      ],
      "transit": [
        "Metro 344 and regional bus connections merit door-to-door review."
      ],
      "risks": [
        "Check industrial history, airport noise, and building-specific seismic/roof records.",
        "Treat announced rail extensions as future projects until operating service is verified."
      ],
      "sourceIds": [
        "torrance-city",
        "metro-schedules",
        "cgs-hazards",
        "geotracker"
      ],
      "distanceMiles": 7.24,
      "coordinateNote": "Approximate editorial study anchor; no neighborhood, city, parcel, or listing boundary is implied.",
      "evidence": "Typologies and character are comparative study lenses. Planning links are starting points; risks are questions to investigate for an actual parcel."
    },
    {
      "id": "carson",
      "name": "Carson · Civic / Logistics",
      "lat": 33.8322,
      "lon": -118.2518,
      "propertyTypes": [
        "Industrial",
        "Retail",
        "Multifamily",
        "Mixed use"
      ],
      "character": "A logistics and housing comparison. A warehouse lease depends on access, loading, power, and tenant credit; a dwelling depends on a different operating stack.",
      "planning": [
        "The city Planning page identifies implementation of Carson 2040 and links GIS and current projects.",
        "Review its hazardous-material industrial-use ordinance and any Community Facilities District charge relevant to the parcel."
      ],
      "transit": [
        "Study Metro 51/53 and local services alongside truck-route access."
      ],
      "risks": [
        "Investigate contamination history, hazardous-material approvals, drainage, and truck impacts.",
        "Separate base property tax from assessments, special taxes, and tenant improvement obligations."
      ],
      "sourceIds": [
        "carson-planning",
        "metro-schedules",
        "geotracker",
        "envirostor",
        "boe-tax"
      ],
      "distanceMiles": 11.19,
      "coordinateNote": "Approximate editorial study anchor; no neighborhood, city, parcel, or listing boundary is implied.",
      "evidence": "Typologies and character are comparative study lenses. Planning links are starting points; risks are questions to investigate for an actual parcel."
    },
    {
      "id": "playa-vista",
      "name": "Playa Vista / Westchester",
      "lat": 33.9762,
      "lon": -118.4181,
      "propertyTypes": [
        "Multifamily",
        "Office",
        "Mixed use"
      ],
      "character": "A campus-and-housing case: compare apartment operating cash flow with office leasing costs and a concentrated tenant base.",
      "planning": [
        "LA community-plan policies and land-use maps provide context; locate the property in the correct plan area.",
        "Check specific plans, zoning, recorded conditions, and airport/coastal rules using the city tools."
      ],
      "transit": [
        "Metro 110 serves Playa Vista; inspect connections and the last mile."
      ],
      "risks": [
        "Review ground conditions, methane/environmental records, drainage, and airport noise for the actual site.",
        "Check association/master-plan obligations and office tenant-expiration concentration."
      ],
      "sourceIds": [
        "la-community-plans",
        "la-zimas",
        "metro-schedules",
        "cgs-hazards",
        "geotracker"
      ],
      "distanceMiles": 3.89,
      "coordinateNote": "Approximate editorial study anchor; no neighborhood, city, parcel, or listing boundary is implied.",
      "evidence": "Typologies and character are comparative study lenses. Planning links are starting points; risks are questions to investigate for an actual parcel."
    },
    {
      "id": "marina-del-rey",
      "name": "Marina del Rey / Del Rey",
      "lat": 33.9803,
      "lon": -118.4517,
      "propertyTypes": [
        "Multifamily",
        "Retail",
        "Hospitality",
        "Mixed use"
      ],
      "character": "A jurisdiction-and-tenure lesson beside the water: compare fee-simple ownership with any leasehold interest before comparing returns.",
      "planning": [
        "Confirm city versus unincorporated-county jurisdiction before selecting a zoning source.",
        "County Planning maps cover unincorporated communities; investigate coastal approvals and any ground-lease terms for the specific property."
      ],
      "transit": [
        "Metro 108 serves Marina del Rey; verify the actual stop and onward route."
      ],
      "risks": [
        "Check ground-lease duration, reset provisions, transfer consent, and lender acceptance where applicable.",
        "Review flood/tsunami exposure, corrosion, insurance, and major building reserves."
      ],
      "sourceIds": [
        "county-maps",
        "metro-schedules",
        "fema-flood",
        "cgs-hazards"
      ],
      "distanceMiles": 4.65,
      "coordinateNote": "Approximate editorial study anchor; no neighborhood, city, parcel, or listing boundary is implied.",
      "evidence": "Typologies and character are comparative study lenses. Planning links are starting points; risks are questions to investigate for an actual parcel."
    },
    {
      "id": "culver-city",
      "name": "Culver City · Downtown / E Line",
      "lat": 34.0211,
      "lon": -118.3965,
      "propertyTypes": [
        "Multifamily",
        "Office",
        "Retail",
        "Mixed use"
      ],
      "character": "An employment-and-transit study lens. A vibrant street does not substitute for rent collection, tenant credit, or realistic office vacancy.",
      "planning": [
        "Consult the official Planning & Development department, current General Plan, zoning, and local tenant rules.",
        "Check historic/design constraints, density approvals, and parking requirements at the parcel level."
      ],
      "transit": [
        "Inspect E Line access and first/last-mile service."
      ],
      "risks": [
        "How much office value depends on one tenant or expensive leasing work?",
        "Check environmental history, seismic condition, rent-regulation scope, and insurance."
      ],
      "sourceIds": [
        "culver-city",
        "metro-schedules",
        "ca-tenants",
        "cgs-hazards",
        "geotracker"
      ],
      "distanceMiles": 7.08,
      "coordinateNote": "Approximate editorial study anchor; no neighborhood, city, parcel, or listing boundary is implied.",
      "evidence": "Typologies and character are comparative study lenses. Planning links are starting points; risks are questions to investigate for an actual parcel."
    },
    {
      "id": "santa-monica",
      "name": "Santa Monica · Downtown / E Line",
      "lat": 34.0148,
      "lon": -118.4911,
      "propertyTypes": [
        "Multifamily",
        "Retail",
        "Office",
        "Hospitality"
      ],
      "character": "A coastal urban case that puts regulation and repair reserves next to rent. Compare asset operations rather than assuming a premium location supplies a premium net yield.",
      "planning": [
        "The city publishes GIS resources, Rent Control guidance, and a Seismic Retrofit Program.",
        "Verify whether the actual unit is controlled and whether an actual building is subject to structural analysis or retrofit."
      ],
      "transit": [
        "E Line and Big Blue Bus access warrant door-to-door checking."
      ],
      "risks": [
        "Review rent-control records, lawful increases, relocation obligations, and seismic compliance.",
        "Inspect coastal insurance, maintenance, and business demand without assuming tourism growth."
      ],
      "sourceIds": [
        "santa-monica-maps",
        "santa-monica-rent",
        "santa-monica-seismic",
        "metro-schedules",
        "fema-flood"
      ],
      "distanceMiles": 7.85,
      "coordinateNote": "Approximate editorial study anchor; no neighborhood, city, parcel, or listing boundary is implied.",
      "evidence": "Typologies and character are comparative study lenses. Planning links are starting points; risks are questions to investigate for an actual parcel."
    },
    {
      "id": "downtown-la",
      "name": "Downtown Los Angeles",
      "lat": 34.0509,
      "lon": -118.2499,
      "propertyTypes": [
        "Multifamily",
        "Office",
        "Retail",
        "Mixed use",
        "Hospitality"
      ],
      "character": "A vertical-city comparison: apartments, offices, retail, and hotels have different vacancy and capital-expenditure cycles even within one tower district.",
      "planning": [
        "LA Community Plans pair policy documents with land-use maps; locate the parcel in the Downtown plan area.",
        "Verify which zoning code, overlay, historic restrictions, and approved use apply; conversion feasibility requires building-specific work."
      ],
      "transit": [
        "Study the A/B/D/E/J network and actual access to the building."
      ],
      "risks": [
        "Stress office leasing downtime and conversion construction cost before treating either as a strategy.",
        "Check tenant protections, older-building retrofit, vertical systems, security, and exit liquidity."
      ],
      "sourceIds": [
        "la-community-plans",
        "la-zimas",
        "metro-schedules",
        "ca-tenants",
        "cgs-hazards"
      ],
      "distanceMiles": 13.13,
      "coordinateNote": "Approximate editorial study anchor; no neighborhood, city, parcel, or listing boundary is implied.",
      "evidence": "Typologies and character are comparative study lenses. Planning links are starting points; risks are questions to investigate for an actual parcel."
    },
    {
      "id": "long-beach",
      "name": "Long Beach · Downtown / Waterfront",
      "lat": 33.767,
      "lon": -118.1923,
      "propertyTypes": [
        "Multifamily",
        "Retail",
        "Hospitality",
        "Office",
        "Industrial"
      ],
      "character": "A port-city and urban-waterfront case. Compare recurring residential cash flow with hotel operations or employment space; do not use port activity as a blanket rent forecast.",
      "planning": [
        "The Planning Bureau links General Plan, Downtown and Shoreline plans, zoning districts, and a zoning/land-use GIS map.",
        "Use the actual district and adopted plan; check coastal, inclusionary, methane, and approved-use conditions where applicable."
      ],
      "transit": [
        "A Line and Metro 232 connect Long Beach; confirm stop access."
      ],
      "risks": [
        "Review coastal hazard maps, environmental history, and building systems.",
        "Separate a port-adjacent logistics parcel from a waterfront dwelling and test each operating model."
      ],
      "sourceIds": [
        "long-beach-planning",
        "metro-schedules",
        "fema-flood",
        "cgs-hazards",
        "geotracker"
      ],
      "distanceMiles": 16.62,
      "coordinateNote": "Approximate editorial study anchor; no neighborhood, city, parcel, or listing boundary is implied.",
      "evidence": "Typologies and character are comparative study lenses. Planning links are starting points; risks are questions to investigate for an actual parcel."
    },
    {
      "id": "burbank",
      "name": "Burbank · Downtown / Rail",
      "lat": 34.1808,
      "lon": -118.309,
      "propertyTypes": [
        "Residential",
        "Multifamily",
        "Office",
        "Retail",
        "Industrial"
      ],
      "character": "An outer-ring employment-market comparison. Test tenant concentration and leasing costs against a residential alternative, without assuming industry demand persists.",
      "planning": [
        "The city Planning division provides the route into zoning, plans, housing, and development review.",
        "Check airport, specific-plan, use, and local housing restrictions for the actual parcel."
      ],
      "transit": [
        "Use BurbankBus and Metrolink schedules to verify station access and frequency."
      ],
      "risks": [
        "Check airport-noise and hillside/fire conditions where relevant; downtown is not a citywide risk proxy.",
        "Stress employer concentration, vacant-space carrying costs, and major repairs."
      ],
      "sourceIds": [
        "burbank-planning",
        "burbankbus",
        "metrolink",
        "cgs-hazards",
        "calfire"
      ],
      "distanceMiles": 19.03,
      "coordinateNote": "Approximate editorial study anchor; no neighborhood, city, parcel, or listing boundary is implied.",
      "evidence": "Typologies and character are comparative study lenses. Planning links are starting points; risks are questions to investigate for an actual parcel."
    },
    {
      "id": "pasadena",
      "name": "Pasadena · Civic / Central districts",
      "lat": 34.1478,
      "lon": -118.1445,
      "propertyTypes": [
        "Residential",
        "Multifamily",
        "Retail",
        "Office",
        "Mixed use"
      ],
      "character": "An outer-ring historic-city study. Compare an older building’s design and repair obligations with a newer rental product rather than treating character as free value.",
      "planning": [
        "The city planning portal links zoning maps/code, specific-plan updates, property records, and historic preservation.",
        "Confirm historic status, approved occupancy, current tenant rules, and any disaster-recovery conditions for the exact parcel."
      ],
      "transit": [
        "A Line access is a starting point; verify the walk and service."
      ],
      "risks": [
        "Review seismic systems, older-building repairs, insurance, and foothill/fire conditions where relevant.",
        "Do not infer damage, insurability, or recovery eligibility from the city name."
      ],
      "sourceIds": [
        "pasadena-planning",
        "metro-schedules",
        "cgs-hazards",
        "calfire",
        "ca-tenants"
      ],
      "distanceMiles": 22.12,
      "coordinateNote": "Approximate editorial study anchor; no neighborhood, city, parcel, or listing boundary is implied.",
      "evidence": "Typologies and character are comparative study lenses. Planning links are starting points; risks are questions to investigate for an actual parcel."
    }
  ],
  "globalMarkets": [
    {
      "id": "los-angeles",
      "name": "Los Angeles",
      "country": "United States",
      "region": "North America",
      "currency": "USD",
      "access": "Begin with a specific parcel, title, permitted use and ownership structure. The local atlas is a 25-mile study from El Segundo City Hall; it is not the boundary of the Los Angeles market.",
      "thesis": "The neighborhood is the unit of research. Compare small rentals, multifamily, employment-serving space and reuse by lawful use, tenant needs and the cost of keeping the building useful.",
      "risks": [
        "State and local tenant protections can change the timing and cost of an operating plan.",
        "Insurance availability, deductibles, structural condition and hazard exposure require property-level evidence.",
        "One building concentrates vacancy, repair and exit risk; a USD asset still creates FX risk for a non-USD investor."
      ],
      "tax": "Model assessed property tax, special assessments, acquisition and sale costs separately from income tax. A foreign seller may face FIRPTA withholding; withholding is not the final tax on gain.",
      "financing": "An illustrative DSCR or LTV does not establish loan eligibility. Obtain actual underwriting, rate, amortization, insurance and closing terms; projected rent is not automatically qualifying income.",
      "operating": "Check the applicable city, unit age, tenancy, exemptions, habitability and fair-housing obligations before assuming rent increases, turnover or renovation access.",
      "sourceIds": [
        "global-ca-tenants",
        "global-irs-rental",
        "global-firpta",
        "global-cfpb-closing",
        "global-fannie-rental",
        "global-fair-housing"
      ]
    },
    {
      "id": "london",
      "name": "London",
      "country": "United Kingdom",
      "region": "Europe",
      "currency": "GBP",
      "access": "Distinguish freehold from leasehold and an individual buyer from an overseas entity. Overseas entities in relevant UK land transactions must address the beneficial-ownership register and ongoing updates.",
      "thesis": "A flat is also a contract with the building. Study lease duration, service charges, repair obligations and lawful long-term letting before using a headline rent-to-price ratio.",
      "risks": [
        "Private-tenancy rules already in force and later reform phases affect possession, rent-setting and compliance.",
        "Leasehold service charges and major works can overwhelm an apparently positive rent margin.",
        "GBP conversion, interest-rate resets, tax changes and a slow sale can alter home-currency outcomes."
      ],
      "tax": "England and Northern Ireland apply a 2-percentage-point SDLT surcharge to relevant nonresident residential purchases, alongside other applicable charges. Residence tests, additional-property rules and relief require buyer-specific checking; Scotland and Wales use different transaction taxes.",
      "financing": "Verify nonresident lending, lease acceptability, rental underwriting, fixed-rate duration and refinance terms. This atlas has no live UK mortgage quote.",
      "operating": "For covered private tenancies in England, Phase 1 took effect on 1 May 2026: section 21 was abolished, most assured tenancies became periodic, and rent increases use the revised annual statutory process. Check tenancy coverage, transition rules, licensing and safety; later phases are separate.",
      "sourceIds": [
        "global-uk-sdlt",
        "global-uk-overseas-entity",
        "global-uk-renters",
        "global-uk-landlord-guide",
        "global-uk-renters-roadmap",
        "global-international-risk"
      ]
    },
    {
      "id": "tokyo",
      "name": "Tokyo",
      "country": "Japan",
      "region": "Asia Pacific",
      "currency": "JPY",
      "access": "Japan’s Ministry of Finance describes post-acquisition reporting for nonresident real-property acquisitions through the Bank of Japan, generally within 20 days, in Japanese. Reporting guidance does not establish that every buyer or parcel is eligible.",
      "thesis": "Read the building as carefully as the district. Compare durable rental operations with the age, engineering, condominium reserves, management quality and long-term usefulness of the asset.",
      "risks": [
        "Seismic engineering, maintenance records and future replacement work need a qualified building review.",
        "A remote owner depends on local management, language support and collection/reporting arrangements.",
        "JPY rent, debt and an investor’s home currency can move differently; national tax and reporting policy can change."
      ],
      "tax": "Japanese rents and certain disposal proceeds are domestic-source income for nonresidents. Check withholding, filing, treaty treatment and any tax-agent requirement; acquisition, registration, stamp, fixed-asset and city-planning taxes have their own bases and relief.",
      "financing": "Confirm whether a lender accepts the buyer’s residency, income documentation and property type. Do not substitute a national policy rate for an available property loan.",
      "operating": "Identify title and land rights, condominium bylaws, reserve adequacy, lease obligations and local permissions. The study makes no blanket claim of unrestricted foreign ownership.",
      "sourceIds": [
        "global-jp-reporting",
        "global-jp-nonresident-tax",
        "global-jetro-tax-agent",
        "global-jetro-property-taxes",
        "global-international-risk"
      ]
    },
    {
      "id": "singapore",
      "name": "Singapore",
      "country": "Singapore",
      "region": "Asia Pacific",
      "currency": "SGD",
      "access": "Under the Residential Property Act, foreign persons generally need approval for landed residential property; condominium and flat units are among categories that can be purchased without that approval. Separate HDB eligibility and other rules still matter.",
      "thesis": "Start with the buyer profile, then the building. The same residential unit can produce very different acquisition economics after citizenship, residency, existing-property count and applicable remission are considered.",
      "risks": [
        "Ownership approval, stamp duty, cooling measures and use rules can change the feasible strategy.",
        "Condominium charges, repairs and rental restrictions belong in the operating model.",
        "SGD conversion and debt-service capacity can dominate a modest rental surplus."
      ],
      "tax": "IRAS lists a 60% residential ABSD rate for foreign individuals for acquisitions from 27 April 2023, subject to applicable remissions and profile rules. Eligible treaty treatment can change the result, including treatment described for US citizens; add ordinary buyer’s stamp duty and check disposal taxes separately.",
      "financing": "MAS describes a 55% total-debt-servicing threshold for applicable property loans, with specified exceptions. It is a borrower-level test, not property DSCR and not a promise of financing.",
      "operating": "Confirm property category, tenure, leasing permissions, management obligations and the exact buyer profile. Do not apply the foreign-individual headline duty to every overseas buyer.",
      "sourceIds": [
        "global-sg-ownership",
        "global-sg-absd",
        "global-sg-tdsr",
        "global-international-risk"
      ]
    },
    {
      "id": "dubai",
      "name": "Dubai",
      "country": "United Arab Emirates",
      "region": "Middle East",
      "currency": "AED",
      "access": "Dubai Land Department identifies foreign ownership in designated freehold areas and provides sale-registration procedures. Verify the project, title and permitted ownership form; a nonresident passport being accepted is not approval of every property.",
      "thesis": "Separate a completed rental asset from a promise to deliver one. Study service charges, completion and registration records, recurring rent and a credible exit rather than treating off-plan marketing as cash flow.",
      "risks": [
        "Off-plan delivery, developer performance and recovery procedures differ from owning a completed asset.",
        "Annual service charges, reserve funding, leasing costs and vacancy can reduce a gross yield.",
        "Registration, rental rules, fee allocation and wider political or economic events require review; home-currency outcomes remain exposed to conversion costs and currency changes."
      ],
      "tax": "DLD’s sale service lists 2% of sale value for the seller and 2% for the buyer, plus other applicable registration/partner fees. Check the contract’s allocation and the owner’s actual federal and home-country tax treatment; do not assume every structure is tax free.",
      "financing": "Verify nonresident loan eligibility, valuation, advance limits, rate reset, completion conditions and all fees directly with a lender. No current offer is supplied.",
      "operating": "Check RERA-approved service charges, lease registration and rent rules. DLD’s public data catalog is useful research infrastructure; its availability does not grant unrestricted reuse or establish a tested real-time feed.",
      "sourceIds": [
        "global-dld-sale",
        "global-dld-faq",
        "global-dld-data",
        "global-international-risk"
      ]
    },
    {
      "id": "berlin",
      "name": "Berlin",
      "country": "Germany",
      "region": "Europe",
      "currency": "EUR",
      "access": "Establish registered title, tenancy, condominium obligations and property-specific buyer requirements through local conveyancing. This research does not determine an individual foreign buyer’s eligibility.",
      "thesis": "The existing lease is part of the asset. Compare lawful rent, repair obligations and energy work with the acquisition basis; an advertised vacant-market rent is not necessarily the rent an occupied unit can earn.",
      "risks": [
        "Tenant law, rent regulation and designated-market rules can constrain a rent-growth assumption.",
        "Building maintenance and condominium decisions may require cash before an owner expects it.",
        "EUR conversion, tax changes, energy-policy requirements and refinance conditions affect cash flow and exit."
      ],
      "tax": "Obtain the applicable transfer-tax, annual property-tax, rental-income and sale-tax treatment for the buyer and property. No German tax percentage is inserted into the scenario as an observed fact.",
      "financing": "Confirm local income evidence, property valuation, amortization, fixed-interest period and nonresident eligibility. Compare remaining loan balance and reset risk, not just the first payment.",
      "operating": "Use Berlin’s 2026 Mietspiegel where applicable. Federal BGB §556d provides a general 10%-above-comparable-rent rule in designated stressed markets, with exceptions; verify the current Berlin designation, unit coverage and exemption before applying it.",
      "sourceIds": [
        "global-de-rent-law",
        "global-berlin-mietspiegel",
        "global-international-risk"
      ]
    },
    {
      "id": "mexico-city",
      "name": "Mexico City",
      "country": "Mexico",
      "region": "Latin America",
      "currency": "MXN",
      "access": "Mexico’s Foreign Investment Law distinguishes the zone within 100 km of borders or 50 km of beaches from land outside it. Mexico City is not a coastal-trust case by default; confirm the SRE procedure, nationality agreement and title for the actual acquisition.",
      "thesis": "Treat neighborhood demand as a question to measure, and title as a fact to prove. Compare lawful long-term rental operations, condominium expenses and usable building quality with the fully documented acquisition cost.",
      "risks": [
        "Registered title, liens, condominium debts and permitted use require local legal checking.",
        "Seismic condition, water arrangements and maintenance require a building-specific review.",
        "MXN rent can diverge from home-currency debt and returns; tax, rental and remittance policy may change."
      ],
      "tax": "The Income Tax Law contains a nonresident Mexican-source rental framework, including gross-receipts withholding rules. Residency and treaty eligibility can change treatment. Check local acquisition tax, annual predial, rental filings and sale costs separately.",
      "financing": "Obtain actual resident/nonresident loan terms, currency, amortization and documentation requirements. Banxico FIX is a daily reference, not an executable conversion quote or property financing rate.",
      "operating": "Verify condominium rules, rental permissions, management, insurance and collection arrangements. Restricted-zone trusts are a different legal mechanism and are not asserted as a requirement for this city.",
      "sourceIds": [
        "global-mx-investment-law",
        "global-mx-income-tax",
        "global-banxico-fx",
        "global-international-risk"
      ]
    },
    {
      "id": "sao-paulo",
      "name": "São Paulo",
      "country": "Brazil",
      "region": "Latin America",
      "currency": "BRL",
      "access": "Brazil’s Civil Code makes real-property title transfer dependent on registration at the Registro de Imóveis. Confirm urban/rural classification, foreign-buyer eligibility, registered liens and documentation; a CPF is an administrative identifier, not proof of ownership eligibility.",
      "thesis": "Compare the operating building and condominium accounts with the purchase contract. A useful study tests collected rent, repair responsibility and liquidity after taxes and conversion rather than translating an asking price alone.",
      "risks": [
        "Unregistered title, condominium liabilities and property classification can disrupt an acquisition.",
        "Repairs, building services, insurance and management create obligations beyond monthly rent.",
        "BRL conversion, inflation, financing conditions and changes in tax or remittance policy can alter home-currency results."
      ],
      "tax": "The municipality’s 2026 guidance lists 3% ITBI on the applicable base for ordinary purchases without bank financing; qualifying financing, valuation and relief differ. Annual IPTU uses assessed valor venal, which can differ from the sale price. Check income and disposal taxes separately.",
      "financing": "Confirm actual lender eligibility, down payment, indexation, rate structure, amortization and remittance documentation. The study does not supply a BRL mortgage quote.",
      "operating": "Reconcile the registered title with the unit, condominium accounts and lease. Confirm rental-tax status, cash collection and management arrangements before assigning a net yield.",
      "sourceIds": [
        "global-br-title",
        "global-sp-itbi",
        "global-sp-iptu",
        "global-br-cpf",
        "global-international-risk"
      ]
    }
  ],
  "propertyTypes": [
    "Residential",
    "Multifamily",
    "Retail",
    "Office",
    "Industrial",
    "Mixed use",
    "Hospitality"
  ],
  "propertyTiers": [
    {
      "name": "Shared exposure",
      "propertyTypes": "Listed REITs or diversified real-estate securities funds",
      "capital": "Share-sized entry; no direct building control",
      "operations": "Read holdings, leverage, costs, governance and disclosures",
      "risk": "Equity prices, fees and portfolio financing; fund diversification varies",
      "sourceIds": [
        "global-sec-reits"
      ]
    },
    {
      "name": "Small direct ownership",
      "propertyTypes": "Single rental unit, small residential building or condominium",
      "capital": "Down payment, closing costs and usable reserve for one concentrated asset",
      "operations": "Leasing, collections, repairs, insurance, tenancy and condominium compliance",
      "risk": "A single vacancy or major repair can be large relative to cash flow",
      "sourceIds": [
        "global-ca-tenants",
        "global-irs-rental"
      ]
    },
    {
      "name": "Multifamily operations",
      "propertyTypes": "Larger apartment or mixed residential portfolios",
      "capital": "More equity and a building/portfolio reserve plan",
      "operations": "Multiple leases, professional systems, maintenance and regulated tenant relationships",
      "risk": "Common-system capex, legal duties, operating execution and refinancing",
      "sourceIds": [
        "global-occ-cre",
        "global-fair-housing"
      ]
    },
    {
      "name": "Commercial leases",
      "propertyTypes": "Office, retail and industrial space",
      "capital": "Purchase equity plus leasing, fit-out and downtime budget",
      "operations": "Tenant credit, lease expense allocation, renewals and building suitability",
      "risk": "One large lease expiry, re-leasing costs and changing space demand",
      "sourceIds": [
        "global-occ-cre",
        "global-realty-model"
      ]
    },
    {
      "name": "Operating businesses",
      "propertyTypes": "Hotels, hospitality and other service-intensive assets",
      "capital": "Property funding plus business working capital",
      "operations": "Staffing, service, licensing and short booking cycles",
      "risk": "Income volatility and business execution; building ownership alone does not capture the whole model",
      "sourceIds": [
        "global-occ-cre"
      ]
    },
    {
      "name": "Transformation",
      "propertyTypes": "Development, conversion, major renovation or land assembly",
      "capital": "Acquisition, approvals, construction contingency and cash during delay",
      "operations": "Entitlements, design, contracts, safety, delivery and lease-up",
      "risk": "Cost overruns, delayed permits, contractor failure and an uncertain end market",
      "sourceIds": [
        "global-occ-cre"
      ]
    }
  ],
  "glossary": [
    {
      "term": "Gross rental yield",
      "definition": "Annual scheduled rent compared with a stated acquisition basis, before vacancy and expenses.",
      "formula": "Scheduled annual rent ÷ purchase price × 100",
      "caution": "Disclose the denominator. Using total acquisition cost gives a different number; gross yield is not spendable cash.",
      "sourceIds": [
        "global-occ-cre"
      ]
    },
    {
      "term": "Effective gross income",
      "definition": "Income expected to be collected after vacancy and credit loss, plus separately stated other income.",
      "formula": "Scheduled rent − vacancy/credit loss + other income",
      "caution": "An occupied unit can still have unpaid rent. Avoid counting a refundable security deposit as income.",
      "sourceIds": [
        "global-occ-cre",
        "global-irs-rental"
      ]
    },
    {
      "term": "Operating NOI",
      "definition": "Property operating income after recurring operating expenses under the convention stated here.",
      "formula": "Effective gross income − operating expenses",
      "caution": "Here NOI precedes debt, income tax, depreciation, capex and replacement reserves. Lender underwriting may deduct reserves in NOI.",
      "sourceIds": [
        "global-occ-cre"
      ]
    },
    {
      "term": "Net rental yield",
      "definition": "An explicitly defined operating return on total acquisition cost.",
      "formula": "Operating NOI ÷ (price + acquisition costs + initial works) × 100",
      "caution": "“Net yield” is not a universal standard. State whether reserves, financing and taxes are included; this definition excludes them.",
      "sourceIds": [
        "global-occ-cre"
      ]
    },
    {
      "term": "Capitalization rate",
      "definition": "A property’s stated annual NOI relative to its price or value.",
      "formula": "NOI ÷ price or value × 100; implied value = NOI ÷ cap rate",
      "caution": "Use a consistent stabilized NOI. A cap rate is not total return; a higher exit cap rate reduces value at unchanged NOI.",
      "sourceIds": [
        "global-occ-cre"
      ]
    },
    {
      "term": "Cash-on-cash return",
      "definition": "Annual cash available to equity compared with the cash initially committed.",
      "formula": "(NOI − debt service − reserve funding − unfunded capex) ÷ initial equity cash × 100",
      "caution": "This study uses a pre-income-tax version and includes closing costs, initial works and opening reserves in committed equity. Appreciation and principal repayment are separate.",
      "sourceIds": [
        "global-occ-cre",
        "global-cfpb-closing"
      ]
    },
    {
      "term": "Debt service",
      "definition": "Principal and interest payments due on the loan during the period.",
      "formula": "Annual debt service = sum of scheduled principal and interest payments",
      "caution": "Interest is a financing cost; principal reduces debt but still consumes cash. Escrow for taxes and insurance is a separate property cost.",
      "sourceIds": [
        "global-cfpb-closing"
      ]
    },
    {
      "term": "DSCR",
      "definition": "Debt-service coverage ratio measures the income buffer over required loan payments.",
      "formula": "Stated underwriting NOI ÷ annual debt service",
      "caution": "Label the numerator. If reserves are deducted, say so. A model threshold is an assumption, and a ratio above 1 does not guarantee approval or solvency.",
      "sourceIds": [
        "global-occ-cre"
      ]
    },
    {
      "term": "LTV",
      "definition": "Loan-to-value compares debt with the lender’s property valuation.",
      "formula": "Loan amount ÷ appraised value × 100",
      "caution": "Purchase price and appraisal can differ. A lower valuation may require more equity; eligibility also depends on borrower and property.",
      "sourceIds": [
        "global-cfpb-ltv"
      ]
    },
    {
      "term": "Leverage",
      "definition": "Debt lets equity control an asset larger than the equity contribution.",
      "formula": "Equity value = asset value − debt balance",
      "caution": "Debt payments survive weaker rent. Leverage magnifies losses as well as gains and can create refinance, covenant or forced-sale risk.",
      "sourceIds": [
        "global-occ-cre"
      ]
    },
    {
      "term": "Vacancy and credit loss",
      "definition": "The gap between scheduled rent and collectible rent caused by empty space or nonpayment.",
      "formula": "Loss allowance = scheduled rent × assumed loss rate",
      "caution": "A smooth annual percentage is a planning simplification. One vacant unit can cause a sharp cash shortfall.",
      "sourceIds": [
        "global-occ-cre"
      ]
    },
    {
      "term": "Repairs and maintenance",
      "definition": "Recurring work to keep a property safe and usable.",
      "formula": "Operating expenses include the stated recurring repair allowance",
      "caution": "Tax treatment of a repair can differ from an improvement. A percentage allowance cannot replace a condition survey or habitability duties.",
      "sourceIds": [
        "global-irs-rental",
        "global-ca-tenants"
      ]
    },
    {
      "term": "Capital expenditure",
      "definition": "Long-lived replacement or improvement work, such as a roof or major system.",
      "formula": "Cash flow deducts actual capex or the chosen reserve funding convention",
      "caution": "Avoid deducting both a funded replacement reserve and the same expense without releasing reserve cash. Tax depreciation is a separate accounting treatment.",
      "sourceIds": [
        "global-irs-rental"
      ]
    },
    {
      "term": "Replacement reserve",
      "definition": "Cash set aside for future capital work.",
      "formula": "Closing reserve + new funding − capital spending = remaining reserve",
      "caution": "A reserve transfer reduces distributable cash, but retained reserve cash remains an asset until spent. Do not label it investor distributions.",
      "sourceIds": [
        "global-occ-cre"
      ]
    },
    {
      "term": "Insurance",
      "definition": "Coverage for specified losses under a policy with exclusions, limits and deductibles.",
      "formula": "Budget premium + retained deductible exposure; keep reserves separately",
      "caution": "Use a property-specific quote and coverage review. A modeled premium does not establish availability or full replacement coverage.",
      "sourceIds": [
        "global-cfpb-closing"
      ]
    },
    {
      "term": "Property tax",
      "definition": "A recurring levy under the property’s local assessment and tax rules.",
      "formula": "Applicable assessed base × rates + relevant assessments, where that system applies",
      "caution": "Current seller tax is not necessarily buyer tax. Confirm reassessment, exemptions, special charges and the relevant jurisdiction.",
      "sourceIds": [
        "global-irs-rental",
        "global-sp-iptu"
      ]
    },
    {
      "term": "Closing cash",
      "definition": "Cash needed to acquire and fund the asset at completion.",
      "formula": "Down payment + acquisition costs + initial works + opening reserves",
      "caution": "Closing costs and down payment are different. Include loan fees, transfer/registration charges and any required working capital.",
      "sourceIds": [
        "global-cfpb-closing"
      ]
    },
    {
      "term": "Exit proceeds",
      "definition": "Cash equity remaining after a modeled sale.",
      "formula": "Sale price − sale costs − debt payoff − applicable tax/other settlement costs",
      "caution": "A terminal property value is not cash in hand. Time to sell, prepayment charges, tax withholding and conversion costs may matter.",
      "sourceIds": [
        "global-cfpb-closing",
        "global-firpta"
      ]
    },
    {
      "term": "FX-adjusted return",
      "definition": "A foreign asset’s outcome expressed in the investor’s home currency after conversion.",
      "formula": "Home-currency proceeds = local-currency proceeds × home currency per local currency − conversion costs",
      "caution": "Keep currency units explicit. Currency moves can reverse a local-currency gain; a reference rate is not a trade quote.",
      "sourceIds": [
        "global-international-risk",
        "global-banxico-fx"
      ]
    },
    {
      "term": "Liquidity",
      "definition": "The ability to turn an investment into cash within a desired time and at an acceptable price.",
      "formula": "No single formula; compare sale windows, spreads, restrictions and costs",
      "caution": "Listed shares generally trade on an exchange but prices can fall sharply. Buildings, private funds and non-traded REITs can have slow or restricted exits.",
      "sourceIds": [
        "global-sec-reits",
        "global-international-risk"
      ]
    },
    {
      "term": "Equity REIT versus mortgage REIT",
      "definition": "An equity REIT primarily owns property interests; a mortgage REIT primarily holds real-estate debt or related claims.",
      "formula": "Property operations exposure ≠ loan/interest-spread exposure",
      "caution": "Owning a REIT share does not give direct title to a building. Inspect the actual portfolio, debt, management and filings rather than relying on the label.",
      "sourceIds": [
        "global-sec-reits",
        "global-irs-reit"
      ]
    },
    {
      "term": "Dividend yield",
      "definition": "A stated annual share distribution relative to the share price.",
      "formula": "Annual dividend per share ÷ share price × 100",
      "caution": "A dividend is not property NOI or total return. It may change, and some non-traded REIT distributions may use borrowings or offering proceeds.",
      "sourceIds": [
        "global-sec-reits"
      ]
    },
    {
      "term": "REIT distribution rule",
      "definition": "US REIT qualification includes a distribution calculation tied to taxable income, with statutory adjustments.",
      "formula": "Generally at least 90% of the relevant taxable-income measure, subject to the detailed rule",
      "caution": "This is not a guaranteed shareholder yield, 90% of rent, or a promise to distribute accounting profit. Other countries use different regimes.",
      "sourceIds": [
        "global-irs-reit"
      ]
    },
    {
      "term": "Total return",
      "definition": "Income plus the change in equity value, after the costs included in the calculation.",
      "formula": "(Distributions + ending equity − initial equity − later contributions) ÷ invested capital, for a stated simple-return convention",
      "caution": "Timing matters. An annualized IRR uses dated cash flows and differs from this simple expression; neither is a forecast.",
      "sourceIds": [
        "global-sec-reits"
      ]
    }
  ],
  "strategies": [
    {
      "name": "Income first",
      "mechanism": "Study an existing rent roll and the cost of keeping it collectible; test whether after-reserve cash survives a vacancy or insurance increase.",
      "tradeoff": "Existing income can be easier to observe, but leases, condition and acquisition price can limit flexibility."
    },
    {
      "name": "Useful improvement",
      "mechanism": "Make permitted improvements that reduce operating problems or meet documented tenant needs; model the work, downtime and lawful rent separately.",
      "tradeoff": "Execution and capital costs arrive before any benefit. A renovation does not erase tenant rights or establish achievable rent."
    },
    {
      "name": "Adaptive reuse",
      "mechanism": "Test whether a building can lawfully and physically serve a different use, with a full entitlement, engineering and cost study.",
      "tradeoff": "A compelling sketch can fail on circulation, structure, services, safety, approvals or economics."
    },
    {
      "name": "Long commercial lease",
      "mechanism": "Study lease duration, tenant credit and which expenses the lease actually transfers; reserve for renewal and re-leasing.",
      "tradeoff": "Longer contracted rent can coexist with concentrated tenant failure, vacancy and residual building risk."
    },
    {
      "name": "Public equity exposure",
      "mechanism": "Compare listed equity REIT portfolios, debt maturity, valuation, governance and distributions using filings.",
      "tradeoff": "Share-sized access and exchange trading come with share-price volatility and limited control over assets or leverage."
    },
    {
      "name": "Credit exposure",
      "mechanism": "Study loans, security, borrower cash flow, seniority, maturity and how the provider funds its own balance sheet.",
      "tradeoff": "A lender’s claim differs from property equity; defaults, collateral recovery, spreads and funding risks replace some ownership risks."
    },
    {
      "name": "Cross-border study",
      "mechanism": "Translate a complete local-currency operating and exit model into home currency, then verify ownership, taxes, reporting and management.",
      "tradeoff": "Geographic variety can add currency, legal, information, tax and remote-operation costs. Different cities are not automatically diversified cash flows."
    }
  ],
  "history": [
    {
      "year": "1960",
      "title": "The US REIT structure begins",
      "detail": "Congress creates the US REIT framework. Its importance to this study is the separation of share ownership from direct ownership of a building.",
      "sourceIds": [
        "global-us-reit-act",
        "global-sec-reits"
      ]
    },
    {
      "year": "1968",
      "title": "Fair housing becomes federal law",
      "detail": "The US Fair Housing Act prohibits discrimination in covered housing activity. Later amendments broaden protection; an operating plan must account for rights as well as rent.",
      "sourceIds": [
        "global-fair-housing"
      ]
    },
    {
      "year": "1991",
      "title": "Nareit defines FFO",
      "detail": "Nareit adopts funds from operations as an industry reporting measure. The lesson is to read the metric definition: accounting income, FFO, distributions and owner cash flow answer different questions.",
      "sourceIds": [
        "global-nareit-history"
      ]
    },
    {
      "year": "2001",
      "title": "Tokyo opens its J-REIT market",
      "detail": "Tokyo Stock Exchange records the J-REIT market launch on 10 September. Listed structures spread access while preserving exposure to property operations and the price of the security.",
      "sourceIds": [
        "global-jpx-history",
        "global-jpx-reits"
      ]
    },
    {
      "year": "2007–09",
      "title": "Housing losses become a financial crisis",
      "detail": "The Federal Reserve’s history describes housing and mortgage losses followed by global financial stress and recession. This study draws a practical question: can a portfolio survive weak income and unavailable refinancing?",
      "sourceIds": [
        "global-fed-recession"
      ]
    },
    {
      "year": "2022",
      "title": "The Fed begins raising its target range",
      "detail": "The March FOMC statement raises the target range and anticipates further increases. A historical policy move illustrates why debt resets, refinancing and exit valuation belong in a property model; it is not a current rate quote.",
      "sourceIds": [
        "global-fed-2022"
      ]
    }
  ],
  "players": [
    {
      "name": "Property-owning companies",
      "role": "Own and operate portfolios; shareholders hold company equity rather than individual property titles.",
      "examples": [
        "Realty Income: a documented long-term net-lease business model"
      ],
      "sourceIds": [
        "global-realty-model",
        "global-sec-reits"
      ]
    },
    {
      "name": "Private fund managers",
      "role": "Manage pooled capital across stated strategies and vehicles; mandates, fees and liquidity differ.",
      "examples": [
        "Blackstone Real Estate: opportunistic, core-plus and real-estate debt businesses"
      ],
      "sourceIds": [
        "global-blackstone"
      ]
    },
    {
      "name": "Real-estate service firms",
      "role": "Advise on leasing and capital markets or manage buildings and facilities; the service role is different from owning the asset.",
      "examples": [
        "CBRE",
        "JLL"
      ],
      "sourceIds": [
        "global-cbre",
        "global-jll"
      ]
    },
    {
      "name": "Lenders and mortgage-market institutions",
      "role": "Underwrite or finance property debt; loan eligibility, debt terms and investor exposure are separate questions.",
      "examples": [
        "Fannie Mae: buys lender mortgages and supports mortgage securitization",
        "Blackstone Mortgage Trust: identified by Blackstone as a real-estate finance platform"
      ],
      "sourceIds": [
        "global-fannie-about",
        "global-blackstone",
        "global-occ-cre"
      ]
    },
    {
      "name": "Public authorities and registries",
      "role": "Set or administer rules, record rights, maintain tax systems and publish some public data; an official database is not a recommendation.",
      "examples": [
        "Singapore Land Authority",
        "Dubai Land Department",
        "São Paulo municipal tax authority"
      ],
      "sourceIds": [
        "global-sg-ownership",
        "global-dld-sale",
        "global-sp-iptu"
      ]
    },
    {
      "name": "Residents and operating teams",
      "role": "Tenants, managers and maintenance teams turn a legal asset into a functioning place. Their rights, contracts and service needs shape the cash flow.",
      "examples": [
        "Residential tenants under applicable law",
        "Property managers and building maintenance providers"
      ],
      "sourceIds": [
        "global-ca-tenants",
        "global-fair-housing",
        "global-occ-cre"
      ]
    }
  ],
  "ownershipComparison": [
    {
      "name": "Direct property",
      "own": "Registered property interest under local law",
      "control": "Operating and financing decisions, subject to leases, law and co-owner rules",
      "liquidity": "Negotiated sale; timing and costs vary",
      "cashFlow": "Collected rent less operating costs, reserves, debt and applicable taxes",
      "diligence": "Title, condition, legal use, tenants, insurance, taxes, financing and exit",
      "sourceIds": [
        "global-occ-cre",
        "global-ca-tenants"
      ]
    },
    {
      "name": "Listed equity REIT",
      "own": "Shares in a company that owns property interests",
      "control": "Shareholder rights; management selects and operates assets",
      "liquidity": "Exchange trading at the available market price",
      "cashFlow": "Company distributions and changes in share value; not the same as property rent",
      "diligence": "Filings, holdings, concentration, debt, fees, governance and valuation",
      "sourceIds": [
        "global-sec-reits",
        "global-irs-reit"
      ]
    },
    {
      "name": "Mortgage REIT",
      "own": "Shares in a company exposed principally to real-estate finance",
      "control": "Shareholder rights; management selects loans/securities and funding",
      "liquidity": "Depends on whether listed; the label alone does not settle liquidity",
      "cashFlow": "Financing income and expenses, defaults and changes in share value",
      "diligence": "Collateral, credit, duration, funding, leverage, hedging and disclosures",
      "sourceIds": [
        "global-sec-reits",
        "global-irs-reit"
      ]
    },
    {
      "name": "Non-traded REIT or private vehicle",
      "own": "A security or fund interest under its documents",
      "control": "Usually delegated; actual rights depend on the documents",
      "liquidity": "May be restricted, capped or suspended",
      "cashFlow": "Distributions depend on terms, financing and operations",
      "diligence": "Offering documents, valuation, fees, conflicts, redemption terms and source of distributions",
      "sourceIds": [
        "global-sec-reits"
      ]
    }
  ],
  "yieldIllustration": {
    "label": "Hypothetical rental arithmetic — no actual property, market quote or investor budget",
    "currency": "USD",
    "assumptions": {
      "purchasePrice": 500000,
      "acquisitionCosts": 25000,
      "initialWorks": 10000,
      "scheduledAnnualRent": 36000,
      "vacancyAndCreditLossPct": 5,
      "operatingExpenses": 12500,
      "annualReplacementReserve": 3000,
      "annualDebtService": 18000,
      "loanAmount": 300000,
      "openingCashReserve": 12000
    },
    "results": {
      "vacancyAndCreditLoss": 1800,
      "effectiveGrossIncome": 34200,
      "operatingNOI": 21700,
      "afterReserveIncome": 18700,
      "cashFlowBeforeIncomeTax": 700,
      "totalAcquisitionCost": 535000,
      "initialEquityCash": 247000,
      "grossYieldOnPricePct": 7.2,
      "netYieldOnTotalCostPct": 4.05607476635514,
      "capRateOnPricePct": 4.34,
      "operatingDSCR": 1.2055555555555555,
      "afterReserveDSCR": 1.038888888888889,
      "loanToPricePct": 60,
      "cashOnCashBeforeIncomeTaxPct": 0.2834008097165992
    },
    "interpretation": "The same hypothetical asset shows a 7.2% gross yield and only $700 annual cash after reserve funding and debt service. Denominators and the cash-flow waterfall explain the difference; none of these numbers describe a city or listing.",
    "exclusions": "No income tax, tax benefit, appreciation, extraordinary repair, currency conversion, refinancing, sale or loan qualification is assumed. Loan-to-price is shown because no appraisal is supplied."
  },
  "sources": [
    {
      "id": "census-geocoder",
      "title": "Census Geocoder · City Hall address",
      "url": "https://geocoding.geo.census.gov/geocoder/locations/onelineaddress?address=350%20Main%20Street%2C%20El%20Segundo%2C%20CA&benchmark=Public_AR_Current&format=json",
      "publisher": "U.S. Census Bureau",
      "checkedDate": "2026-10-03",
      "access": "HTTP 200 JSON verified",
      "note": "Current public address ranges resolve 350 Main St to the study center. Interpolated street address; not surveyed coordinates.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "el-segundo-code",
      "title": "El Segundo City Code · Title 15",
      "url": "https://codelibrary.amlegal.com/codes/elsegundoca/latest/elsegundo_ca/0-0-0-10322",
      "publisher": "City of El Segundo / American Legal Publishing",
      "checkedDate": "2026-10-03",
      "access": "Published code read",
      "note": "Code overview is current through Ord. 1682, passed Jan 20 2026. Publisher warns pending legislation may not be reflected; confirm the official version.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "manhattan-city",
      "title": "Manhattan Beach · City planning entry",
      "url": "https://www.manhattanbeach.gov/",
      "publisher": "City of Manhattan Beach",
      "checkedDate": "2026-10-03",
      "access": "Search metadata verified; page fetch 403",
      "note": "Official portal; substantive planning documents were not retrieved in this session. Parcel approvals remain unverified.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "manhattan-code",
      "title": "Manhattan Beach · Published municipal code",
      "url": "https://library.municode.com/ca/manhattan_beach/codes/code_of_ordinances",
      "publisher": "City of Manhattan Beach / Municode",
      "checkedDate": "2026-10-03",
      "access": "Public JavaScript portal; content not extracted",
      "note": "Human research link; no code-specific entitlement is claimed.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "hermosa-city",
      "title": "Hermosa Beach · City planning entry",
      "url": "https://www.hermosabeach.gov/",
      "publisher": "City of Hermosa Beach",
      "checkedDate": "2026-10-03",
      "access": "Fetch 403",
      "note": "Human research link; operative zoning and coastal approvals were not retrieved.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "redondo-planning",
      "title": "Redondo Beach · Community Development",
      "url": "https://www.redondo.org/departments/community_development/index.php",
      "publisher": "City of Redondo Beach",
      "checkedDate": "2026-10-03",
      "access": "Page read",
      "note": "Links zoning ordinances, interactive city map, PLANredondo, planning fees, and public records.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "hawthorne-city",
      "title": "Hawthorne · General Plan entry",
      "url": "https://www.cityofhawthorne.org/",
      "publisher": "City of Hawthorne",
      "checkedDate": "2026-10-03",
      "access": "Search metadata verified; page fetch 403",
      "note": "Portal identifies existing General Plan and update resources. Operative documents and parcel zoning need verification.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "inglewood-maps",
      "title": "Inglewood · Official GIS map gallery",
      "url": "https://www.cityofinglewood.org/836/Map-Gallery",
      "publisher": "City of Inglewood",
      "checkedDate": "2026-10-03",
      "access": "Page read",
      "note": "Links General Plan, zoning, overlay, neighborhood, truck-route, and other maps; GIS disclaimer applies.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "gardena-planning",
      "title": "Gardena · Planning and Zoning",
      "url": "https://cityofgardena.org/planning-and-zoning/",
      "publisher": "City of Gardena",
      "checkedDate": "2026-10-03",
      "access": "Page read",
      "note": "Links Title 18 zoning, General Plan, interactive parcel zoning, project lists, and environmental notices.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "gardena-plan",
      "title": "Gardena · General Plan",
      "url": "https://cityofgardena.org/general-plan/",
      "publisher": "City of Gardena",
      "checkedDate": "2026-10-03",
      "access": "Page read",
      "note": "Official plan document entry; check element dates and amendments before using a rule.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "torrance-city",
      "title": "Torrance · City planning entry",
      "url": "https://www.torranceca.gov/",
      "publisher": "City of Torrance",
      "checkedDate": "2026-10-03",
      "access": "Fetch 403",
      "note": "Official portal; operative planning documents were not retrieved. No entitlement claim is made.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "carson-planning",
      "title": "Carson · Planning",
      "url": "https://www.carsonca.gov/services/community___economic_development/plannings",
      "publisher": "City of Carson",
      "checkedDate": "2026-10-03",
      "access": "Page read",
      "note": "Identifies Carson 2040 implementation, GIS/current projects, industrial hazardous-material ordinance, and CFD resource.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "la-community-plans",
      "title": "Los Angeles · Community Plans",
      "url": "https://planning.lacity.gov/plans-policies/community-plans",
      "publisher": "Los Angeles City Planning",
      "checkedDate": "2026-10-03",
      "access": "HTTP 200 official HTML read",
      "note": "Policy documents and land-use maps guide neighborhood planning. They inform zoning; the plan map alone is not a parcel entitlement.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "la-zimas",
      "title": "Los Angeles · ZIMAS parcel research",
      "url": "https://zimas.lacity.org/",
      "publisher": "Los Angeles City Planning",
      "checkedDate": "2026-10-03",
      "access": "Tool fetch timed out; linked by City Planning",
      "note": "Human parcel-research tool; no API access, freshness, or automated parcel extraction has been established.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "county-maps",
      "title": "LA County · Maps and GIS / jurisdiction",
      "url": "https://planning.lacounty.gov/maps-and-gis/",
      "publisher": "Los Angeles County Planning",
      "checkedDate": "2026-10-03",
      "access": "Page read",
      "note": "County Planning governs unincorporated areas. Map apps and download layers support jurisdiction/land-use research; city parcels need city authorities.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "culver-city",
      "title": "Culver City · Official planning entry",
      "url": "https://www.culvercity.org/",
      "publisher": "City of Culver City",
      "checkedDate": "2026-10-03",
      "access": "Fetch 403",
      "note": "Human research entry; operative General Plan/zoning/local tenant rules not retrieved in this session.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "santa-monica-maps",
      "title": "Santa Monica · Maps and GIS",
      "url": "https://www.santamonica.gov/topic-explainers/maps-and-gis",
      "publisher": "City of Santa Monica",
      "checkedDate": "2026-10-03",
      "access": "Page read",
      "note": "City-maintained GIS layers are available through its linked open-data portal; individual dataset terms/date need review.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "santa-monica-rent",
      "title": "Santa Monica · Rent Control",
      "url": "https://www.santamonica.gov/departments/rent-control",
      "publisher": "City of Santa Monica",
      "checkedDate": "2026-10-03",
      "access": "Page read",
      "note": "Explains rent-control functions and links records/research. Coverage and lawful rent are property/unit specific.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "santa-monica-seismic",
      "title": "Santa Monica · Seismic Retrofit Program",
      "url": "https://www.santamonica.gov/programs/seismic-retrofit-program",
      "publisher": "City of Santa Monica",
      "checkedDate": "2026-10-03",
      "access": "Page read",
      "note": "Links a potentially vulnerable building map and downloadable data. Inclusion is not a final structural-deficiency finding.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "long-beach-planning",
      "title": "Long Beach · Planning Bureau",
      "url": "https://www.longbeach.gov/lbcd/planning/",
      "publisher": "City of Long Beach",
      "checkedDate": "2026-10-03",
      "access": "HTTP 200 official HTML read",
      "note": "Links General Plan, Downtown/Shoreline initiatives, zoning districts, and land-use GIS. Conditions and use permissions require parcel review.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "burbank-planning",
      "title": "Burbank · Planning",
      "url": "https://www.burbankca.gov/web/community-development/planning",
      "publisher": "City of Burbank",
      "checkedDate": "2026-10-03",
      "access": "Page read",
      "note": "Official planning, housing, zoning, and development-review entry.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "burbankbus",
      "title": "BurbankBus · Official service",
      "url": "https://www.burbankca.gov/burbankbus",
      "publisher": "City of Burbank",
      "checkedDate": "2026-10-03",
      "access": "Official page read; timetable not modeled",
      "note": "Verify route and timetable before deriving any travel-time claim.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "metrolink",
      "title": "Metrolink · Schedules",
      "url": "https://metrolinktrains.com/schedules/",
      "publisher": "Southern California Regional Rail Authority",
      "checkedDate": "2026-10-03",
      "access": "Official schedule page read; trip timetable not modeled",
      "note": "No frequency or commute duration is asserted.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "pasadena-planning",
      "title": "Pasadena · Planning and Community Development",
      "url": "https://www.cityofpasadena.net/planning/",
      "publisher": "City of Pasadena",
      "checkedDate": "2026-10-03",
      "access": "Page read",
      "note": "Links zoning maps/code, specific plans, historic review, property information, and disaster-recovery bulletins.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "metro-schedules",
      "title": "LA Metro · Line schedules and maps",
      "url": "https://www.metro.net/riding/schedules/",
      "publisher": "Los Angeles County Metropolitan Transportation Authority",
      "checkedDate": "2026-10-03",
      "access": "Page read",
      "note": "Operating lines/routes as shown on the official page, checked Oct 3 2026. Verify current timetable and stop geography; no commute-time model.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "cgs-hazards",
      "title": "CGS · Earthquake hazard-zone guidance",
      "url": "https://www.conservation.ca.gov/cgs/geohazards/eq-zapp",
      "publisher": "California Geological Survey",
      "checkedDate": "2026-10-03",
      "access": "Page read",
      "note": "Fault rupture, liquefaction, and earthquake-induced landslide zones are screening information. Unmapped does not mean safe; mapped zones do not replace site investigations.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "fema-flood",
      "title": "FEMA · Flood Map Service Center",
      "url": "https://msc.fema.gov/portal/home",
      "publisher": "Federal Emergency Management Agency",
      "checkedDate": "2026-10-03",
      "access": "Page read",
      "note": "Official public NFIP flood-hazard source. Maps can be superseded; flood-zone status is not a complete property-risk or insurance quote.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "geotracker",
      "title": "California · GeoTracker environmental records",
      "url": "https://geotracker.waterboards.ca.gov/",
      "publisher": "State Water Resources Control Board",
      "checkedDate": "2026-10-03",
      "access": "Fetch 403; research link only",
      "note": "Investigate cleanup and groundwater/site history. No parcel record was downloaded or risk assigned.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "envirostor",
      "title": "California · EnviroStor site records",
      "url": "https://envirostor.dtsc.ca.gov/public/",
      "publisher": "California Department of Toxic Substances Control",
      "checkedDate": "2026-10-03",
      "access": "Fetch 403; research link only",
      "note": "Human environmental diligence link. No parcel-specific contamination conclusion.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "calfire",
      "title": "CAL FIRE · Fire Hazard Severity Zones",
      "url": "https://osfm.fire.ca.gov/what-we-do/community-wildfire-preparedness-and-mitigation/fire-hazard-severity-zones",
      "publisher": "California State Fire Marshal",
      "checkedDate": "2026-10-03",
      "access": "Official hazard guidance read; parcel layer not retrieved",
      "note": "Maps classify hazard, not individual property risk. Check current local adoption and the actual site; no citywide fire rating is assigned.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "boe-tax",
      "title": "California property tax · Publication 29",
      "url": "https://www.boe.ca.gov/proptaxes/pdf/pub29.pdf",
      "publisher": "California State Board of Equalization",
      "checkedDate": "2026-10-03",
      "access": "March 2025 publication read",
      "note": "Acquisition-value assessment can change at ownership transfer/new construction. Base rate, bonded debt, assessments, and supplemental bills must be reviewed separately.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "ca-tenants",
      "title": "California · Landlord–tenant guidance",
      "url": "https://oag.ca.gov/tenants",
      "publisher": "California Department of Justice",
      "checkedDate": "2026-10-03",
      "access": "Page read",
      "note": "State guidance links Tenant Protection Act and related protections. Exemptions, notices, and local rules require current property-specific review.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "census-acs",
      "title": "Census ACS · 2024 5-year API catalog",
      "url": "https://api.census.gov/data/2024/acs/acs5.html",
      "publisher": "U.S. Census Bureau",
      "checkedDate": "2026-10-03",
      "access": "Keyless data query returned missing-key redirect",
      "note": "No ACS payload obtained. Estimates cover a multi-year period; medians are not current asking rents or listings.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "fhfa-hpi",
      "title": "FHFA · House Price Index datasets",
      "url": "https://www.fhfa.gov/data/hpi/datasets",
      "publisher": "Federal Housing Finance Agency",
      "checkedDate": "2026-10-03",
      "access": "Page and public CSV read",
      "note": "Quarterly metro all-transactions NSA measures single-family value changes. It is not rent, NOI, yield, a listing database, or an individual valuation.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "metro-data",
      "title": "LA Metro · Data and API documentation",
      "url": "https://developer.metro.net/api/",
      "publisher": "Los Angeles County Metropolitan Transportation Authority",
      "checkedDate": "2026-10-03",
      "access": "Page read",
      "note": "Swiftly vehicle/trip realtime needs an API key; public cancellation beta is scheduled-only and omits contracted routes.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "metro-terms",
      "title": "LA Metro · Developer terms",
      "url": "https://developer.metro.net/terms-conditions/",
      "publisher": "Los Angeles County Metropolitan Transportation Authority",
      "checkedDate": "2026-10-03",
      "access": "Page read",
      "note": "Attribution and accurate presentation required; no Metro partnership or trademark rights. Redistribution/advertising restrictions need review before integration.",
      "checkedAt": "2026-10-03"
    },
    {
      "id": "global-sec-reits",
      "title": "Real Estate Investment Trusts (REITs)",
      "url": "https://www.investor.gov/introduction-investing/investing-basics/investment-products/real-estate-investment-trusts-reits",
      "publisher": "US Securities and Exchange Commission / Investor.gov",
      "checkedAt": "2026-10-03",
      "cadence": "Educational guidance; update cadence not promised"
    },
    {
      "id": "global-irs-reit",
      "title": "Instructions for Form 1120-REIT (2025)",
      "url": "https://www.irs.gov/instructions/i1120rei",
      "publisher": "US Internal Revenue Service",
      "checkedAt": "2026-10-03",
      "cadence": "Tax-year instructions; check later changes"
    },
    {
      "id": "global-international-risk",
      "title": "International Investing",
      "url": "https://www.investor.gov/introduction-investing/investing-basics/investment-products/international-investing",
      "publisher": "US Securities and Exchange Commission / Investor.gov",
      "checkedAt": "2026-10-03",
      "cadence": "Educational guidance; securities risk framework"
    },
    {
      "id": "global-occ-cre",
      "title": "Commercial Real Estate Lending, version 2.0 (March 2022)",
      "url": "https://www.occ.treas.gov/publications-and-resources/publications/comptrollers-handbook/files/commercial-real-estate-lending/pub-ch-commercial-real-estate.pdf",
      "publisher": "US Office of the Comptroller of the Currency",
      "checkedAt": "2026-10-03",
      "cadence": "Supervisory handbook; March 2022 edition, not a live credit policy"
    },
    {
      "id": "global-irs-rental",
      "title": "Publication 527 (2025), Residential Rental Property",
      "url": "https://www.irs.gov/publications/p527",
      "publisher": "US Internal Revenue Service",
      "checkedAt": "2026-10-03",
      "cadence": "Tax-year publication; US federal treatment only"
    },
    {
      "id": "global-cfpb-closing",
      "title": "Closing Disclosure explainer",
      "url": "https://www.consumerfinance.gov/owning-a-home/closing-disclosure/",
      "publisher": "US Consumer Financial Protection Bureau",
      "checkedAt": "2026-10-03",
      "cadence": "Consumer guidance; not a loan offer"
    },
    {
      "id": "global-cfpb-ltv",
      "title": "What is a loan-to-value ratio?",
      "url": "https://www.consumerfinance.gov/ask-cfpb/what-is-a-loan-to-value-ratio-and-how-does-it-relate-to-my-costs-en-121/",
      "publisher": "US Consumer Financial Protection Bureau",
      "checkedAt": "2026-10-03",
      "cadence": "Guidance; page last reviewed January 2025"
    },
    {
      "id": "global-fannie-rental",
      "title": "General Rental Income Information",
      "url": "https://selling-guide.fanniemae.com/sel/b3-3.1-08/rental-income",
      "publisher": "Fannie Mae Selling Guide",
      "checkedAt": "2026-10-03",
      "cadence": "Guide entry dated September 2, 2026; lender program rules can change"
    },
    {
      "id": "global-firpta",
      "title": "FIRPTA withholding",
      "url": "https://www.irs.gov/individuals/international-taxpayers/firpta-withholding",
      "publisher": "US Internal Revenue Service",
      "checkedAt": "2026-10-03",
      "cadence": "Tax guidance; transaction-specific exceptions apply"
    },
    {
      "id": "global-ca-tenants",
      "title": "Landlord-Tenant Issues",
      "url": "https://oag.ca.gov/tenants",
      "publisher": "California Department of Justice",
      "checkedAt": "2026-10-03",
      "cadence": "Current guidance; check local rules and later law changes"
    },
    {
      "id": "global-uk-sdlt",
      "title": "Rates of Stamp Duty Land Tax for non-UK residents",
      "url": "https://www.gov.uk/guidance/rates-of-stamp-duty-land-tax-for-non-uk-residents",
      "publisher": "HM Revenue & Customs",
      "checkedAt": "2026-10-03",
      "cadence": "Guidance last updated April 2025; England and Northern Ireland"
    },
    {
      "id": "global-uk-overseas-entity",
      "title": "Register an overseas entity",
      "url": "https://www.gov.uk/guidance/register-an-overseas-entity",
      "publisher": "Companies House",
      "checkedAt": "2026-10-03",
      "cadence": "Guidance last updated February 2026; annual entity updates"
    },
    {
      "id": "global-uk-renters",
      "title": "Private landlords: private renting has changed",
      "url": "https://housinghub.campaign.gov.uk/renting-is-changing/",
      "publisher": "UK Ministry of Housing, Communities and Local Government",
      "checkedAt": "2026-10-03",
      "cadence": "Current landlord guidance checked October 2026; Phase 1 effective May 1, 2026; later phases separate"
    },
    {
      "id": "global-uk-landlord-guide",
      "title": "Assured periodic tenancies: a guide for landlords",
      "url": "https://www.gov.uk/assured-tenancy-agreements-a-guide-for-landlords",
      "publisher": "UK Government",
      "checkedAt": "2026-10-03",
      "cadence": "Current full landlord guidance; scope, exceptions and transition rules matter"
    },
    {
      "id": "global-uk-renters-roadmap",
      "title": "Implementing the Renters’ Rights Act 2025: roadmap",
      "url": "https://www.gov.uk/government/publications/renters-rights-act-2025-implementation-roadmap/implementing-the-renters-rights-act-2025-our-roadmap-for-reforming-the-private-rented-sector",
      "publisher": "UK Ministry of Housing, Communities and Local Government",
      "checkedAt": "2026-10-03",
      "cadence": "Dated November 2025 phase plan; cross-check later phases with current landlord guidance"
    },
    {
      "id": "global-jp-reporting",
      "title": "Acquisition of real property in Japan by a non-resident",
      "url": "https://www.mof.go.jp/english/policy/international_policy/real_property/index.html",
      "publisher": "Japan Ministry of Finance",
      "checkedAt": "2026-10-03",
      "cadence": "Administrative guidance; transaction deadlines are separate from source refresh"
    },
    {
      "id": "global-jp-nonresident-tax",
      "title": "Taxation on a nonresident",
      "url": "https://www.nta.go.jp/english/taxes/individual/12006.htm",
      "publisher": "Japan National Tax Agency",
      "checkedAt": "2026-10-03",
      "cadence": "Tax guidance; residency, filing and treaty circumstances matter"
    },
    {
      "id": "global-jetro-tax-agent",
      "title": "Taxes in Japan: overview of the tax system",
      "url": "https://www.jetro.go.jp/en/invest/setting_up/section3/page1.html",
      "publisher": "Japan External Trade Organization",
      "checkedAt": "2026-10-03",
      "cadence": "Official investment guidance; check current law and taxpayer circumstances"
    },
    {
      "id": "global-jetro-property-taxes",
      "title": "Other principal taxes",
      "url": "https://www.jetro.go.jp/en/invest/setting_up/section3/page8.html",
      "publisher": "Japan External Trade Organization",
      "checkedAt": "2026-10-03",
      "cadence": "Official investment guidance; bases and relief differ by tax"
    },
    {
      "id": "global-sg-ownership",
      "title": "Foreign ownership of property",
      "url": "https://www.sla.gov.sg/regulatory/foreign-ownership-of-property/",
      "publisher": "Singapore Land Authority",
      "checkedAt": "2026-10-03",
      "cadence": "Page content dated August 20, 2025; site footer updated October 2, 2026; check property category"
    },
    {
      "id": "global-sg-absd",
      "title": "Additional Buyer’s Stamp Duty (ABSD)",
      "url": "https://www.iras.gov.sg/taxes/stamp-duty/for-property/buying-or-acquiring-property/additional-buyer%27s-stamp-duty-%28absd%29",
      "publisher": "Inland Revenue Authority of Singapore",
      "checkedAt": "2026-10-03",
      "cadence": "Published residential rate table and guidance; buyer profile and applicable remission matter"
    },
    {
      "id": "global-sg-tdsr",
      "title": "Calculating Total Debt Servicing Ratio thresholds",
      "url": "https://www.mas.gov.sg/regulation/explainers/tdsr-for-property-loans/calculating-tdsr-thresholds",
      "publisher": "Monetary Authority of Singapore",
      "checkedAt": "2026-10-03",
      "cadence": "Regulatory explainer; revised December 2021, checked October 2026"
    },
    {
      "id": "global-dld-sale",
      "title": "Property sale registration",
      "url": "https://dubailand.gov.ae/en/eservices/property-sale-registration/",
      "publisher": "Dubai Land Department",
      "checkedAt": "2026-10-03",
      "cadence": "Service/fee guidance; verify transaction terms"
    },
    {
      "id": "global-dld-faq",
      "title": "Frequently Asked Questions",
      "url": "https://dubailand.gov.ae/en/frequently-asked-questions/",
      "publisher": "Dubai Land Department",
      "checkedAt": "2026-10-03",
      "cadence": "Administrative/rental guidance; check project and tenancy details"
    },
    {
      "id": "global-dld-data",
      "title": "Real Estate Data",
      "url": "https://dubailand.gov.ae/en/open-data/real-estate-data/",
      "publisher": "Dubai Land Department",
      "checkedAt": "2026-10-03",
      "cadence": "Public catalog; dataset periods and reuse terms vary; no automated feed verified here"
    },
    {
      "id": "global-de-rent-law",
      "title": "Civil Code §556d: permissible rent at commencement",
      "url": "https://www.gesetze-im-internet.de/bgb/__556d.html",
      "publisher": "German Federal Ministry of Justice / Federal Office of Justice",
      "checkedAt": "2026-10-03",
      "cadence": "Consolidated statute; local designation and exceptions require separate checking"
    },
    {
      "id": "global-berlin-mietspiegel",
      "title": "Berliner Mietspiegel 2026",
      "url": "https://mietspiegel.berlin.de/",
      "publisher": "Berlin Senate",
      "checkedAt": "2026-10-03",
      "cadence": "2026 rent reference; applicability and property features matter"
    },
    {
      "id": "global-mx-investment-law",
      "title": "Ley de Inversión Extranjera",
      "url": "https://www.diputados.gob.mx/LeyesBiblio/pdf/LIE.pdf",
      "publisher": "Mexico Chamber of Deputies",
      "checkedAt": "2026-10-03",
      "cadence": "Consolidated law; last reform May 27, 2024 in checked text"
    },
    {
      "id": "global-mx-income-tax",
      "title": "Ley del Impuesto sobre la Renta",
      "url": "https://www.diputados.gob.mx/LeyesBiblio/pdf/LISR.pdf",
      "publisher": "Mexico Chamber of Deputies",
      "checkedAt": "2026-10-03",
      "cadence": "Consolidated law; last reform April 1, 2024 in checked text"
    },
    {
      "id": "global-banxico-fx",
      "title": "Exchange rates: daily table CF102",
      "url": "https://www.banxico.org.mx/SieInternet/consultarDirectorioInternetAction.do?sector=6&accion=consultarCuadro&idCuadro=CF102&locale=en",
      "publisher": "Banco de México",
      "checkedAt": "2026-10-03",
      "cadence": "Banking-day reference series; FIX publication timing differs; not real time"
    },
    {
      "id": "global-br-title",
      "title": "Código Civil, Article 1,245",
      "url": "https://www.planalto.gov.br/ccivil_03/leis/2002/l10406compilada.htm",
      "publisher": "Presidency of Brazil",
      "checkedAt": "2026-10-03",
      "cadence": "Consolidated law; registration requirement"
    },
    {
      "id": "global-sp-itbi",
      "title": "Como calcular o ITBI",
      "url": "https://prefeitura.sp.gov.br/web/fazenda/w/servicos/itbi/2513",
      "publisher": "Municipality of São Paulo",
      "checkedAt": "2026-10-03",
      "cadence": "Municipal guidance updated January 13, 2026"
    },
    {
      "id": "global-sp-iptu",
      "title": "IPTU rules from 2026",
      "url": "https://prefeitura.sp.gov.br/web/fazenda/w/servicos/iptu/2456",
      "publisher": "Municipality of São Paulo",
      "checkedAt": "2026-10-03",
      "cadence": "Municipal guidance updated February 10, 2026; annual assessment"
    },
    {
      "id": "global-br-cpf",
      "title": "Register for a CPF from abroad",
      "url": "https://www.gov.br/pt-br/servicos/inscrever-no-cpf-no-exterior",
      "publisher": "Government of Brazil",
      "checkedAt": "2026-10-03",
      "cadence": "Service guidance modified December 15, 2025; does not determine property eligibility"
    },
    {
      "id": "global-us-reit-act",
      "title": "Public Law 86-779, September 14, 1960, Section 10",
      "url": "https://www.govinfo.gov/content/pkg/STATUTE-74/pdf/STATUTE-74-Pg998.pdf",
      "publisher": "US Congress / Government Publishing Office",
      "checkedAt": "2026-10-03",
      "cadence": "Original historical statute; not current tax law"
    },
    {
      "id": "global-nareit-history",
      "title": "The History of REITs",
      "url": "https://www.reit.com/what-reit/history-reits",
      "publisher": "Nareit, REIT industry association",
      "checkedAt": "2026-10-03",
      "cadence": "Industry institutional history; historical milestones, not return evidence"
    },
    {
      "id": "global-fair-housing",
      "title": "The Fair Housing Act",
      "url": "https://www.justice.gov/crt/fair-housing-act-1",
      "publisher": "US Department of Justice",
      "checkedAt": "2026-10-03",
      "cadence": "Enforcement/history guidance; updated June 2023"
    },
    {
      "id": "global-jpx-history",
      "title": "Tokyo Stock Exchange history before JPX launched",
      "url": "https://www.jpx.co.jp/english/corporate/about-jpx/history/01-01.html",
      "publisher": "Japan Exchange Group",
      "checkedAt": "2026-10-03",
      "cadence": "Exchange’s historical record"
    },
    {
      "id": "global-jpx-reits",
      "title": "REIT overview",
      "url": "https://www.jpx.co.jp/english/equities/products/reits/outline/index.html",
      "publisher": "Japan Exchange Group",
      "checkedAt": "2026-10-03",
      "cadence": "Exchange product guidance; no price or expected yield used"
    },
    {
      "id": "global-fed-recession",
      "title": "The Great Recession and its aftermath",
      "url": "https://www.federalreservehistory.org/essays/great-recession-and-its-aftermath",
      "publisher": "Federal Reserve History",
      "checkedAt": "2026-10-03",
      "cadence": "Historical essay published November 2013"
    },
    {
      "id": "global-fed-2022",
      "title": "FOMC statement, March 16, 2022",
      "url": "https://www.federalreserve.gov/newsevents/pressreleases/monetary20220316a.htm",
      "publisher": "US Federal Reserve Board",
      "checkedAt": "2026-10-03",
      "cadence": "Dated historical policy release; not the current rate"
    },
    {
      "id": "global-realty-model",
      "title": "The Realty Income Business Model",
      "url": "https://www.realtyincome.com/who-we-are/business-model",
      "publisher": "Realty Income",
      "checkedAt": "2026-10-03",
      "cadence": "Company description; self-reported role, not endorsement or performance evidence"
    },
    {
      "id": "global-blackstone",
      "title": "Real Estate",
      "url": "https://www.blackstone.com/our-businesses/real-estate/",
      "publisher": "Blackstone",
      "checkedAt": "2026-10-03",
      "cadence": "Company description; self-reported businesses, no valuation or return claim used"
    },
    {
      "id": "global-cbre",
      "title": "About CBRE",
      "url": "https://www.cbre.com/about",
      "publisher": "CBRE",
      "checkedAt": "2026-10-03",
      "cadence": "Company description; self-reported role"
    },
    {
      "id": "global-jll",
      "title": "About JLL",
      "url": "https://www.jll.com/en-us/about-jll",
      "publisher": "JLL",
      "checkedAt": "2026-10-03",
      "cadence": "Company description; self-reported role"
    },
    {
      "id": "global-fannie-about",
      "title": "About Fannie Mae",
      "url": "https://www.fanniemae.com/about-us",
      "publisher": "Fannie Mae",
      "checkedAt": "2026-10-03",
      "cadence": "Institution description; secondary mortgage-market role"
    },
    {
      "id": "feed-fhfa",
      "title": "FHFA House Price Index datasets",
      "url": "https://www.fhfa.gov/data/hpi/datasets",
      "publisher": "Federal Housing Finance Agency",
      "checkedAt": "2026-10-03",
      "cadence": "Quarterly, revised"
    },
    {
      "id": "feed-usgs",
      "title": "USGS GeoJSON summary feeds",
      "url": "https://earthquake.usgs.gov/earthquakes/feed/v1.0/geojson.php",
      "publisher": "U.S. Geological Survey",
      "checkedAt": "2026-10-03",
      "cadence": "Publisher updates every minute"
    },
    {
      "id": "feed-usgs-rights",
      "title": "USGS copyrights and credits",
      "url": "https://www.usgs.gov/information-policies-and-instructions/copyrights-and-credits",
      "publisher": "U.S. Geological Survey",
      "checkedAt": "2026-10-03",
      "cadence": "Policy"
    },
    {
      "id": "feed-hud",
      "title": "HUD Fair Market Rent API access",
      "url": "https://www.huduser.gov/portal/dataset/fmr-api.html",
      "publisher": "HUD USER",
      "checkedAt": "2026-10-03",
      "cadence": "Annual"
    },
    {
      "id": "feed-census",
      "title": "Census Data API guidance",
      "url": "https://www.census.gov/data/developers/guidance/api-user-guide.html",
      "publisher": "U.S. Census Bureau",
      "checkedAt": "2026-10-03",
      "cadence": "Dataset dependent"
    }
  ],
  "feeds": [
    {
      "id": "fhfa",
      "name": "LA metro house-price index",
      "cadence": "Quarterly / delayed",
      "status": "Working server adapter",
      "access": "Keyless official CSV; tested HTTP 200 on 3 Oct 2026.",
      "cors": "No CORS allow-origin header observed; same-origin Pages adapter is required.",
      "licensing": "Federal statistical data; retain FHFA attribution and release/vintage. No listing imagery or MLS data.",
      "limits": "No SLA or numerical rate limit asserted. Explicit refresh only; derived-response edge cache up to one hour; fixed URL; 6 MB cap; 12s timeout; no persistent schedule.",
      "meaning": "All-transactions, not seasonally adjusted index; includes purchase and refinance appraisal data. LA metro division is much larger than this 25-mile study. Not a price quote, asking rent, cap rate or yield.",
      "sourceIds": [
        "feed-fhfa"
      ]
    },
    {
      "id": "usgs",
      "name": "Earthquake context near the circle",
      "cadence": "Publisher every minute / near real time",
      "status": "Working browser + server adapter",
      "access": "Keyless official GeoJSON; tested HTTP 200.",
      "cors": "Wildcard CORS observed; publisher max-age 60 seconds.",
      "licensing": "USGS-produced data are public domain; credit USGS. Third-party media can have different terms.",
      "limits": "Explicit page-load-free refresh only; derived-response edge cache up to 60 seconds. Fixed one-week feed; 4 MB cap; 12s timeout; no alert service. Events may be revised.",
      "meaning": "Events with epicenters within 25 miles during the rolling past week. Not a probability, parcel hazard rating, damage determination or statement that an area is safe.",
      "sourceIds": [
        "feed-usgs",
        "feed-usgs-rights"
      ]
    },
    {
      "id": "census",
      "name": "ACS rents, housing and demographics",
      "cadence": "Annual releases / multiyear estimates",
      "status": "Access blocked; no live adapter",
      "access": "Keyless API probe redirected to missing_key.html on 3 Oct 2026. Requires separate authorized key setup.",
      "cors": "Wildcard CORS was present on the response; missing authentication still blocks data.",
      "licensing": "Federal aggregate statistics; retain vintage, geography and margins of error.",
      "limits": "No key created. No values copied from the rejected API response. API policy and request limits must be reviewed before enabling.",
      "meaning": "Median gross rent is occupied-unit survey context, not current asking rent or achievable investment cash flow.",
      "sourceIds": [
        "feed-census"
      ]
    },
    {
      "id": "hud",
      "name": "HUD Fair Market Rents",
      "cadence": "Annual program benchmark",
      "status": "Token required; source link only",
      "access": "Official API requires account/token. No token created or stored.",
      "cors": "Not tested with credentials.",
      "licensing": "Public program statistics; check API terms before automated reuse.",
      "limits": "No credential-dependent adapter in v1.",
      "meaning": "Program rent benchmark, not a property appraisal or listing price.",
      "sourceIds": [
        "feed-hud"
      ]
    },
    {
      "id": "listings",
      "name": "For-sale listings, leases and closed comps",
      "cadence": "Provider dependent",
      "status": "Not connected",
      "access": "Needs a licensed broker/provider agreement and a field-level reuse policy.",
      "cors": "Provider dependent.",
      "licensing": "No MLS scraping; no assumed permission to republish portal listings or photographs.",
      "limits": "No properties, rents, availability, broker feeds or buy buttons fabricated.",
      "meaning": "v1 compares study anchors and official evidence; it is not an exhaustive property database.",
      "sourceIds": []
    },
    {
      "id": "census-geocoder",
      "name": "Census public geocoder",
      "cadence": "Current benchmark is updated by publisher; not a property feed",
      "access": "Keyless address JSON HTTP 200 verified",
      "cors": "Vary: Origin observed; browser CORS was not separately verified",
      "licensing": "Official public address-range service; retain precision/benchmark",
      "status": "Verified study-center lookup; fixed snapshot only",
      "limits": "Interpolated match, not rooftop or parcel verification. No repeated automatic geocoding is implemented here.",
      "sourceIds": [
        "census-geocoder"
      ]
    },
    {
      "id": "metro-gtfs",
      "name": "Metro GTFS schedule downloads",
      "cadence": "Bus weekly-updated-service branch weekly; rail generally daily Tuesday–Saturday",
      "access": "Official documentation and download links verified",
      "cors": "GitLab download CORS not probed",
      "licensing": "GTFS specification license is not Metro data license; developer terms apply",
      "status": "Research links; no schedule ingestion implemented",
      "limits": "Major service adjustments in June/December. Schedules describe planned service, not actual arrivals.",
      "endpoint": "https://developer.metro.net/gtfs-schedule-data/",
      "sourceIds": [
        "metro-data",
        "metro-terms"
      ]
    },
    {
      "id": "metro-realtime",
      "name": "Metro Swiftly vehicle/trip updates",
      "cadence": "Vehicle positions about 5 seconds; trip updates about 10 seconds",
      "access": "Official docs require Swiftly API key",
      "cors": "Not probed; access needs key",
      "licensing": "Metro/Swiftly terms; no credentials or registration created",
      "status": "Documented only; not connected",
      "limits": "No realtime arrival display is implemented or promised.",
      "sourceIds": [
        "metro-data",
        "metro-terms"
      ]
    },
    {
      "id": "metro-cancellations",
      "name": "Metro scheduled bus cancellation beta",
      "cadence": "Roughly every 5 minutes per documentation",
      "access": "Public beta documented; endpoint response not tested here",
      "cors": "Not verified",
      "licensing": "Metro developer terms; restrictions require review",
      "status": "Candidate only; not integrated",
      "limits": "Scheduled cancellations only, not breakdowns; contracted lines excluded, including 125/232. Cannot stand for the entire local bus system.",
      "endpoint": "https://metro-api-v2.ofhq3vd1r7une.us-west-2.cs.amazonlightsail.com/canceled_service/all/",
      "sourceIds": [
        "metro-data",
        "metro-terms"
      ]
    },
    {
      "id": "la-permits",
      "name": "Los Angeles permits / open-data portal",
      "cadence": "Dataset-specific; not verified",
      "access": "Historical yv23-pmwf data and metadata probes both returned HTTP 403 requiring login",
      "cors": "Wildcard on 403 response; no successful data payload",
      "licensing": "Dataset license not verified; no private/personal record ingested",
      "status": "Portal research only; this endpoint is unavailable keyless",
      "limits": "Do not treat the historical endpoint as a working current permit API.",
      "endpoint": "https://data.lacity.org/",
      "sourceIds": [
        "la-community-plans"
      ]
    },
    {
      "id": "parcel-hazards",
      "name": "City/county zoning + FEMA/CGS/environmental maps",
      "cadence": "Source and layer specific; planning amendments and map revisions",
      "access": "Public human research tools; individual APIs not validated",
      "cors": "Not verified across layers",
      "licensing": "Review individual layer metadata, disclaimers, and reuse terms before ingestion",
      "status": "Source-linked screening; no automatic parcel risk scoring",
      "limits": "No cadastral polygons, owner data, MLS listings, parcel hazard assignments, or engineering conclusions in this atlas.",
      "sourceIds": [
        "county-maps",
        "cgs-hazards",
        "fema-flood",
        "geotracker",
        "envirostor"
      ]
    }
  ],
  "snapshots": {
    "fhfa": {
      "kind": "fhfa",
      "retrievedAt": "2026-10-03T17:33:26Z",
      "observationPeriod": "2026 Q2",
      "series": "All-transactions HPI / NSA / 1995 Q1 = 100",
      "geography": "Los Angeles–Long Beach–Glendale metro division (31084), beyond the 25-mile circle",
      "latest": {
        "market": "Los Angeles-Long Beach-Glendale, CA (MSAD)",
        "code": "31084",
        "year": 2026,
        "quarter": 2,
        "index": 557.38
      },
      "quarterChangePct": -0.2683939307185801,
      "yearChangePct": 1.200137988634098,
      "records": [
        {
          "market": "Los Angeles-Long Beach-Glendale, CA (MSAD)",
          "code": "31084",
          "year": 2022,
          "quarter": 3,
          "index": 505.67
        },
        {
          "market": "Los Angeles-Long Beach-Glendale, CA (MSAD)",
          "code": "31084",
          "year": 2022,
          "quarter": 4,
          "index": 495.11
        },
        {
          "market": "Los Angeles-Long Beach-Glendale, CA (MSAD)",
          "code": "31084",
          "year": 2023,
          "quarter": 1,
          "index": 494.19
        },
        {
          "market": "Los Angeles-Long Beach-Glendale, CA (MSAD)",
          "code": "31084",
          "year": 2023,
          "quarter": 2,
          "index": 504.6
        },
        {
          "market": "Los Angeles-Long Beach-Glendale, CA (MSAD)",
          "code": "31084",
          "year": 2023,
          "quarter": 3,
          "index": 511.43
        },
        {
          "market": "Los Angeles-Long Beach-Glendale, CA (MSAD)",
          "code": "31084",
          "year": 2023,
          "quarter": 4,
          "index": 515.91
        },
        {
          "market": "Los Angeles-Long Beach-Glendale, CA (MSAD)",
          "code": "31084",
          "year": 2024,
          "quarter": 1,
          "index": 524.26
        },
        {
          "market": "Los Angeles-Long Beach-Glendale, CA (MSAD)",
          "code": "31084",
          "year": 2024,
          "quarter": 2,
          "index": 533.55
        },
        {
          "market": "Los Angeles-Long Beach-Glendale, CA (MSAD)",
          "code": "31084",
          "year": 2024,
          "quarter": 3,
          "index": 541.33
        },
        {
          "market": "Los Angeles-Long Beach-Glendale, CA (MSAD)",
          "code": "31084",
          "year": 2024,
          "quarter": 4,
          "index": 544.27
        },
        {
          "market": "Los Angeles-Long Beach-Glendale, CA (MSAD)",
          "code": "31084",
          "year": 2025,
          "quarter": 1,
          "index": 545.27
        },
        {
          "market": "Los Angeles-Long Beach-Glendale, CA (MSAD)",
          "code": "31084",
          "year": 2025,
          "quarter": 2,
          "index": 550.77
        },
        {
          "market": "Los Angeles-Long Beach-Glendale, CA (MSAD)",
          "code": "31084",
          "year": 2025,
          "quarter": 3,
          "index": 551.82
        },
        {
          "market": "Los Angeles-Long Beach-Glendale, CA (MSAD)",
          "code": "31084",
          "year": 2025,
          "quarter": 4,
          "index": 554.76
        },
        {
          "market": "Los Angeles-Long Beach-Glendale, CA (MSAD)",
          "code": "31084",
          "year": 2026,
          "quarter": 1,
          "index": 558.88
        },
        {
          "market": "Los Angeles-Long Beach-Glendale, CA (MSAD)",
          "code": "31084",
          "year": 2026,
          "quarter": 2,
          "index": 557.38
        }
      ],
      "sourceUrl": "https://www.fhfa.gov/hpi/download/quarterly_datasets/hpi_at_metro.csv",
      "sourceIds": [
        "feed-fhfa"
      ],
      "limitation": "All-transactions, not seasonally adjusted index; includes purchase and refinance appraisal data. LA metro division is much larger than this 25-mile study. Not a price quote, asking rent, cap rate or yield."
    },
    "usgs": {
      "kind": "usgs",
      "retrievedAt": "2026-10-03T17:32:23Z",
      "generatedAt": "2026-10-03T17:32:23.000Z",
      "window": "Rolling past week at publisher generation time",
      "events": [
        {
          "id": "ci41342015",
          "lat": 34.1488333333333,
          "lon": -118.135166666667,
          "depthKm": 17.3,
          "magnitude": 0.9,
          "place": "1 km SSW of Pasadena, CA",
          "occurredAt": "2026-10-02T09:29:26.570Z",
          "updatedAt": "2026-10-02T18:11:54.837Z",
          "distanceMiles": 22.5,
          "url": "https://earthquake.usgs.gov/earthquakes/eventpage/ci41342015"
        },
        {
          "id": "ci41339927",
          "lat": 33.843,
          "lon": -118.468833333333,
          "depthKm": 11.85,
          "magnitude": 3.55404092525043,
          "place": "7 km WSW of Hermosa Beach, CA",
          "occurredAt": "2026-09-27T15:40:01.460Z",
          "updatedAt": "2026-10-02T23:08:03.622Z",
          "distanceMiles": 6.1,
          "url": "https://earthquake.usgs.gov/earthquakes/eventpage/ci41339927"
        },
        {
          "id": "ci41339791",
          "lat": 34.102,
          "lon": -118.260666666667,
          "depthKm": 5.8,
          "magnitude": 1.38,
          "place": "1 km NNE of Silver Lake, CA",
          "occurredAt": "2026-09-27T09:06:39.180Z",
          "updatedAt": "2026-09-28T18:47:23.800Z",
          "distanceMiles": 15.4,
          "url": "https://earthquake.usgs.gov/earthquakes/eventpage/ci41339791"
        }
      ],
      "sourceUrl": "https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_week.geojson",
      "sourceIds": [
        "feed-usgs"
      ],
      "limitation": "Events with epicenters within 25 miles during the rolling past week. Not a probability, parcel hazard rating, damage determination or statement that an area is safe."
    }
  },
  "model": {
    "defaults": {
      "capital": 250000,
      "annualContribution": 30000,
      "purchasePrice": 650000,
      "downPaymentPct": 35,
      "interestRate": 6.5,
      "loanYears": 30,
      "monthlyRent": 5200,
      "vacancyPct": 5,
      "propertyTax": 8125,
      "insurance": 2400,
      "repairs": 3000,
      "managementPct": 8,
      "capexReserveAnnual": 3000,
      "closingCostPct": 3,
      "reserveMonths": 6,
      "rentGrowthPct": 3,
      "appreciationPct": 3,
      "expenseGrowthPct": 3,
      "sellingCostPct": 6,
      "minDscr": 1.25
    },
    "inputs": [
      {
        "key": "capital",
        "label": "Hypothetical starting capital",
        "unit": "USD",
        "min": 0,
        "max": 100000000,
        "step": 1000,
        "group": "Capital",
        "defaultValue": 250000,
        "description": "Available team cash before the first annual contribution; no actual budget is assumed."
      },
      {
        "key": "annualContribution",
        "label": "Annual cash contribution",
        "unit": "USD",
        "min": 0,
        "max": 10000000,
        "step": 1000,
        "group": "Capital",
        "defaultValue": 30000,
        "description": "Added at the start of each of five years, including year 1; pays any previous funding gap first."
      },
      {
        "key": "purchasePrice",
        "label": "Illustrative property price",
        "unit": "USD",
        "min": 1,
        "max": 100000000,
        "step": 5000,
        "group": "Acquisition",
        "defaultValue": 650000,
        "description": "Invented starting property price, not an observed listing. Later acquisition prices follow the appreciation assumption."
      },
      {
        "key": "downPaymentPct",
        "label": "Down payment",
        "unit": "%",
        "min": 0,
        "max": 100,
        "step": 1,
        "group": "Financing",
        "defaultValue": 35,
        "description": "Loan-to-value equals 100% minus the down-payment percentage."
      },
      {
        "key": "interestRate",
        "label": "Fixed annual mortgage rate",
        "unit": "%",
        "min": 0,
        "max": 40,
        "step": 0.1,
        "group": "Financing",
        "defaultValue": 6.5,
        "description": "Nominal annual rate divided by 12; fixed for each scenario, with no refinance or loan fees beyond closing costs."
      },
      {
        "key": "loanYears",
        "label": "Amortization term",
        "unit": "years",
        "min": 1,
        "max": 50,
        "step": 1,
        "group": "Financing",
        "defaultValue": 30,
        "description": "Whole-year, fully amortizing monthly loan term. No balloon payment or interest-only period."
      },
      {
        "key": "monthlyRent",
        "label": "Illustrative monthly scheduled rent",
        "unit": "USD",
        "min": 0,
        "max": 1000000,
        "step": 100,
        "group": "Income",
        "defaultValue": 5200,
        "description": "Invented modeling rent per property, not an observed comparable or promised income."
      },
      {
        "key": "vacancyPct",
        "label": "Vacancy and collection loss",
        "unit": "%",
        "min": 0,
        "max": 100,
        "step": 1,
        "group": "Income",
        "defaultValue": 5,
        "description": "Deducted from scheduled rent; a simplified combined allowance rather than monthly tenant events."
      },
      {
        "key": "propertyTax",
        "label": "Annual property tax",
        "unit": "USD",
        "min": 0,
        "max": 10000000,
        "step": 100,
        "group": "Operating costs",
        "defaultValue": 8125,
        "description": "Editable starting annual tax budget per property; local reassessment and exemptions are not modeled."
      },
      {
        "key": "insurance",
        "label": "Annual insurance",
        "unit": "USD",
        "min": 0,
        "max": 10000000,
        "step": 100,
        "group": "Operating costs",
        "defaultValue": 2400,
        "description": "Starting annual insurance budget per property; coverage availability and deductibles require separate research."
      },
      {
        "key": "repairs",
        "label": "Annual repairs and maintenance",
        "unit": "USD",
        "min": 0,
        "max": 10000000,
        "step": 100,
        "group": "Operating costs",
        "defaultValue": 3000,
        "description": "Routine operating maintenance; distinct from the annual capital expenditure budget."
      },
      {
        "key": "managementPct",
        "label": "Management share of collected rent",
        "unit": "%",
        "min": 0,
        "max": 100,
        "step": 0.5,
        "group": "Operating costs",
        "defaultValue": 8,
        "description": "Applied to rent after vacancy and collection loss."
      },
      {
        "key": "capexReserveAnnual",
        "label": "Annual capex budget",
        "unit": "USD",
        "min": 0,
        "max": 10000000,
        "step": 100,
        "group": "Operating costs",
        "defaultValue": 3000,
        "description": "Conservative annual capital replacement allowance treated as cash spent, excluded from NOI. Unspent capex balances are not tracked."
      },
      {
        "key": "closingCostPct",
        "label": "Acquisition closing costs",
        "unit": "%",
        "min": 0,
        "max": 25,
        "step": 0.5,
        "group": "Acquisition",
        "defaultValue": 3,
        "description": "One-time purchase cost paid from cash; no basis, tax, or financing treatment is inferred."
      },
      {
        "key": "reserveMonths",
        "label": "Initial liquidity reserve",
        "unit": "months",
        "min": 0,
        "max": 36,
        "step": 1,
        "group": "Acquisition",
        "defaultValue": 6,
        "description": "Months of operating costs, capex budget, and scheduled debt service ring-fenced at purchase. No automatic replenishment."
      },
      {
        "key": "rentGrowthPct",
        "label": "Annual rent growth",
        "unit": "%",
        "min": -50,
        "max": 50,
        "step": 0.5,
        "group": "Growth and exit",
        "defaultValue": 3,
        "description": "Calendar-year growth applied to existing properties and future acquisitions; first-year rent has no growth."
      },
      {
        "key": "appreciationPct",
        "label": "Annual property value change",
        "unit": "%",
        "min": -50,
        "max": 50,
        "step": 0.5,
        "group": "Growth and exit",
        "defaultValue": 3,
        "description": "Changes estimated year-end values and future purchase prices, never spendable cash."
      },
      {
        "key": "expenseGrowthPct",
        "label": "Annual expense growth",
        "unit": "%",
        "min": -50,
        "max": 50,
        "step": 0.5,
        "group": "Growth and exit",
        "defaultValue": 3,
        "description": "Calendar-year growth of tax, insurance, repairs, and capex budgets; management follows collected rent."
      },
      {
        "key": "sellingCostPct",
        "label": "Illustrative sale costs",
        "unit": "%",
        "min": 0,
        "max": 25,
        "step": 0.5,
        "group": "Growth and exit",
        "defaultValue": 6,
        "description": "Applied to gross estimated sale value in the final hypothetical liquidation; sale taxes are excluded."
      },
      {
        "key": "minDscr",
        "label": "Minimum acquisition DSCR",
        "unit": "ratio",
        "min": 0,
        "max": 5,
        "step": 0.05,
        "group": "Financing",
        "defaultValue": 1.25,
        "description": "NOI divided by first-year scheduled debt service. A modeling screen, not an approval or a lender commitment."
      }
    ],
    "scenarios": [
      {
        "id": "adverse",
        "label": "Adverse",
        "description": "Lower starting rent, more vacancy, more expensive debt, and slower growth.",
        "deltas": {
          "monthlyRentPct": -10,
          "vacancyPct": 8,
          "interestRate": 2,
          "rentGrowthPct": -3,
          "appreciationPct": -5,
          "expenseGrowthPct": 3
        }
      },
      {
        "id": "base",
        "label": "Base",
        "description": "The editable input assumptions, without additional scenario changes.",
        "deltas": {
          "monthlyRentPct": 0,
          "vacancyPct": 0,
          "interestRate": 0,
          "rentGrowthPct": 0,
          "appreciationPct": 0,
          "expenseGrowthPct": 0
        }
      },
      {
        "id": "upside",
        "label": "Upside",
        "description": "Higher starting rent, less vacancy, cheaper debt, and faster growth.",
        "deltas": {
          "monthlyRentPct": 5,
          "vacancyPct": -2,
          "interestRate": -1,
          "rentGrowthPct": 1,
          "appreciationPct": 2,
          "expenseGrowthPct": -1
        }
      }
    ],
    "illustrativeResults": [
      {
        "modelVersion": "1.0",
        "horizonYears": 5,
        "currency": "USD",
        "illustrative": true,
        "inputs": {
          "capital": 250000,
          "annualContribution": 30000,
          "purchasePrice": 650000,
          "downPaymentPct": 35,
          "interestRate": 6.5,
          "loanYears": 30,
          "monthlyRent": 5200,
          "vacancyPct": 5,
          "propertyTax": 8125,
          "insurance": 2400,
          "repairs": 3000,
          "managementPct": 8,
          "capexReserveAnnual": 3000,
          "closingCostPct": 3,
          "reserveMonths": 6,
          "rentGrowthPct": 3,
          "appreciationPct": 3,
          "expenseGrowthPct": 3,
          "sellingCostPct": 6,
          "minDscr": 1.25
        },
        "effectiveInputs": {
          "capital": 250000,
          "annualContribution": 30000,
          "purchasePrice": 650000,
          "downPaymentPct": 35,
          "interestRate": 8.5,
          "loanYears": 30,
          "monthlyRent": 4680,
          "vacancyPct": 13,
          "propertyTax": 8125,
          "insurance": 2400,
          "repairs": 3000,
          "managementPct": 8,
          "capexReserveAnnual": 3000,
          "closingCostPct": 3,
          "reserveMonths": 6,
          "rentGrowthPct": 0,
          "appreciationPct": -2,
          "expenseGrowthPct": 6,
          "sellingCostPct": 6,
          "minDscr": 1.25
        },
        "scenario": {
          "id": "adverse",
          "label": "Adverse",
          "description": "Lower starting rent, more vacancy, more expensive debt, and slower growth.",
          "deltas": {
            "monthlyRentPct": -10,
            "vacancyPct": 8,
            "interestRate": 2,
            "rentGrowthPct": -3,
            "appreciationPct": -5,
            "expenseGrowthPct": 3
          }
        },
        "appliedAdjustments": [
          {
            "field": "monthlyRent",
            "before": 5200,
            "after": 4680,
            "requestedDelta": -10,
            "deltaUnit": "% of input",
            "clamped": false
          },
          {
            "field": "vacancyPct",
            "before": 5,
            "after": 13,
            "requestedDelta": 8,
            "deltaUnit": "percentage points",
            "clamped": false
          },
          {
            "field": "interestRate",
            "before": 6.5,
            "after": 8.5,
            "requestedDelta": 2,
            "deltaUnit": "percentage points",
            "clamped": false
          },
          {
            "field": "rentGrowthPct",
            "before": 3,
            "after": 0,
            "requestedDelta": -3,
            "deltaUnit": "percentage points",
            "clamped": false
          },
          {
            "field": "appreciationPct",
            "before": 3,
            "after": -2,
            "requestedDelta": -5,
            "deltaUnit": "percentage points",
            "clamped": false
          },
          {
            "field": "expenseGrowthPct",
            "before": 3,
            "after": 6,
            "requestedDelta": 3,
            "deltaUnit": "percentage points",
            "clamped": false
          }
        ],
        "initialMetrics": {
          "purchasePrice": 650000,
          "downPayment": 227500,
          "loanAmount": 422500,
          "ltvPct": 65,
          "closingCosts": 19500,
          "monthlyPayment": 3248.6594681438096,
          "debtService": 38983.91361772572,
          "reserveFunding": 29708.82480886286,
          "requiredCash": 276708.8248088629,
          "dscr": 0.8061136269733333,
          "dscrStatus": "ratio",
          "scheduledRent": 56160,
          "collectedRent": 48859.2,
          "management": 3908.736,
          "propertyTax": 8125,
          "insurance": 2400,
          "repairs": 3000,
          "capex": 3000,
          "operatingExpenses": 17433.736,
          "noi": 31425.463999999996,
          "grossYieldPct": 8.64,
          "effectiveGrossYieldPct": 7.5168,
          "netYieldPct": 4.69387064973861,
          "capRatePct": 4.8346867692307685,
          "grossYieldDenominator": 650000,
          "netYieldDenominator": 669500,
          "capRateDenominator": 650000,
          "cashOnCashDenominator": 276708.8248088629,
          "cashflow": -10558.44961772572,
          "cashOnCashPct": -3.8157256549439613
        },
        "years": [
          {
            "year": 1,
            "contribution": 30000,
            "liquidCashBeforeContribution": 250000,
            "contributionToShortfall": 0,
            "incomeToShortfall": 0,
            "acquisitionEligibility": {
              "eligible": false,
              "acquired": false,
              "reasons": [
                "Acquisition DSCR is below the selected minimum."
              ],
              "reasonCodes": [
                "dscr-below-minimum"
              ],
              "cashAvailable": 280000,
              "cashGap": 0,
              "remainingUnfundedShortfall": 0,
              "purchasePrice": 650000,
              "downPayment": 227500,
              "loanAmount": 422500,
              "ltvPct": 65,
              "closingCosts": 19500,
              "monthlyPayment": 3248.6594681438096,
              "debtService": 38983.91361772572,
              "reserveFunding": 29708.82480886286,
              "requiredCash": 276708.8248088629,
              "dscr": 0.8061136269733333,
              "dscrStatus": "ratio",
              "scheduledRent": 56160,
              "collectedRent": 48859.2,
              "management": 3908.736,
              "propertyTax": 8125,
              "insurance": 2400,
              "repairs": 3000,
              "capex": 3000,
              "operatingExpenses": 17433.736,
              "noi": 31425.463999999996,
              "grossYieldPct": 8.64,
              "effectiveGrossYieldPct": 7.5168,
              "netYieldPct": 4.69387064973861,
              "capRatePct": 4.8346867692307685,
              "grossYieldDenominator": 650000,
              "netYieldDenominator": 669500,
              "capRateDenominator": 650000,
              "cashOnCashDenominator": 276708.8248088629,
              "cashflow": -10558.44961772572,
              "cashOnCashPct": -3.8157256549439613,
              "minDscr": 1.25
            },
            "acquiredCount": 0,
            "propertyCount": 0,
            "properties": [],
            "scheduledRent": 0,
            "collectedRent": 0,
            "operatingExpenses": 0,
            "noi": 0,
            "capex": 0,
            "debtService": 0,
            "principalPaid": 0,
            "interestPaid": 0,
            "cashflow": 0,
            "cashDraw": 0,
            "reserveDraw": 0,
            "newShortfall": 0,
            "liquidCash": 280000,
            "reserves": 0,
            "unfundedShortfall": 0,
            "propertyValue": 0,
            "debtBalance": 0,
            "assetEquity": 0,
            "equity": 280000,
            "dscr": null,
            "dscrStatus": "no-properties",
            "grossYieldPct": null,
            "netYieldPct": null,
            "capRatePct": null,
            "grossYieldDenominator": 0,
            "netYieldDenominator": 0,
            "capRateDenominator": 0,
            "cashOnCashDenominator": 0,
            "cashOnCashPct": null,
            "reserveCoverageMonths": null,
            "cumulativeContributions": 30000,
            "cumulativeAcquisitionCash": 0,
            "cumulativeClosingCosts": 0,
            "cumulativeCashflow": 0
          },
          {
            "year": 2,
            "contribution": 30000,
            "liquidCashBeforeContribution": 280000,
            "contributionToShortfall": 0,
            "incomeToShortfall": 0,
            "acquisitionEligibility": {
              "eligible": false,
              "acquired": false,
              "reasons": [
                "Acquisition DSCR is below the selected minimum."
              ],
              "reasonCodes": [
                "dscr-below-minimum"
              ],
              "cashAvailable": 310000,
              "cashGap": 0,
              "remainingUnfundedShortfall": 0,
              "purchasePrice": 637000,
              "downPayment": 222950,
              "loanAmount": 414050,
              "ltvPct": 65,
              "closingCosts": 19110,
              "monthlyPayment": 3183.6862787809337,
              "debtService": 38204.235345371206,
              "reserveFunding": 29814.7356726856,
              "requiredCash": 271874.7356726856,
              "dscr": 0.801323825048344,
              "dscrStatus": "ratio",
              "scheduledRent": 56160,
              "collectedRent": 48859.2,
              "management": 3908.736,
              "propertyTax": 8612.5,
              "insurance": 2544,
              "repairs": 3180,
              "capex": 3180,
              "operatingExpenses": 18245.236,
              "noi": 30613.963999999996,
              "grossYieldPct": 8.816326530612246,
              "effectiveGrossYieldPct": 7.670204081632652,
              "netYieldPct": 4.66598039962811,
              "capRatePct": 4.805959811616954,
              "grossYieldDenominator": 637000,
              "netYieldDenominator": 656110,
              "capRateDenominator": 637000,
              "cashOnCashDenominator": 271874.7356726856,
              "cashflow": -10770.27134537121,
              "cashOnCashPct": -3.961482967044688,
              "minDscr": 1.25
            },
            "acquiredCount": 0,
            "propertyCount": 0,
            "properties": [],
            "scheduledRent": 0,
            "collectedRent": 0,
            "operatingExpenses": 0,
            "noi": 0,
            "capex": 0,
            "debtService": 0,
            "principalPaid": 0,
            "interestPaid": 0,
            "cashflow": 0,
            "cashDraw": 0,
            "reserveDraw": 0,
            "newShortfall": 0,
            "liquidCash": 310000,
            "reserves": 0,
            "unfundedShortfall": 0,
            "propertyValue": 0,
            "debtBalance": 0,
            "assetEquity": 0,
            "equity": 310000,
            "dscr": null,
            "dscrStatus": "no-properties",
            "grossYieldPct": null,
            "netYieldPct": null,
            "capRatePct": null,
            "grossYieldDenominator": 0,
            "netYieldDenominator": 0,
            "capRateDenominator": 0,
            "cashOnCashDenominator": 0,
            "cashOnCashPct": null,
            "reserveCoverageMonths": null,
            "cumulativeContributions": 60000,
            "cumulativeAcquisitionCash": 0,
            "cumulativeClosingCosts": 0,
            "cumulativeCashflow": 0
          },
          {
            "year": 3,
            "contribution": 30000,
            "liquidCashBeforeContribution": 310000,
            "contributionToShortfall": 0,
            "incomeToShortfall": 0,
            "acquisitionEligibility": {
              "eligible": false,
              "acquired": false,
              "reasons": [
                "Acquisition DSCR is below the selected minimum."
              ],
              "reasonCodes": [
                "dscr-below-minimum"
              ],
              "cashAvailable": 340000,
              "cashGap": 0,
              "remainingUnfundedShortfall": 0,
              "purchasePrice": 624260,
              "downPayment": 218491,
              "loanAmount": 405769,
              "ltvPct": 65,
              "closingCosts": 18727.8,
              "monthlyPayment": 3120.012553205315,
              "debtService": 37440.150638463776,
              "reserveFunding": 29958.188319231886,
              "requiredCash": 267176.9883192319,
              "dscr": 0.7947023046812408,
              "dscrStatus": "ratio",
              "scheduledRent": 56160,
              "collectedRent": 48859.2,
              "management": 3908.736,
              "propertyTax": 9129.250000000002,
              "insurance": 2696.6400000000003,
              "repairs": 3370.8000000000006,
              "capex": 3370.8000000000006,
              "operatingExpenses": 19105.426000000003,
              "noi": 29753.773999999994,
              "grossYieldPct": 8.99625156184923,
              "effectiveGrossYieldPct": 7.826738858808829,
              "netYieldPct": 4.627424346154001,
              "capRatePct": 4.766247076538621,
              "grossYieldDenominator": 624260,
              "netYieldDenominator": 642987.8,
              "capRateDenominator": 624260,
              "cashOnCashDenominator": 267176.9883192319,
              "cashflow": -11057.176638463781,
              "cashOnCashPct": -4.138521325516366,
              "minDscr": 1.25
            },
            "acquiredCount": 0,
            "propertyCount": 0,
            "properties": [],
            "scheduledRent": 0,
            "collectedRent": 0,
            "operatingExpenses": 0,
            "noi": 0,
            "capex": 0,
            "debtService": 0,
            "principalPaid": 0,
            "interestPaid": 0,
            "cashflow": 0,
            "cashDraw": 0,
            "reserveDraw": 0,
            "newShortfall": 0,
            "liquidCash": 340000,
            "reserves": 0,
            "unfundedShortfall": 0,
            "propertyValue": 0,
            "debtBalance": 0,
            "assetEquity": 0,
            "equity": 340000,
            "dscr": null,
            "dscrStatus": "no-properties",
            "grossYieldPct": null,
            "netYieldPct": null,
            "capRatePct": null,
            "grossYieldDenominator": 0,
            "netYieldDenominator": 0,
            "capRateDenominator": 0,
            "cashOnCashDenominator": 0,
            "cashOnCashPct": null,
            "reserveCoverageMonths": null,
            "cumulativeContributions": 90000,
            "cumulativeAcquisitionCash": 0,
            "cumulativeClosingCosts": 0,
            "cumulativeCashflow": 0
          },
          {
            "year": 4,
            "contribution": 30000,
            "liquidCashBeforeContribution": 340000,
            "contributionToShortfall": 0,
            "incomeToShortfall": 0,
            "acquisitionEligibility": {
              "eligible": false,
              "acquired": false,
              "reasons": [
                "Acquisition DSCR is below the selected minimum."
              ],
              "reasonCodes": [
                "dscr-below-minimum"
              ],
              "cashAvailable": 370000,
              "cashGap": 0,
              "remainingUnfundedShortfall": 0,
              "purchasePrice": 611774.7999999999,
              "downPayment": 214121.17999999996,
              "loanAmount": 397653.62,
              "ltvPct": 65,
              "closingCosts": 18353.244,
              "monthlyPayment": 3057.6123021412086,
              "debtService": 36691.3476256945,
              "reserveFunding": 30140.81151284725,
              "requiredCash": 262615.2355128472,
              "dscr": 0.7860701355052524,
              "dscrStatus": "ratio",
              "scheduledRent": 56160,
              "collectedRent": 48859.2,
              "management": 3908.736,
              "propertyTax": 9677.005000000001,
              "insurance": 2858.4384,
              "repairs": 3573.0480000000002,
              "capex": 3573.0480000000002,
              "operatingExpenses": 20017.2274,
              "noi": 28841.972599999997,
              "grossYieldPct": 9.179848532499214,
              "effectiveGrossYieldPct": 7.986468223274317,
              "netYieldPct": 4.577160606424304,
              "capRatePct": 4.714475424617032,
              "grossYieldDenominator": 611774.7999999999,
              "netYieldDenominator": 630128.0439999999,
              "capRateDenominator": 611774.7999999999,
              "cashOnCashDenominator": 262615.2355128472,
              "cashflow": -11422.423025694501,
              "cashOnCashPct": -4.349489854763478,
              "minDscr": 1.25
            },
            "acquiredCount": 0,
            "propertyCount": 0,
            "properties": [],
            "scheduledRent": 0,
            "collectedRent": 0,
            "operatingExpenses": 0,
            "noi": 0,
            "capex": 0,
            "debtService": 0,
            "principalPaid": 0,
            "interestPaid": 0,
            "cashflow": 0,
            "cashDraw": 0,
            "reserveDraw": 0,
            "newShortfall": 0,
            "liquidCash": 370000,
            "reserves": 0,
            "unfundedShortfall": 0,
            "propertyValue": 0,
            "debtBalance": 0,
            "assetEquity": 0,
            "equity": 370000,
            "dscr": null,
            "dscrStatus": "no-properties",
            "grossYieldPct": null,
            "netYieldPct": null,
            "capRatePct": null,
            "grossYieldDenominator": 0,
            "netYieldDenominator": 0,
            "capRateDenominator": 0,
            "cashOnCashDenominator": 0,
            "cashOnCashPct": null,
            "reserveCoverageMonths": null,
            "cumulativeContributions": 120000,
            "cumulativeAcquisitionCash": 0,
            "cumulativeClosingCosts": 0,
            "cumulativeCashflow": 0
          },
          {
            "year": 5,
            "contribution": 30000,
            "liquidCashBeforeContribution": 370000,
            "contributionToShortfall": 0,
            "incomeToShortfall": 0,
            "acquisitionEligibility": {
              "eligible": false,
              "acquired": false,
              "reasons": [
                "Acquisition DSCR is below the selected minimum."
              ],
              "reasonCodes": [
                "dscr-below-minimum"
              ],
              "cashAvailable": 400000,
              "cashGap": 0,
              "remainingUnfundedShortfall": 0,
              "purchasePrice": 599539.3039999999,
              "downPayment": 209838.75639999995,
              "loanAmount": 389700.54759999993,
              "ltvPct": 65,
              "closingCosts": 17986.179119999997,
              "monthlyPayment": 2996.460056098384,
              "debtService": 35957.52067318061,
              "reserveFunding": 30364.344218590304,
              "requiredCash": 258189.27973859024,
              "dscr": 0.7752331805454894,
              "dscrStatus": "ratio",
              "scheduledRent": 56160,
              "collectedRent": 48859.2,
              "management": 3908.736,
              "propertyTax": 10257.625300000003,
              "insurance": 3029.944704000001,
              "repairs": 3787.430880000001,
              "capex": 3787.430880000001,
              "operatingExpenses": 20983.736884000005,
              "noi": 27875.46311599999,
              "grossYieldPct": 9.36719238010124,
              "effectiveGrossYieldPct": 8.14945737068808,
              "netYieldPct": 4.514058751901438,
              "capRatePct": 4.649480514458481,
              "grossYieldDenominator": 599539.3039999999,
              "netYieldDenominator": 617525.4831199999,
              "capRateDenominator": 599539.3039999999,
              "cashOnCashDenominator": 258189.27973859024,
              "cashflow": -11869.488437180618,
              "cashOnCashPct": -4.597204209717057,
              "minDscr": 1.25
            },
            "acquiredCount": 0,
            "propertyCount": 0,
            "properties": [],
            "scheduledRent": 0,
            "collectedRent": 0,
            "operatingExpenses": 0,
            "noi": 0,
            "capex": 0,
            "debtService": 0,
            "principalPaid": 0,
            "interestPaid": 0,
            "cashflow": 0,
            "cashDraw": 0,
            "reserveDraw": 0,
            "newShortfall": 0,
            "liquidCash": 400000,
            "reserves": 0,
            "unfundedShortfall": 0,
            "propertyValue": 0,
            "debtBalance": 0,
            "assetEquity": 0,
            "equity": 400000,
            "dscr": null,
            "dscrStatus": "no-properties",
            "grossYieldPct": null,
            "netYieldPct": null,
            "capRatePct": null,
            "grossYieldDenominator": 0,
            "netYieldDenominator": 0,
            "capRateDenominator": 0,
            "cashOnCashDenominator": 0,
            "cashOnCashPct": null,
            "reserveCoverageMonths": null,
            "cumulativeContributions": 150000,
            "cumulativeAcquisitionCash": 0,
            "cumulativeClosingCosts": 0,
            "cumulativeCashflow": 0
          }
        ],
        "final": {
          "propertyCount": 0,
          "liquidCash": 400000,
          "reserves": 0,
          "propertyValue": 0,
          "debtBalance": 0,
          "unfundedShortfall": 0,
          "equity": 400000,
          "grossSaleValue": 0,
          "sellingCosts": 0,
          "netPropertySaleProceeds": 0,
          "netLiquidation": 400000,
          "totalContributed": 400000,
          "gainAfterIllustrativeSaleCosts": 0,
          "taxesExcluded": true
        },
        "methodology": [
          "All currency is hypothetical USD. Defaults are invented modeling examples, not local comparable rents, prices, financial commitments, or lending offers.",
          "The model runs five years. A contribution arrives at the start of every year, including year 1; it first repays any prior unfunded cash deficit.",
          "At most one identical prototype property is acquired at each year start. Available cash must cover down payment, closing costs, and a separate liquidity reserve; acquisition NOI must be nonnegative and DSCR must meet the chosen threshold when there is debt.",
          "Future acquisition prices follow annual appreciation. Rents and expenses follow calendar-year growth for every property, including later acquisitions; first-year inputs receive no growth.",
          "Scheduled rent = monthly rent × 12. Collected rent = scheduled rent × (1 − vacancy percentage). Management = collected rent × management percentage.",
          "NOI = collected rent − property tax − insurance − repairs − management. Debt service and capex are excluded from NOI. Cash flow = NOI − annual capex budget − actual scheduled annual debt service.",
          "Annual capex is conservatively treated as cash spent, rather than an accumulating reserve account. The separate acquisition liquidity reserve is funded at purchase, can cover cash deficits, and is not automatically replenished.",
          "Mortgage payments use a nominal annual rate divided by 12 and monthly amortization. Every scenario uses a fixed rate, with no refinance. Debt-free DSCR is returned as null, never Infinity.",
          "Monthly deficits draw liquid cash, then liquidity reserves; any remainder becomes an explicit unfunded shortfall. Later income or contributions pay that gap before rebuilding cash. Contractual debt amortization continues on schedule; actual default, arrears, foreclosure, and rescue financing are not simulated.",
          "Gross yield = scheduled annual rent ÷ purchase price. Net yield = NOI ÷ (purchase price + acquisition closing costs). Cap rate = NOI ÷ purchase price. Initial works are not modeled. Initial cash-on-cash = annual cash flow after capex and debt ÷ down payment, closing costs, and initial reserves combined.",
          "Portfolio annual gross yield and cap rate use total purchase prices as denominator; net yield includes cumulative acquisition closing costs in that denominator. Annual cash-on-cash uses cumulative acquisition cash committed. Explicit denominator amounts are returned with the metrics. Equity = liquid cash + remaining reserves + estimated property value − debt − unfunded shortfall.",
          "Final illustrative liquidation = liquid cash + remaining reserves + estimated sale value − selling costs − remaining debt − unfunded shortfall. Income taxes, depreciation, recapture, capital-gains taxes, transfer-specific taxes, FX, and legal ownership constraints are excluded.",
          "Adverse, base, and upside deltas are explicit sensitivity assumptions, not forecasts or probabilities. Scenario adjustments clamp to input bounds and report when clamped."
        ]
      },
      {
        "modelVersion": "1.0",
        "horizonYears": 5,
        "currency": "USD",
        "illustrative": true,
        "inputs": {
          "capital": 250000,
          "annualContribution": 30000,
          "purchasePrice": 650000,
          "downPaymentPct": 35,
          "interestRate": 6.5,
          "loanYears": 30,
          "monthlyRent": 5200,
          "vacancyPct": 5,
          "propertyTax": 8125,
          "insurance": 2400,
          "repairs": 3000,
          "managementPct": 8,
          "capexReserveAnnual": 3000,
          "closingCostPct": 3,
          "reserveMonths": 6,
          "rentGrowthPct": 3,
          "appreciationPct": 3,
          "expenseGrowthPct": 3,
          "sellingCostPct": 6,
          "minDscr": 1.25
        },
        "effectiveInputs": {
          "capital": 250000,
          "annualContribution": 30000,
          "purchasePrice": 650000,
          "downPaymentPct": 35,
          "interestRate": 6.5,
          "loanYears": 30,
          "monthlyRent": 5200,
          "vacancyPct": 5,
          "propertyTax": 8125,
          "insurance": 2400,
          "repairs": 3000,
          "managementPct": 8,
          "capexReserveAnnual": 3000,
          "closingCostPct": 3,
          "reserveMonths": 6,
          "rentGrowthPct": 3,
          "appreciationPct": 3,
          "expenseGrowthPct": 3,
          "sellingCostPct": 6,
          "minDscr": 1.25
        },
        "scenario": {
          "id": "base",
          "label": "Base",
          "description": "The editable input assumptions, without additional scenario changes.",
          "deltas": {
            "monthlyRentPct": 0,
            "vacancyPct": 0,
            "interestRate": 0,
            "rentGrowthPct": 0,
            "appreciationPct": 0,
            "expenseGrowthPct": 0
          }
        },
        "appliedAdjustments": [
          {
            "field": "monthlyRent",
            "before": 5200,
            "after": 5200,
            "requestedDelta": 0,
            "deltaUnit": "% of input",
            "clamped": false
          },
          {
            "field": "vacancyPct",
            "before": 5,
            "after": 5,
            "requestedDelta": 0,
            "deltaUnit": "percentage points",
            "clamped": false
          },
          {
            "field": "interestRate",
            "before": 6.5,
            "after": 6.5,
            "requestedDelta": 0,
            "deltaUnit": "percentage points",
            "clamped": false
          },
          {
            "field": "rentGrowthPct",
            "before": 3,
            "after": 3,
            "requestedDelta": 0,
            "deltaUnit": "percentage points",
            "clamped": false
          },
          {
            "field": "appreciationPct",
            "before": 3,
            "after": 3,
            "requestedDelta": 0,
            "deltaUnit": "percentage points",
            "clamped": false
          },
          {
            "field": "expenseGrowthPct",
            "before": 3,
            "after": 3,
            "requestedDelta": 0,
            "deltaUnit": "percentage points",
            "clamped": false
          }
        ],
        "initialMetrics": {
          "purchasePrice": 650000,
          "downPayment": 227500,
          "loanAmount": 422500,
          "ltvPct": 65,
          "closingCosts": 19500,
          "monthlyPayment": 2670.487399257772,
          "debtService": 32045.84879109326,
          "reserveFunding": 26656.62439554663,
          "requiredCash": 273656.6243955466,
          "dscr": 1.279810070482481,
          "dscrStatus": "ratio",
          "scheduledRent": 62400,
          "collectedRent": 59280,
          "management": 4742.400000000001,
          "propertyTax": 8125,
          "insurance": 2400,
          "repairs": 3000,
          "capex": 3000,
          "operatingExpenses": 18267.4,
          "noi": 41012.6,
          "grossYieldPct": 9.6,
          "effectiveGrossYieldPct": 9.120000000000001,
          "netYieldPct": 6.1258551157580285,
          "capRatePct": 6.309630769230769,
          "grossYieldDenominator": 650000,
          "netYieldDenominator": 669500,
          "capRateDenominator": 650000,
          "cashOnCashDenominator": 273656.6243955466,
          "cashflow": 5966.751208906739,
          "cashOnCashPct": 2.1803788678918745
        },
        "years": [
          {
            "year": 1,
            "contribution": 30000,
            "liquidCashBeforeContribution": 250000,
            "contributionToShortfall": 0,
            "incomeToShortfall": 0,
            "acquisitionEligibility": {
              "eligible": true,
              "acquired": true,
              "reasons": [],
              "reasonCodes": [],
              "cashAvailable": 280000,
              "cashGap": 0,
              "remainingUnfundedShortfall": 0,
              "purchasePrice": 650000,
              "downPayment": 227500,
              "loanAmount": 422500,
              "ltvPct": 65,
              "closingCosts": 19500,
              "monthlyPayment": 2670.487399257772,
              "debtService": 32045.84879109326,
              "reserveFunding": 26656.62439554663,
              "requiredCash": 273656.6243955466,
              "dscr": 1.279810070482481,
              "dscrStatus": "ratio",
              "scheduledRent": 62400,
              "collectedRent": 59280,
              "management": 4742.400000000001,
              "propertyTax": 8125,
              "insurance": 2400,
              "repairs": 3000,
              "capex": 3000,
              "operatingExpenses": 18267.4,
              "noi": 41012.6,
              "grossYieldPct": 9.6,
              "effectiveGrossYieldPct": 9.120000000000001,
              "netYieldPct": 6.1258551157580285,
              "capRatePct": 6.309630769230769,
              "grossYieldDenominator": 650000,
              "netYieldDenominator": 669500,
              "capRateDenominator": 650000,
              "cashOnCashDenominator": 273656.6243955466,
              "cashflow": 5966.751208906739,
              "cashOnCashPct": 2.1803788678918745,
              "minDscr": 1.25
            },
            "acquiredCount": 1,
            "propertyCount": 1,
            "properties": [
              {
                "id": 1,
                "acquiredYear": 1,
                "purchasePrice": 650000,
                "originalLoanAmount": 422500,
                "debtBalance": 417777.6098936441,
                "monthlyPayment": 2670.487399257772,
                "paymentsMade": 12,
                "reserve": 26656.62439554663,
                "initialReserve": 26656.62439554663,
                "value": 669500
              }
            ],
            "scheduledRent": 62400,
            "collectedRent": 59280,
            "operatingExpenses": 18267.4,
            "noi": 41012.6,
            "capex": 3000,
            "debtService": 32045.848791093256,
            "principalPaid": 4722.390106355934,
            "interestPaid": 27323.458684737325,
            "cashflow": 5966.751208906742,
            "cashDraw": 0,
            "reserveDraw": 0,
            "newShortfall": 0,
            "liquidCash": 12310.126813360119,
            "reserves": 26656.62439554663,
            "unfundedShortfall": 0,
            "propertyValue": 669500,
            "debtBalance": 417777.6098936441,
            "assetEquity": 251722.3901063559,
            "equity": 290689.14131526265,
            "dscr": 1.2798100704824813,
            "dscrStatus": "ratio",
            "grossYieldPct": 9.6,
            "netYieldPct": 6.1258551157580285,
            "capRatePct": 6.309630769230769,
            "grossYieldDenominator": 650000,
            "netYieldDenominator": 669500,
            "capRateDenominator": 650000,
            "cashOnCashDenominator": 273656.6243955466,
            "cashOnCashPct": 2.180378867891876,
            "reserveCoverageMonths": 6.000000000000001,
            "cumulativeContributions": 30000,
            "cumulativeAcquisitionCash": 273656.6243955466,
            "cumulativeClosingCosts": 19500,
            "cumulativeCashflow": 5966.751208906742
          },
          {
            "year": 2,
            "contribution": 30000,
            "liquidCashBeforeContribution": 12310.126813360119,
            "contributionToShortfall": 0,
            "incomeToShortfall": 0,
            "acquisitionEligibility": {
              "eligible": false,
              "acquired": false,
              "reasons": [
                "Cash does not cover down payment, closing costs, and the initial liquidity reserve."
              ],
              "reasonCodes": [
                "insufficient-cash"
              ],
              "cashAvailable": 42310.12681336012,
              "cashGap": 239556.19631405288,
              "remainingUnfundedShortfall": 0,
              "purchasePrice": 669500,
              "downPayment": 234324.99999999997,
              "loanAmount": 435175,
              "ltvPct": 65,
              "closingCosts": 20085,
              "monthlyPayment": 2750.602021235505,
              "debtService": 33007.22425482606,
              "reserveFunding": 27456.32312741303,
              "requiredCash": 281866.323127413,
              "dscr": 1.2798100704824809,
              "dscrStatus": "ratio",
              "scheduledRent": 64272,
              "collectedRent": 61058.399999999994,
              "management": 4884.672,
              "propertyTax": 8368.75,
              "insurance": 2472,
              "repairs": 3090,
              "capex": 3090,
              "operatingExpenses": 18815.422,
              "noi": 42242.977999999996,
              "grossYieldPct": 9.6,
              "effectiveGrossYieldPct": 9.12,
              "netYieldPct": 6.125855115758028,
              "capRatePct": 6.309630769230769,
              "grossYieldDenominator": 669500,
              "netYieldDenominator": 689585,
              "capRateDenominator": 669500,
              "cashOnCashDenominator": 281866.323127413,
              "cashflow": 6145.753745173934,
              "cashOnCashPct": 2.1803788678918723,
              "minDscr": 1.25
            },
            "acquiredCount": 0,
            "propertyCount": 1,
            "properties": [
              {
                "id": 1,
                "acquiredYear": 1,
                "purchasePrice": 650000,
                "originalLoanAmount": 422500,
                "debtBalance": 412738.95257598703,
                "monthlyPayment": 2670.487399257772,
                "paymentsMade": 24,
                "reserve": 26656.62439554663,
                "initialReserve": 26656.62439554663,
                "value": 689585
              }
            ],
            "scheduledRent": 64272,
            "collectedRent": 61058.399999999994,
            "operatingExpenses": 18815.422,
            "noi": 42242.977999999996,
            "capex": 3090,
            "debtService": 32045.848791093256,
            "principalPaid": 5038.657317657084,
            "interestPaid": 27007.191473436178,
            "cashflow": 7107.129208906739,
            "cashDraw": 0,
            "reserveDraw": 0,
            "newShortfall": 0,
            "liquidCash": 49417.25602226685,
            "reserves": 26656.62439554663,
            "unfundedShortfall": 0,
            "propertyValue": 689585,
            "debtBalance": 412738.95257598703,
            "assetEquity": 276846.04742401297,
            "equity": 352919.9278418264,
            "dscr": 1.3182043725969557,
            "dscrStatus": "ratio",
            "grossYieldPct": 9.888,
            "netYieldPct": 6.309630769230769,
            "capRatePct": 6.498919692307692,
            "grossYieldDenominator": 650000,
            "netYieldDenominator": 669500,
            "capRateDenominator": 650000,
            "cashOnCashDenominator": 273656.6243955466,
            "cashOnCashPct": 2.5970974481633626,
            "reserveCoverageMonths": 5.929044637061043,
            "cumulativeContributions": 60000,
            "cumulativeAcquisitionCash": 273656.6243955466,
            "cumulativeClosingCosts": 19500,
            "cumulativeCashflow": 13073.880417813481
          },
          {
            "year": 3,
            "contribution": 30000,
            "liquidCashBeforeContribution": 49417.25602226685,
            "contributionToShortfall": 0,
            "incomeToShortfall": 0,
            "acquisitionEligibility": {
              "eligible": false,
              "acquired": false,
              "reasons": [
                "Cash does not cover down payment, closing costs, and the initial liquidity reserve."
              ],
              "reasonCodes": [
                "insufficient-cash"
              ],
              "cashAvailable": 79417.25602226684,
              "cashGap": 210905.05679896855,
              "remainingUnfundedShortfall": 0,
              "purchasePrice": 689585,
              "downPayment": 241354.74999999997,
              "loanAmount": 448230.25,
              "ltvPct": 65,
              "closingCosts": 20687.55,
              "monthlyPayment": 2833.12008187257,
              "debtService": 33997.44098247084,
              "reserveFunding": 28280.012821235418,
              "requiredCash": 290322.3128212354,
              "dscr": 1.2798100704824813,
              "dscrStatus": "ratio",
              "scheduledRent": 66200.16,
              "collectedRent": 62890.152,
              "management": 5031.21216,
              "propertyTax": 8619.8125,
              "insurance": 2546.16,
              "repairs": 3182.7,
              "capex": 3182.7,
              "operatingExpenses": 19379.88466,
              "noi": 43510.267340000006,
              "grossYieldPct": 9.6,
              "effectiveGrossYieldPct": 9.120000000000001,
              "netYieldPct": 6.125855115758029,
              "capRatePct": 6.30963076923077,
              "grossYieldDenominator": 689585,
              "netYieldDenominator": 710272.55,
              "capRateDenominator": 689585,
              "cashOnCashDenominator": 290322.3128212354,
              "cashflow": 6330.126357529167,
              "cashOnCashPct": 2.180378867891877,
              "minDscr": 1.25
            },
            "acquiredCount": 0,
            "propertyCount": 1,
            "properties": [
              {
                "id": 1,
                "acquiredYear": 1,
                "purchasePrice": 650000,
                "originalLoanAmount": 422500,
                "debtBalance": 407362.8470461603,
                "monthlyPayment": 2670.487399257772,
                "paymentsMade": 36,
                "reserve": 26656.62439554663,
                "initialReserve": 26656.62439554663,
                "value": 710272.55
              }
            ],
            "scheduledRent": 66200.16,
            "collectedRent": 62890.152,
            "operatingExpenses": 19379.88466,
            "noi": 43510.267340000006,
            "capex": 3182.7,
            "debtService": 32045.848791093256,
            "principalPaid": 5376.105529826746,
            "interestPaid": 26669.743261266514,
            "cashflow": 8281.718548906752,
            "cashDraw": 0,
            "reserveDraw": 0,
            "newShortfall": 0,
            "liquidCash": 87698.97457117352,
            "reserves": 26656.62439554663,
            "unfundedShortfall": 0,
            "propertyValue": 710272.55,
            "debtBalance": 407362.8470461603,
            "assetEquity": 302909.70295383973,
            "equity": 417265.3019205599,
            "dscr": 1.3577505037748647,
            "dscrStatus": "ratio",
            "grossYieldPct": 10.18464,
            "netYieldPct": 6.498919692307694,
            "capRatePct": 6.693887283076924,
            "grossYieldDenominator": 650000,
            "netYieldDenominator": 669500,
            "capRateDenominator": 650000,
            "cashOnCashDenominator": 273656.6243955466,
            "cashOnCashPct": 3.026317585843,
            "reserveCoverageMonths": 5.857693995800855,
            "cumulativeContributions": 90000,
            "cumulativeAcquisitionCash": 273656.6243955466,
            "cumulativeClosingCosts": 19500,
            "cumulativeCashflow": 21355.598966720234
          },
          {
            "year": 4,
            "contribution": 30000,
            "liquidCashBeforeContribution": 87698.97457117352,
            "contributionToShortfall": 0,
            "incomeToShortfall": 0,
            "acquisitionEligibility": {
              "eligible": false,
              "acquired": false,
              "reasons": [
                "Cash does not cover down payment, closing costs, and the initial liquidity reserve."
              ],
              "reasonCodes": [
                "insufficient-cash"
              ],
              "cashAvailable": 117698.97457117352,
              "cashGap": 181333.00763469897,
              "remainingUnfundedShortfall": 0,
              "purchasePrice": 710272.55,
              "downPayment": 248595.3925,
              "loanAmount": 461677.1575000001,
              "ltvPct": 65,
              "closingCosts": 21308.1765,
              "monthlyPayment": 2918.113684328748,
              "debtService": 35017.36421194498,
              "reserveFunding": 29128.41320587249,
              "requiredCash": 299031.9822058725,
              "dscr": 1.2798100704824804,
              "dscrStatus": "ratio",
              "scheduledRent": 68186.1648,
              "collectedRent": 64776.85655999999,
              "management": 5182.1485248,
              "propertyTax": 8878.406875,
              "insurance": 2622.5448,
              "repairs": 3278.181,
              "capex": 3278.181,
              "operatingExpenses": 19961.2811998,
              "noi": 44815.57536019999,
              "grossYieldPct": 9.6,
              "effectiveGrossYieldPct": 9.12,
              "netYieldPct": 6.125855115758026,
              "capRatePct": 6.309630769230767,
              "grossYieldDenominator": 710272.55,
              "netYieldDenominator": 731580.7265000001,
              "capRateDenominator": 710272.55,
              "cashOnCashDenominator": 299031.9822058725,
              "cashflow": 6520.030148255013,
              "cashOnCashPct": 2.1803788678918674,
              "minDscr": 1.25
            },
            "acquiredCount": 0,
            "propertyCount": 1,
            "properties": [
              {
                "id": 1,
                "acquiredYear": 1,
                "purchasePrice": 650000,
                "originalLoanAmount": 422500,
                "debtBalance": 401626.6937724399,
                "monthlyPayment": 2670.487399257772,
                "paymentsMade": 48,
                "reserve": 26656.62439554663,
                "initialReserve": 26656.62439554663,
                "value": 731580.7265000001
              }
            ],
            "scheduledRent": 68186.1648,
            "collectedRent": 64776.85655999999,
            "operatingExpenses": 19961.2811998,
            "noi": 44815.57536019999,
            "capex": 3278.181,
            "debtService": 32045.848791093256,
            "principalPaid": 5736.1532737203615,
            "interestPaid": 26309.6955173729,
            "cashflow": 9491.545569106736,
            "cashDraw": 0,
            "reserveDraw": 0,
            "newShortfall": 0,
            "liquidCash": 127190.52014028028,
            "reserves": 26656.62439554663,
            "unfundedShortfall": 0,
            "propertyValue": 731580.7265000001,
            "debtBalance": 401626.6937724399,
            "assetEquity": 329954.0327275602,
            "equity": 483801.1772633871,
            "dscr": 1.39848301888811,
            "dscrStatus": "ratio",
            "grossYieldPct": 10.4901792,
            "netYieldPct": 6.693887283076921,
            "capRatePct": 6.89470390156923,
            "grossYieldDenominator": 650000,
            "netYieldDenominator": 669500,
            "capRateDenominator": 650000,
            "cashOnCashDenominator": 273656.6243955466,
            "cashOnCashPct": 3.4684143276530155,
            "reserveCoverageMonths": 5.785976184510402,
            "cumulativeContributions": 120000,
            "cumulativeAcquisitionCash": 273656.6243955466,
            "cumulativeClosingCosts": 19500,
            "cumulativeCashflow": 30847.14453582697
          },
          {
            "year": 5,
            "contribution": 30000,
            "liquidCashBeforeContribution": 127190.52014028028,
            "contributionToShortfall": 0,
            "incomeToShortfall": 0,
            "acquisitionEligibility": {
              "eligible": false,
              "acquired": false,
              "reasons": [
                "Cash does not cover down payment, closing costs, and the initial liquidity reserve."
              ],
              "reasonCodes": [
                "insufficient-cash"
              ],
              "cashAvailable": 157190.52014028028,
              "cashGap": 150812.42153176843,
              "remainingUnfundedShortfall": 0,
              "purchasePrice": 731580.7265000001,
              "downPayment": 256053.254275,
              "loanAmount": 475527.4722250001,
              "ltvPct": 65,
              "closingCosts": 21947.421795000002,
              "monthlyPayment": 3005.6570948586104,
              "debtService": 36067.885138303325,
              "reserveFunding": 30002.265602048665,
              "requiredCash": 308002.9416720487,
              "dscr": 1.279810070482481,
              "dscrStatus": "ratio",
              "scheduledRent": 70231.74974400002,
              "collectedRent": 66720.16225680002,
              "management": 5337.612980544001,
              "propertyTax": 9144.75908125,
              "insurance": 2701.2211440000005,
              "repairs": 3376.5264300000003,
              "capex": 3376.5264300000003,
              "operatingExpenses": 20560.119635794003,
              "noi": 46160.04262100601,
              "grossYieldPct": 9.6,
              "effectiveGrossYieldPct": 9.120000000000001,
              "netYieldPct": 6.125855115758029,
              "capRatePct": 6.30963076923077,
              "grossYieldDenominator": 731580.7265000001,
              "netYieldDenominator": 753528.1482950001,
              "capRateDenominator": 731580.7265000001,
              "cashOnCashDenominator": 308002.9416720487,
              "cashflow": 6715.631052702687,
              "cashOnCashPct": 2.180378867891875,
              "minDscr": 1.25
            },
            "acquiredCount": 0,
            "propertyCount": 1,
            "properties": [
              {
                "id": 1,
                "acquiredYear": 1,
                "purchasePrice": 650000,
                "originalLoanAmount": 422500,
                "debtBalance": 395506.379690608,
                "monthlyPayment": 2670.487399257772,
                "paymentsMade": 60,
                "reserve": 26656.62439554663,
                "initialReserve": 26656.62439554663,
                "value": 753528.1482950001
              }
            ],
            "scheduledRent": 70231.74974400002,
            "collectedRent": 66720.16225680002,
            "operatingExpenses": 20560.119635794003,
            "noi": 46160.04262100601,
            "capex": 3376.5264300000003,
            "debtService": 32045.848791093256,
            "principalPaid": 6120.314081831868,
            "interestPaid": 25925.534709261396,
            "cashflow": 10737.667399912756,
            "cashDraw": 0,
            "reserveDraw": 0,
            "newShortfall": 0,
            "liquidCash": 167928.18754019312,
            "reserves": 26656.62439554663,
            "unfundedShortfall": 0,
            "propertyValue": 753528.1482950001,
            "debtBalance": 395506.379690608,
            "assetEquity": 358021.76860439207,
            "equity": 552606.5805401318,
            "dscr": 1.4404375094547541,
            "dscrStatus": "ratio",
            "grossYieldPct": 10.804884576000003,
            "netYieldPct": 6.894703901569232,
            "capRatePct": 7.101545018616309,
            "grossYieldDenominator": 650000,
            "netYieldDenominator": 669500,
            "capRateDenominator": 650000,
            "cashOnCashDenominator": 273656.6243955466,
            "cashOnCashPct": 3.9237739717173445,
            "reserveCoverageMonths": 5.71391992379572,
            "cumulativeContributions": 150000,
            "cumulativeAcquisitionCash": 273656.6243955466,
            "cumulativeClosingCosts": 19500,
            "cumulativeCashflow": 41584.81193573972
          }
        ],
        "final": {
          "propertyCount": 1,
          "liquidCash": 167928.18754019312,
          "reserves": 26656.62439554663,
          "propertyValue": 753528.1482950001,
          "debtBalance": 395506.379690608,
          "unfundedShortfall": 0,
          "equity": 552606.5805401318,
          "grossSaleValue": 753528.1482950001,
          "sellingCosts": 45211.688897700005,
          "netPropertySaleProceeds": 312810.079706692,
          "netLiquidation": 507394.8916424317,
          "totalContributed": 400000,
          "gainAfterIllustrativeSaleCosts": 107394.89164243173,
          "taxesExcluded": true
        },
        "methodology": [
          "All currency is hypothetical USD. Defaults are invented modeling examples, not local comparable rents, prices, financial commitments, or lending offers.",
          "The model runs five years. A contribution arrives at the start of every year, including year 1; it first repays any prior unfunded cash deficit.",
          "At most one identical prototype property is acquired at each year start. Available cash must cover down payment, closing costs, and a separate liquidity reserve; acquisition NOI must be nonnegative and DSCR must meet the chosen threshold when there is debt.",
          "Future acquisition prices follow annual appreciation. Rents and expenses follow calendar-year growth for every property, including later acquisitions; first-year inputs receive no growth.",
          "Scheduled rent = monthly rent × 12. Collected rent = scheduled rent × (1 − vacancy percentage). Management = collected rent × management percentage.",
          "NOI = collected rent − property tax − insurance − repairs − management. Debt service and capex are excluded from NOI. Cash flow = NOI − annual capex budget − actual scheduled annual debt service.",
          "Annual capex is conservatively treated as cash spent, rather than an accumulating reserve account. The separate acquisition liquidity reserve is funded at purchase, can cover cash deficits, and is not automatically replenished.",
          "Mortgage payments use a nominal annual rate divided by 12 and monthly amortization. Every scenario uses a fixed rate, with no refinance. Debt-free DSCR is returned as null, never Infinity.",
          "Monthly deficits draw liquid cash, then liquidity reserves; any remainder becomes an explicit unfunded shortfall. Later income or contributions pay that gap before rebuilding cash. Contractual debt amortization continues on schedule; actual default, arrears, foreclosure, and rescue financing are not simulated.",
          "Gross yield = scheduled annual rent ÷ purchase price. Net yield = NOI ÷ (purchase price + acquisition closing costs). Cap rate = NOI ÷ purchase price. Initial works are not modeled. Initial cash-on-cash = annual cash flow after capex and debt ÷ down payment, closing costs, and initial reserves combined.",
          "Portfolio annual gross yield and cap rate use total purchase prices as denominator; net yield includes cumulative acquisition closing costs in that denominator. Annual cash-on-cash uses cumulative acquisition cash committed. Explicit denominator amounts are returned with the metrics. Equity = liquid cash + remaining reserves + estimated property value − debt − unfunded shortfall.",
          "Final illustrative liquidation = liquid cash + remaining reserves + estimated sale value − selling costs − remaining debt − unfunded shortfall. Income taxes, depreciation, recapture, capital-gains taxes, transfer-specific taxes, FX, and legal ownership constraints are excluded.",
          "Adverse, base, and upside deltas are explicit sensitivity assumptions, not forecasts or probabilities. Scenario adjustments clamp to input bounds and report when clamped."
        ]
      },
      {
        "modelVersion": "1.0",
        "horizonYears": 5,
        "currency": "USD",
        "illustrative": true,
        "inputs": {
          "capital": 250000,
          "annualContribution": 30000,
          "purchasePrice": 650000,
          "downPaymentPct": 35,
          "interestRate": 6.5,
          "loanYears": 30,
          "monthlyRent": 5200,
          "vacancyPct": 5,
          "propertyTax": 8125,
          "insurance": 2400,
          "repairs": 3000,
          "managementPct": 8,
          "capexReserveAnnual": 3000,
          "closingCostPct": 3,
          "reserveMonths": 6,
          "rentGrowthPct": 3,
          "appreciationPct": 3,
          "expenseGrowthPct": 3,
          "sellingCostPct": 6,
          "minDscr": 1.25
        },
        "effectiveInputs": {
          "capital": 250000,
          "annualContribution": 30000,
          "purchasePrice": 650000,
          "downPaymentPct": 35,
          "interestRate": 5.5,
          "loanYears": 30,
          "monthlyRent": 5460,
          "vacancyPct": 3,
          "propertyTax": 8125,
          "insurance": 2400,
          "repairs": 3000,
          "managementPct": 8,
          "capexReserveAnnual": 3000,
          "closingCostPct": 3,
          "reserveMonths": 6,
          "rentGrowthPct": 4,
          "appreciationPct": 5,
          "expenseGrowthPct": 2,
          "sellingCostPct": 6,
          "minDscr": 1.25
        },
        "scenario": {
          "id": "upside",
          "label": "Upside",
          "description": "Higher starting rent, less vacancy, cheaper debt, and faster growth.",
          "deltas": {
            "monthlyRentPct": 5,
            "vacancyPct": -2,
            "interestRate": -1,
            "rentGrowthPct": 1,
            "appreciationPct": 2,
            "expenseGrowthPct": -1
          }
        },
        "appliedAdjustments": [
          {
            "field": "monthlyRent",
            "before": 5200,
            "after": 5460,
            "requestedDelta": 5,
            "deltaUnit": "% of input",
            "clamped": false
          },
          {
            "field": "vacancyPct",
            "before": 5,
            "after": 3,
            "requestedDelta": -2,
            "deltaUnit": "percentage points",
            "clamped": false
          },
          {
            "field": "interestRate",
            "before": 6.5,
            "after": 5.5,
            "requestedDelta": -1,
            "deltaUnit": "percentage points",
            "clamped": false
          },
          {
            "field": "rentGrowthPct",
            "before": 3,
            "after": 4,
            "requestedDelta": 1,
            "deltaUnit": "percentage points",
            "clamped": false
          },
          {
            "field": "appreciationPct",
            "before": 3,
            "after": 5,
            "requestedDelta": 2,
            "deltaUnit": "percentage points",
            "clamped": false
          },
          {
            "field": "expenseGrowthPct",
            "before": 3,
            "after": 2,
            "requestedDelta": -1,
            "deltaUnit": "percentage points",
            "clamped": false
          }
        ],
        "initialMetrics": {
          "purchasePrice": 650000,
          "downPayment": 227500,
          "loanAmount": 422500,
          "ltvPct": 65,
          "closingCosts": 19500,
          "monthlyPayment": 2398.9085306910874,
          "debtService": 28786.90236829305,
          "reserveFunding": 25198.12718414652,
          "requiredCash": 272198.12718414655,
          "dscr": 1.5613019916135238,
          "dscrStatus": "ratio",
          "scheduledRent": 65520,
          "collectedRent": 63554.4,
          "management": 5084.352,
          "propertyTax": 8125,
          "insurance": 2400,
          "repairs": 3000,
          "capex": 3000,
          "operatingExpenses": 18609.352,
          "noi": 44945.048,
          "grossYieldPct": 10.08,
          "effectiveGrossYieldPct": 9.7776,
          "netYieldPct": 6.713225989544437,
          "capRatePct": 6.91462276923077,
          "grossYieldDenominator": 650000,
          "netYieldDenominator": 669500,
          "capRateDenominator": 650000,
          "cashOnCashDenominator": 272198.12718414655,
          "cashflow": 13158.145631706953,
          "cashOnCashPct": 4.834032389504741
        },
        "years": [
          {
            "year": 1,
            "contribution": 30000,
            "liquidCashBeforeContribution": 250000,
            "contributionToShortfall": 0,
            "incomeToShortfall": 0,
            "acquisitionEligibility": {
              "eligible": true,
              "acquired": true,
              "reasons": [],
              "reasonCodes": [],
              "cashAvailable": 280000,
              "cashGap": 0,
              "remainingUnfundedShortfall": 0,
              "purchasePrice": 650000,
              "downPayment": 227500,
              "loanAmount": 422500,
              "ltvPct": 65,
              "closingCosts": 19500,
              "monthlyPayment": 2398.9085306910874,
              "debtService": 28786.90236829305,
              "reserveFunding": 25198.12718414652,
              "requiredCash": 272198.12718414655,
              "dscr": 1.5613019916135238,
              "dscrStatus": "ratio",
              "scheduledRent": 65520,
              "collectedRent": 63554.4,
              "management": 5084.352,
              "propertyTax": 8125,
              "insurance": 2400,
              "repairs": 3000,
              "capex": 3000,
              "operatingExpenses": 18609.352,
              "noi": 44945.048,
              "grossYieldPct": 10.08,
              "effectiveGrossYieldPct": 9.7776,
              "netYieldPct": 6.713225989544437,
              "capRatePct": 6.91462276923077,
              "grossYieldDenominator": 650000,
              "netYieldDenominator": 669500,
              "capRateDenominator": 650000,
              "cashOnCashDenominator": 272198.12718414655,
              "cashflow": 13158.145631706953,
              "cashOnCashPct": 4.834032389504741,
              "minDscr": 1.25
            },
            "acquiredCount": 1,
            "propertyCount": 1,
            "properties": [
              {
                "id": 1,
                "acquiredYear": 1,
                "purchasePrice": 650000,
                "originalLoanAmount": 422500,
                "debtBalance": 416808.54701793037,
                "monthlyPayment": 2398.9085306910874,
                "paymentsMade": 12,
                "reserve": 25198.12718414652,
                "initialReserve": 25198.12718414652,
                "value": 682500
              }
            ],
            "scheduledRent": 65520,
            "collectedRent": 63554.4,
            "operatingExpenses": 18609.352,
            "noi": 44945.048,
            "capex": 3000,
            "debtService": 28786.902368293042,
            "principalPaid": 5691.452982069699,
            "interestPaid": 23095.44938622335,
            "cashflow": 13158.14563170696,
            "cashDraw": 0,
            "reserveDraw": 0,
            "newShortfall": 0,
            "liquidCash": 20960.018447560404,
            "reserves": 25198.12718414652,
            "unfundedShortfall": 0,
            "propertyValue": 682500,
            "debtBalance": 416808.54701793037,
            "assetEquity": 265691.45298206963,
            "equity": 311849.59861377656,
            "dscr": 1.5613019916135242,
            "dscrStatus": "ratio",
            "grossYieldPct": 10.08,
            "netYieldPct": 6.713225989544437,
            "capRatePct": 6.91462276923077,
            "grossYieldDenominator": 650000,
            "netYieldDenominator": 669500,
            "capRateDenominator": 650000,
            "cashOnCashDenominator": 272198.12718414655,
            "cashOnCashPct": 4.834032389504744,
            "reserveCoverageMonths": 6,
            "cumulativeContributions": 30000,
            "cumulativeAcquisitionCash": 272198.12718414655,
            "cumulativeClosingCosts": 19500,
            "cumulativeCashflow": 13158.14563170696
          },
          {
            "year": 2,
            "contribution": 30000,
            "liquidCashBeforeContribution": 20960.018447560404,
            "contributionToShortfall": 0,
            "incomeToShortfall": 0,
            "acquisitionEligibility": {
              "eligible": false,
              "acquired": false,
              "reasons": [
                "Cash does not cover down payment, closing costs, and the initial liquidity reserve."
              ],
              "reasonCodes": [
                "insufficient-cash"
              ],
              "cashAvailable": 50960.018447560404,
              "cashGap": 234574.71833579344,
              "remainingUnfundedShortfall": 0,
              "purchasePrice": 682500,
              "downPayment": 238874.99999999997,
              "loanAmount": 443625,
              "ltvPct": 65,
              "closingCosts": 20475,
              "monthlyPayment": 2518.853957225642,
              "debtService": 30226.247486707704,
              "reserveFunding": 26184.736783353852,
              "requiredCash": 285534.73678335384,
              "dscr": 1.5553816245524554,
              "dscrStatus": "ratio",
              "scheduledRent": 68140.8,
              "collectedRent": 66096.576,
              "management": 5287.72608,
              "propertyTax": 8287.5,
              "insurance": 2448,
              "repairs": 3060,
              "capex": 3060,
              "operatingExpenses": 19083.22608,
              "noi": 47013.34992,
              "grossYieldPct": 9.984,
              "effectiveGrossYieldPct": 9.684479999999999,
              "netYieldPct": 6.687769823962446,
              "capRatePct": 6.888402918681319,
              "grossYieldDenominator": 682500,
              "netYieldDenominator": 702975,
              "capRateDenominator": 682500,
              "cashOnCashDenominator": 285534.73678335384,
              "cashflow": 13727.102433292297,
              "cashOnCashPct": 4.807506991244844,
              "minDscr": 1.25
            },
            "acquiredCount": 0,
            "propertyCount": 1,
            "properties": [
              {
                "id": 1,
                "acquiredYear": 1,
                "purchasePrice": 650000,
                "originalLoanAmount": 422500,
                "debtBalance": 410796.0513506572,
                "monthlyPayment": 2398.9085306910874,
                "paymentsMade": 24,
                "reserve": 25198.12718414652,
                "initialReserve": 25198.12718414652,
                "value": 716625
              }
            ],
            "scheduledRent": 68140.8,
            "collectedRent": 66096.576,
            "operatingExpenses": 19083.22608,
            "noi": 47013.34992,
            "capex": 3060,
            "debtService": 28786.902368293042,
            "principalPaid": 6012.495667273124,
            "interestPaid": 22774.40670101992,
            "cashflow": 15166.447551706959,
            "cashDraw": 0,
            "reserveDraw": 0,
            "newShortfall": 0,
            "liquidCash": 66126.46599926736,
            "reserves": 25198.12718414652,
            "unfundedShortfall": 0,
            "propertyValue": 716625,
            "debtBalance": 410796.0513506572,
            "assetEquity": 305828.9486493428,
            "equity": 397153.54183275666,
            "dscr": 1.6331507057800787,
            "dscrStatus": "ratio",
            "grossYieldPct": 10.4832,
            "netYieldPct": 7.022158315160568,
            "capRatePct": 7.232823064615385,
            "grossYieldDenominator": 650000,
            "netYieldDenominator": 669500,
            "capRateDenominator": 650000,
            "cashOnCashDenominator": 272198.12718414655,
            "cashOnCashPct": 5.571841257176103,
            "reserveCoverageMonths": 5.937105116802285,
            "cumulativeContributions": 60000,
            "cumulativeAcquisitionCash": 272198.12718414655,
            "cumulativeClosingCosts": 19500,
            "cumulativeCashflow": 28324.59318341392
          },
          {
            "year": 3,
            "contribution": 30000,
            "liquidCashBeforeContribution": 66126.46599926736,
            "contributionToShortfall": 0,
            "incomeToShortfall": 0,
            "acquisitionEligibility": {
              "eligible": false,
              "acquired": false,
              "reasons": [
                "Cash does not cover down payment, closing costs, and the initial liquidity reserve."
              ],
              "reasonCodes": [
                "insufficient-cash"
              ],
              "cashAvailable": 96126.46599926736,
              "cashGap": 203405.7364928542,
              "remainingUnfundedShortfall": 0,
              "purchasePrice": 716625,
              "downPayment": 250818.74999999997,
              "loanAmount": 465806.25,
              "ltvPct": 65,
              "closingCosts": 21498.75,
              "monthlyPayment": 2644.7966550869237,
              "debtService": 31737.559861043082,
              "reserveFunding": 27214.70249212154,
              "requiredCash": 299532.20249212155,
              "dscr": 1.5492619512048396,
              "dscrStatus": "ratio",
              "scheduledRent": 70866.432,
              "collectedRent": 68740.43904,
              "management": 5499.2351232,
              "propertyTax": 8453.25,
              "insurance": 2496.96,
              "repairs": 3121.2,
              "capex": 3121.2,
              "operatingExpenses": 19570.6451232,
              "noi": 49169.7939168,
              "grossYieldPct": 9.888914285714286,
              "effectiveGrossYieldPct": 9.592246857142857,
              "netYieldPct": 6.6614566889088715,
              "capRatePct": 6.861300389576138,
              "grossYieldDenominator": 716625,
              "netYieldDenominator": 738123.75,
              "capRateDenominator": 716625,
              "cashOnCashDenominator": 299532.20249212155,
              "cashflow": 14311.034055756922,
              "cashOnCashPct": 4.777794820285922,
              "minDscr": 1.25
            },
            "acquiredCount": 0,
            "propertyCount": 1,
            "properties": [
              {
                "id": 1,
                "acquiredYear": 1,
                "purchasePrice": 650000,
                "originalLoanAmount": 422500,
                "debtBalance": 404444.4036672159,
                "monthlyPayment": 2398.9085306910874,
                "paymentsMade": 36,
                "reserve": 25198.12718414652,
                "initialReserve": 25198.12718414652,
                "value": 752456.2500000001
              }
            ],
            "scheduledRent": 70866.432,
            "collectedRent": 68740.43904,
            "operatingExpenses": 19570.6451232,
            "noi": 49169.7939168,
            "capex": 3121.2,
            "debtService": 28786.902368293042,
            "principalPaid": 6351.647683441303,
            "interestPaid": 22435.254684851745,
            "cashflow": 17261.691548506962,
            "cashDraw": 0,
            "reserveDraw": 0,
            "newShortfall": 0,
            "liquidCash": 113388.15754777438,
            "reserves": 25198.12718414652,
            "unfundedShortfall": 0,
            "propertyValue": 752456.2500000001,
            "debtBalance": 404444.4036672159,
            "assetEquity": 348011.8463327842,
            "equity": 486598.13106470514,
            "dscr": 1.7080613012033357,
            "dscrStatus": "ratio",
            "grossYieldPct": 10.902528,
            "netYieldPct": 7.344255999522032,
            "capRatePct": 7.564583679507693,
            "grossYieldDenominator": 650000,
            "netYieldDenominator": 669500,
            "capRateDenominator": 650000,
            "cashOnCashDenominator": 272198.12718414655,
            "cashOnCashPct": 6.3415908577611715,
            "reserveCoverageMonths": 5.87383223066425,
            "cumulativeContributions": 90000,
            "cumulativeAcquisitionCash": 272198.12718414655,
            "cumulativeClosingCosts": 19500,
            "cumulativeCashflow": 45586.28473192088
          },
          {
            "year": 4,
            "contribution": 30000,
            "liquidCashBeforeContribution": 113388.15754777438,
            "contributionToShortfall": 0,
            "incomeToShortfall": 0,
            "acquisitionEligibility": {
              "eligible": false,
              "acquired": false,
              "reasons": [
                "Cash does not cover down payment, closing costs, and the initial liquidity reserve."
              ],
              "reasonCodes": [
                "insufficient-cash"
              ],
              "cashAvailable": 143388.15754777438,
              "cashGap": 170835.26974333724,
              "remainingUnfundedShortfall": 0,
              "purchasePrice": 752456.2500000001,
              "downPayment": 263359.6875,
              "loanAmount": 489096.5625000001,
              "ltvPct": 65,
              "closingCosts": 22573.687500000004,
              "monthlyPayment": 2777.0364878412706,
              "debtService": 33324.437854095246,
              "reserveFunding": 28290.05229111162,
              "requiredCash": 314223.4272911116,
              "dscr": 1.5429521751753488,
              "dscrStatus": "ratio",
              "scheduledRent": 73701.08928,
              "collectedRent": 71490.0566016,
              "management": 5719.204528128,
              "propertyTax": 8622.315,
              "insurance": 2546.8992000000003,
              "repairs": 3183.6240000000003,
              "capex": 3183.6240000000003,
              "operatingExpenses": 20072.042728128,
              "noi": 51418.013873471995,
              "grossYieldPct": 9.794734149659863,
              "effectiveGrossYieldPct": 9.500892125170065,
              "netYieldPct": 6.634326157687552,
              "capRatePct": 6.833355942418179,
              "grossYieldDenominator": 752456.2500000001,
              "netYieldDenominator": 775029.9375000001,
              "capRateDenominator": 752456.2500000001,
              "cashOnCashDenominator": 314223.4272911116,
              "cashflow": 14909.952019376746,
              "cashOnCashPct": 4.7450160377645725,
              "minDscr": 1.25
            },
            "acquiredCount": 0,
            "propertyCount": 1,
            "properties": [
              {
                "id": 1,
                "acquiredYear": 1,
                "purchasePrice": 650000,
                "originalLoanAmount": 422500,
                "debtBalance": 397734.47312802897,
                "monthlyPayment": 2398.9085306910874,
                "paymentsMade": 48,
                "reserve": 25198.12718414652,
                "initialReserve": 25198.12718414652,
                "value": 790079.0625000001
              }
            ],
            "scheduledRent": 73701.08928,
            "collectedRent": 71490.0566016,
            "operatingExpenses": 20072.042728128,
            "noi": 51418.013873471995,
            "capex": 3183.6240000000003,
            "debtService": 28786.902368293042,
            "principalPaid": 6709.930539186971,
            "interestPaid": 22076.97182910608,
            "cashflow": 19447.48750517895,
            "cashDraw": 0,
            "reserveDraw": 0,
            "newShortfall": 0,
            "liquidCash": 162835.6450529534,
            "reserves": 25198.12718414652,
            "unfundedShortfall": 0,
            "propertyValue": 790079.0625000001,
            "debtBalance": 397734.47312802897,
            "assetEquity": 392344.58937197115,
            "equity": 580378.361609071,
            "dscr": 1.786160011787364,
            "dscrStatus": "ratio",
            "grossYieldPct": 11.33862912,
            "netYieldPct": 7.680061818293053,
            "capRatePct": 7.910463672841845,
            "grossYieldDenominator": 650000,
            "netYieldDenominator": 669500,
            "capRateDenominator": 650000,
            "cashOnCashDenominator": 272198.12718414655,
            "cashOnCashPct": 7.144607388140625,
            "reserveCoverageMonths": 5.810195988778593,
            "cumulativeContributions": 120000,
            "cumulativeAcquisitionCash": 272198.12718414655,
            "cumulativeClosingCosts": 19500,
            "cumulativeCashflow": 65033.77223709983
          },
          {
            "year": 5,
            "contribution": 30000,
            "liquidCashBeforeContribution": 162835.6450529534,
            "contributionToShortfall": 0,
            "incomeToShortfall": 0,
            "acquisitionEligibility": {
              "eligible": false,
              "acquired": false,
              "reasons": [
                "Cash does not cover down payment, closing costs, and the initial liquidity reserve."
              ],
              "reasonCodes": [
                "insufficient-cash"
              ],
              "cashAvailable": 192835.6450529534,
              "cashGap": 136807.3106470732,
              "remainingUnfundedShortfall": 0,
              "purchasePrice": 790079.0625000001,
              "downPayment": 276527.671875,
              "loanAmount": 513551.3906250001,
              "ltvPct": 65,
              "closingCosts": 23702.371875000004,
              "monthlyPayment": 2915.888312233334,
              "debtService": 34990.65974680001,
              "reserveFunding": 29412.911950026566,
              "requiredCash": 329642.9557000266,
              "dscr": 1.5364612036881513,
              "dscrStatus": "ratio",
              "scheduledRent": 76649.13285120002,
              "collectedRent": 74349.65886566401,
              "management": 5947.972709253121,
              "propertyTax": 8794.7613,
              "insurance": 2597.837184,
              "repairs": 3247.29648,
              "capex": 3247.29648,
              "operatingExpenses": 20587.86767325312,
              "noi": 53761.79119241089,
              "grossYieldPct": 9.701450967282153,
              "effectiveGrossYieldPct": 9.410407438263686,
              "netYieldPct": 6.606416529236869,
              "capRatePct": 6.804609025113975,
              "grossYieldDenominator": 790079.0625000001,
              "netYieldDenominator": 813781.4343750001,
              "capRateDenominator": 790079.0625000001,
              "cashOnCashDenominator": 329642.9557000266,
              "cashflow": 15523.834965610884,
              "cashOnCashPct": 4.70928763899857,
              "minDscr": 1.25
            },
            "acquiredCount": 0,
            "propertyCount": 1,
            "properties": [
              {
                "id": 1,
                "acquiredYear": 1,
                "purchasePrice": 650000,
                "originalLoanAmount": 422500,
                "debtBalance": 390646.04976379086,
                "monthlyPayment": 2398.9085306910874,
                "paymentsMade": 60,
                "reserve": 25198.12718414652,
                "initialReserve": 25198.12718414652,
                "value": 829583.0156250002
              }
            ],
            "scheduledRent": 76649.13285120002,
            "collectedRent": 74349.65886566401,
            "operatingExpenses": 20587.86767325312,
            "noi": 53761.79119241089,
            "capex": 3247.29648,
            "debtService": 28786.902368293042,
            "principalPaid": 7088.423364238065,
            "interestPaid": 21698.47900405498,
            "cashflow": 21727.592344117853,
            "cashDraw": 0,
            "reserveDraw": 0,
            "newShortfall": 0,
            "liquidCash": 214563.2373970711,
            "reserves": 25198.12718414652,
            "unfundedShortfall": 0,
            "propertyValue": 829583.0156250002,
            "debtBalance": 390646.04976379086,
            "assetEquity": 438936.9658612094,
            "equity": 678698.330442427,
            "dscr": 1.867578195965472,
            "dscrStatus": "ratio",
            "grossYieldPct": 11.792174284800003,
            "netYieldPct": 8.030140581390723,
            "capRatePct": 8.271044798832444,
            "grossYieldDenominator": 650000,
            "netYieldDenominator": 669500,
            "capRateDenominator": 650000,
            "cashOnCashDenominator": 272198.12718414655,
            "cashOnCashPct": 7.982271064421679,
            "reserveCoverageMonths": 5.746211545796086,
            "cumulativeContributions": 150000,
            "cumulativeAcquisitionCash": 272198.12718414655,
            "cumulativeClosingCosts": 19500,
            "cumulativeCashflow": 86761.36458121768
          }
        ],
        "final": {
          "propertyCount": 1,
          "liquidCash": 214563.2373970711,
          "reserves": 25198.12718414652,
          "propertyValue": 829583.0156250002,
          "debtBalance": 390646.04976379086,
          "unfundedShortfall": 0,
          "equity": 678698.330442427,
          "grossSaleValue": 829583.0156250002,
          "sellingCosts": 49774.98093750001,
          "netPropertySaleProceeds": 389161.98492370936,
          "netLiquidation": 628923.3495049269,
          "totalContributed": 400000,
          "gainAfterIllustrativeSaleCosts": 228923.34950492694,
          "taxesExcluded": true
        },
        "methodology": [
          "All currency is hypothetical USD. Defaults are invented modeling examples, not local comparable rents, prices, financial commitments, or lending offers.",
          "The model runs five years. A contribution arrives at the start of every year, including year 1; it first repays any prior unfunded cash deficit.",
          "At most one identical prototype property is acquired at each year start. Available cash must cover down payment, closing costs, and a separate liquidity reserve; acquisition NOI must be nonnegative and DSCR must meet the chosen threshold when there is debt.",
          "Future acquisition prices follow annual appreciation. Rents and expenses follow calendar-year growth for every property, including later acquisitions; first-year inputs receive no growth.",
          "Scheduled rent = monthly rent × 12. Collected rent = scheduled rent × (1 − vacancy percentage). Management = collected rent × management percentage.",
          "NOI = collected rent − property tax − insurance − repairs − management. Debt service and capex are excluded from NOI. Cash flow = NOI − annual capex budget − actual scheduled annual debt service.",
          "Annual capex is conservatively treated as cash spent, rather than an accumulating reserve account. The separate acquisition liquidity reserve is funded at purchase, can cover cash deficits, and is not automatically replenished.",
          "Mortgage payments use a nominal annual rate divided by 12 and monthly amortization. Every scenario uses a fixed rate, with no refinance. Debt-free DSCR is returned as null, never Infinity.",
          "Monthly deficits draw liquid cash, then liquidity reserves; any remainder becomes an explicit unfunded shortfall. Later income or contributions pay that gap before rebuilding cash. Contractual debt amortization continues on schedule; actual default, arrears, foreclosure, and rescue financing are not simulated.",
          "Gross yield = scheduled annual rent ÷ purchase price. Net yield = NOI ÷ (purchase price + acquisition closing costs). Cap rate = NOI ÷ purchase price. Initial works are not modeled. Initial cash-on-cash = annual cash flow after capex and debt ÷ down payment, closing costs, and initial reserves combined.",
          "Portfolio annual gross yield and cap rate use total purchase prices as denominator; net yield includes cumulative acquisition closing costs in that denominator. Annual cash-on-cash uses cumulative acquisition cash committed. Explicit denominator amounts are returned with the metrics. Equity = liquid cash + remaining reserves + estimated property value − debt − unfunded shortfall.",
          "Final illustrative liquidation = liquid cash + remaining reserves + estimated sale value − selling costs − remaining debt − unfunded shortfall. Income taxes, depreciation, recapture, capital-gains taxes, transfer-specific taxes, FX, and legal ownership constraints are excluded.",
          "Adverse, base, and upside deltas are explicit sensitivity assumptions, not forecasts or probabilities. Scenario adjustments clamp to input bounds and report when clamped."
        ]
      }
    ]
  },
  "endpoints": {
    "study": "/real-estate.json",
    "methodology": "/real-estate/methodology.json",
    "openapi": "/real-estate/openapi.json",
    "query": "/api/real-estate/query?q=&region=local&type=all",
    "scenario": "/api/real-estate/scenario?capital=250000",
    "feeds": "/api/real-estate/feed?source=fhfa",
    "mcp": "/api/mcp-v2",
    "mcpTools": [
      "real_estate_study",
      "real_estate_scenario",
      "real_estate_feed"
    ]
  },
  "limits": "18 representative local study anchors plus eight representative global markets. Qualitative educational research; not an exhaustive property inventory or recommendation."
}