Skip to main content

Financial Modeling Methodology

This document describes the calculation methodology, conventions, and assumptions used by the OneStopReal pro-forma platform. It is intended for lenders, investors, and other financial stakeholders who need to understand how the platform generates its projections.

Version 2.2 - October 2026

1. Model Overview

OneStopReal generates a monthly cash flow pro-forma covering the full project lifecycle: land acquisition → construction → stabilization → hold → exit. The model supports multi-building projects with independent construction timelines and produces monthly and annual cash flows, financial statements, return metrics and investor waterfalls.

The platform supports three project archetypes: ground-up development (new construction), existing building acquisition (with optional value-add renovation), and mixed portfolios combining both. Each building can contain residential, commercial, or hospitality unit types.

Inputs                         Calculation Engine                    Outputs
───────                        ──────────────────                    ───────
• Buildings & Units     ──►    • Monthly Cost Draws          ──►    • Monthly Cash Flow Schedule
• Acquisition Costs     ──►    • Revenue Timing              ──►    • Annual Cash Flow Summary
• Hard & Soft Costs     ──►    • Financing Simulation        ──►    • Profit & Loss Statement
• Renovation Budgets    ──►    • Exit Calculation            ──►    • Balance Sheet
• Operating Expenses    ──►    • Waterfall Distribution      ──►    • Sources & Uses
• Financing Terms       ──►    • Financial Statements        ──►    • IRR / Equity Multiple
• Exit Strategy         ──►    • DCF Analysis                ──►    • DSCR / Yield on Cost
• Waterfall Structure   ──►    • Scenario Analysis           ──►    • Sensitivity Tables
                                                                    • DCF Valuation
                                                                    • Price for Target Return

2. Development Cost Modeling

2.1 Cost Categories

CategoryBasis OptionsIndexation
Acquisition CostsFixed amount, % of purchase priceNot indexed
Hard Costs (construction)Fixed amount, per gross sq.mAnnual construction indexation
Soft Costs (professional fees, permits)Fixed, per sq.m, % of hard costs, % of purchase price, monthly fixedAnnual construction indexation
Renovation Costs (value-add)Per unit × budget per unit, linear over reno durationNot indexed

All cost categories support unlimited dynamic line items - users can add as many individual cost entries as needed within each category, each with its own basis, timing, distribution curve, and steepness.

2.2 Cost Distribution Curves

Costs are distributed over time using one of four configurable curves, each with three steepness levels (mild, standard, sharp):

CurveDistribution PatternTypical Use Case
LinearUniform across all monthsGeneral-purpose default
BellConcentrated in the middle of the periodConstruction labor intensity
Front-LoadedHigher spend at the start, tapering offMaterials procurement, mobilization
Back-LoadedLower spend initially, increasing toward the endFinishes, fit-out, landscaping

All curves produce weights that sum exactly to 1.0, ensuring total cost integrity.

2.3 Construction Indexation

Costs are indexed annually using compound growth:

Indexed Cost = Base Cost × (1 + Annual Indexation Rate)^(Years Elapsed)

Years elapsed is calculated as floor((month - 1) / 12), meaning indexation steps up at the beginning of each 12-month period. Acquisition costs are not subject to construction indexation.

2.4 Construction Contingency

Each building supports a configurable contingency percentage applied proportionally to hard cost draws:

Monthly Contingency = Hard Cost Draw(month) × Contingency%
Total Contingency = Σ Monthly Contingency (over construction period)

Contingency is distributed in proportion to the hard cost draw curve, ensuring it follows the same timing pattern as physical construction expenditure.

2.5 Acquisition Cost Allocation

For multi-building projects, acquisition costs can be allocated by percentage across buildings. If no allocation is specified, 100% is assigned to the first building by default. This affects per-building cost metrics and capitalization.

3. Revenue Modeling

3.1 Pre-Sales (During Construction)

Pre-sale units are distributed across the construction timeline using the selected distribution curve. For each pre-sale tranche:

  • Deposit is collected at the point of sale: Units × Sale Price × (1 - Discount%) × Deposit%
  • Balance is collected at the end of construction: Units × Sale Price × (1 - Discount%) × (1 - Deposit%)
  • Marketing costs are deducted: Units × Sale Price × Marketing%
  • Discrete unit distribution uses Hamilton's method (Largest Remainder) for non-uniform curves. When weights are uniform (e.g., linear distribution), units are evenly spaced across the full duration to prevent clustering

3.2 Post-Sales (After Construction)

Post-sale units are distributed between a start month and end month. Price adjustments (positive or negative) are applied relative to the base sale price:

Post-Sale Price = Base Sale Price × (1 + Price Adjustment%)

3.3 Sale Price Indexation

Both pre-sale and post-sale revenue are subject to annual sale price indexation:

Indexed Sale Price = Base Price × (1 + Annual Sale Price Indexation)^(Years Elapsed)

This applies to deposits, balances, and post-sale proceeds, reflecting property value appreciation over the project lifecycle.

3.4 Rental Income

For units that are neither pre-sold nor post-sold ("hold units"):

Gross Potential Rent = Hold Units × Monthly Rent per Unit × Rent Indexation Multiplier
Effective Rent = GPR × Occupancy Rate

Rent commencement: Rental income begins individually per building when that building's construction period ends - not when the last building completes.

One indexation clock: every amount you enter (rent, operating expenses, other income, costs and sale prices) is in today's prices. All of them grow in yearly steps counted from project month 1, using floor((month - 1) / 12). A building that opens after a 24-month build therefore opens at its rent grown by two years of indexation.

No growth before a building opens: an optional project setting. When it is on, rent, operating expenses and other income skip every yearly step that falls on or before the month they start earning (each building's opening, each other-income line's start), so they open at exactly the amounts entered and grow from there. Existing buildings are unaffected, and construction costs and sale prices still grow from month 1. Imported deals start with it on, because the rents in offering memoranda and models are often already the figures expected at opening.

Growth by year: rent and operating-expense growth can be a single rate or a rate for each project year from year 1 to year 14; year 14's rate continues after it. A single rate first applies in month 13 (year 1 is the amount entered); a by-year schedule can also set year 1, applied from month 1. A unit type or expense line with its own rate (single or by year) uses it in place of the project-wide rate.

3.5 Commercial Lease Rollover

For commercial spaces relying on standard tenancy assumptions, the model applies probability-weighted Lease Rollover mechanics:

ComponentFormula / Treatment
Effective DowntimeBase Downtime (Months) × (1 - Renewal Probability)
Turnover CostsTenant Improvements (TIs) and Leasing Commissions (LCs) weighted by probability. These act as below-NOI capital expenditures.
ConcessionsFree rent months weighted by probability. This directly reduces Gross Potential Rent for that term.

To ensure an accurate exit valuation via direct capitalization, the defined Stabilized NOI intentionally ignores the temporary drag of periodic downtime and concessions.

3.6 Hospitality Revenue

Units typed as hospitality use a specialized revenue model based on hotel industry metrics. Instead of a flat monthly rent, revenue is driven by a 12-month seasonality schedule specifying:

ParameterDescription
ADR (Average Daily Rate)Revenue per occupied room per night for a given calendar month
Occupancy %Expected occupancy for each calendar month (e.g., 90% in July, 40% in January)
Monthly Revenue = Rooms × ADR × Days in Month × Occupancy%

The seasonality array is aligned to actual calendar months using the project start date, so seasonal patterns (high/low season) are anchored to the correct time of year. Hospitality units bypass the take-up ramp - their occupancy is controlled entirely by the seasonality schedule.

3.7 Take-Up Ramp

Occupancy ramps from 0% to the target occupancy rate over the configurable take-up period. The ramp shape is configurable using any of the four distribution curves:

If month ≤ take-up duration:
    Occupancy = Target Occupancy × Curve Weight at (month / take-up duration)
Else:
    Occupancy = Target Occupancy

Where: Target Occupancy = 1 - Vacancy Rate

The vacancy rate is set globally in General Parameters and applies to all standard rental units. Individual unit types can override it with a per-unit vacancy rate, useful for mixed-use buildings where retail and residential carry different structural vacancy assumptions. Hospitality units and units with lease rollover enabled always use their own vacancy models and ignore this override.

Hospitality units are excluded from the take-up ramp - their occupancy is driven entirely by their seasonality schedule.

3.8 Revenue Sharing (Operator Agreements)

Buildings can operate under a tiered revenue-sharing model where gross operating revenue is split between the landlord and an operator (e.g., hotel management company):

ParameterDescription
TiersMultiple thresholds where the landlord share % changes based on cumulative annual revenue
Minimum Guaranteed Rent (MGR)Floor on the landlord's monthly share - operator absorbs the difference if revenue is below this threshold
YTD ResetCumulative revenue resets at the start of each 12-month period
First-Year ProrationPartial-year revenue thresholds are prorated based on the calendar month of operations commencement

Independent revenue items flagged as "subject to revenue share" are routed through the same tiered split. The landlord's net rent after the split flows into project cash flows; the operator's share is tracked separately.

3.9 Independent Revenue (Grants & Subsidies)

The model supports project-level revenue streams that are not tied to any specific building - such as government grants, energy subsidies, tax incentives, or other external income.

Each independent revenue item is defined by:

ParameterDescription
Total AmountThe gross amount to be received over the defined period
BasisFixed total (distributed by curve), fixed monthly (recurring), or fixed annual (recurring)
Start / End MonthThe delivery window (1-indexed absolute months)
Distribution CurveLinear, Bell, Front-loaded, or Back-loaded (for fixed-total basis)
SteepnessMild, Standard, or Sharp

Revenue is distributed across the defined time window using the same weighted-curve engine as cost items, ensuring weights sum to 1.0. Recurring items (fixed-monthly, fixed-annual) are distributed evenly rather than via weighted curves. Only recurring items are capitalized into the exit NOI for valuation purposes.

4. Operating Expenses

Operating expenses begin per building when each building's construction completes. The following basis types are supported:

BasisFormula (Annual)
Fixed AnnualDirect input (annual amount)
Fixed MonthlyAmount × 12 (input is monthly, annualized automatically)
Per sq.mAmount × Total Gross Area
Per unitAmount × Total Units
% of Gross RentAmount% × Annualized GPR
% of EGIAmount% × Annualized Effective Gross Income
% of Total CostAmount% × (Total Hard Costs + Total Soft Costs)

Fixed vs. Variable Split

Each expense item has a configurable fixed-vs-variable percentage:

Adjusted Monthly OpEx = (Annual Amount × Fixed%) + (Annual Amount × Variable% × Current Occupancy)
                        ─────────────────────────────────────────────────────────────────────────
                                                        12

Variable expenses scale with actual occupancy relative to stabilized occupancy (EGI Ratio = Actual EGI / Stabilized EGI). For hospitality units, the stabilized baseline uses nominal full occupancy rather than seasonal rates, ensuring variable expenses properly scale down during off-season.

OpEx indexation: Fixed (annual and monthly), per-sqm and per-unit bases are indexed annually from project month 1. Percentage-based items (% of rent, % of EGI, % of Total Cost) are not indexed independently: they move only with the figure they are a percentage of.

5. Financing Structure

The model uses a Dynamic Multi-Loan Engine, allowing users to layer unlimited concurrent or sequential debt tranches (Senior Construction, Mezzanine, Bridge, Permanent, Refinance) with complex inter-loan payoff mechanics.

5.1 Dynamic Loan Tranches

Loan FeatureDescription
Funding PriorityLoans draw capital in user-defined priority order to fund construction and soft costs
Payoff MechanicsAny loan can act as a 'takeout' loan, completely or partially paying off the outstanding balance of older loans
Interest CapitalizationInterest can be paid in cash, or capitalized into the loan balance (PIK, payment-in-kind). While interest is being capitalized no principal is paid, so a capitalizing loan is effectively interest-only for that period regardless of its repayment style
AmortizationStandard P&I amortization or Interest-Only (IO) with configurable grace periods. The amortization period is separate from the loan term and may be longer, which is the common commercial structure (for example a 5-year term on a 25-year schedule); whatever is left when the term ends is repaid as a balloon
MaturityA loan reaching the end of its term with a balance outstanding is repaid in full in that month, unless another loan is set to retire it first, or its term runs to the sale
Sizing BasisOne of five: % of Total Development Cost (LTC), % of Stabilized Value (LTV), Fixed Amount, Keep Balance, or % of Purchase Price. See 5.5

5.2 Construction Draw Funding

During periods where costs exceed revenue, the model draws from equity and active loans. Funding can follow two methods:

Multi-Building Master Facility: The platform enforces exactly 1 primary Construction/Acquisition loan. If a project has multiple buildings starting at different times, this single facility stays open and dynamically draws down to fund all subsequent buildings (acting as a Master Development Facility). Users cannot originate a second, separate draw-down construction loan later in the timeline.

MethodDescription
Pro-RataDebt and equity fund each month's costs proportionally according to the LTV ratio
Equity-FirstAll equity is drawn first; once equity is exhausted, remaining costs are funded by debt

Iterative TDC Solver: Because capitalized interest affects total development cost (which in turn affects the equity/debt split), the model uses an iterative solver (converging to within $1) to determine the correct equity quantum. A second re-estimation pass runs on actual cost arrays to ensure monthly parity.

What Total Development Cost includes. TDC is the cost of building the asset plus the interest the loan itself funds. Capitalized and PIK interest are part of TDC, because the loan advances them and they sit in its balance. Interest paid in cash during construction is not: it is a financing cost equity pays as it falls due, so the model reports it beside TDC as its own line rather than inside it. The equity tie-out is Equity in Sources & Uses + cash interest = total equity required, and the sum of the Uses equals TDC exactly.

5.3 Pre-Sale Treatment

Pre-sale revenue generated during construction can be applied in four ways:

TreatmentEffect
Offset EquityReduces the equity required for that month's costs
Offset DebtReduces the construction loan draw for that month
Offset Pro-RataReduces both equity and debt proportionally based on LTV
IgnorePre-sale proceeds are not factored into funding during construction

Pre-sale offsets are managed through a pooling mechanism with a forward-looking smart release system. Excess pre-sale revenue beyond what future months will consume is released immediately rather than held in reserve.

5.4 Variable Rates and Loan Indexation

Variable rate (index plus spread). A loan set to a variable rate is charged its stated rate plus a base-rate spread:

Effective Rate = Interest Rate + Base Rate Spread

The model holds that rate flat for the life of the loan. It does not project a forward index curve, so a rate rise is tested as a scenario (the Interest Rate override in section 12) rather than forecast.

Annual Indexation grows the principal, not the rate. This option models a loan whose balance is linked to an index (for example a CPI-linked loan). Each month the balance is increased, and interest is then charged on the increased balance:

Indexation Increase(month) = Balance × Annual Indexation / 12
Balance = Balance + Indexation Increase
Interest(month) = Balance × Effective Rate / 12

The increase is added to the loan balance and reported with capitalized interest. Because an amortizing payment is recalculated every month from the current balance (6.3), the payment on an indexed loan rises as its balance does.

5.5 Loan Sizing

Every loan is sized by one of five methods, chosen per loan:

MethodHow the amount is set
% of Total Development Cost (LTC)The stated percentage of the construction-phase costs plus the capitalized interest the loan itself funds. Interest paid in cash and financing fees are excluded from the base, so a cash-pay loan is committed on costs before financing
% of Stabilized Value (LTV)Stabilized NOI / cap rate, multiplied by the stated percentage. NOI is taken at the month the loan originates (for every loan type), indexed to that month, with lease-rollover bumps and renovations counted from each building's own opening - not at exit. Never below $0: if NOI is negative when the loan starts, the loan is set to $0, the month carries a remark and the Underwriting Auditor flags it red
Fixed AmountAn absolute figure the user enters, unaffected by cost or value movements
Keep BalanceExactly the outstanding balance of the loans this one retires, a like-for-like refinance with no cash in or out
% of Purchase PriceThe stated percentage of the Month 0 purchase price, the common basis for an acquisition loan

When a loan originates it retires any loans it is configured to pay off. If it sizes above the retired balances plus exit and prepayment fees, the surplus is a cash-out; if it sizes below them, the shortfall is funded by a mandatory equity draw in that month.

5.6 Loan Fees & Penalties

Each loan can have multiple fee items and a year-based prepayment penalty schedule (up to 5 years):

Fee TypeBasis / Timing
Origination / Standard Fees% of loan amount or fixed amount. Payable Upfront, Monthly, Quarterly, Annual, or Exit
Prepayment PenaltiesOutstanding Balance × Penalty Rate(year). Applied if the loan is paid off (via refinance or exit) while still active.

5.7 Value-Add Renovation Financing

For existing building projects, renovation costs can be partially funded by active loans:

Debt-Funded Renovation = Monthly Renovation Draw × Renovation Funding %
Equity-Funded Renovation = Monthly Renovation Draw × (1 - Renovation Funding %)

6. Interest Calculation Conventions

6.1 Construction Period Interest

Interest each month is computed against the loan balance after that month's draw has been added, using an end-of-month convention:

Monthly Interest = (Beginning Balance + Current Month Draw) × Annual Rate / 12

This is a conservative approximation that treats new draws as accruing a full month of interest in the month they are funded. Real construction loans typically accrue interest daily; this convention slightly overstates capitalized interest vs daily accrual, which is a deliberate conservative bias for underwriting purposes.

6.2 Capitalized vs. Cash-Pay Interest

ModeTreatment
CapitalizedInterest is added to the loan balance; debt and equity each bear their proportional share based on LTV
Cash-PayInterest is paid from equity in the current month; not added to the loan balance

In equity-first mode with capitalized interest, interest is first allocated to equity while the equity budget has room, with any excess allocated to debt. This prevents over-drawing debt beyond the target LTV.

6.3 Permanent Loan Amortization

Standard mortgage amortization formula:

Monthly Payment = Principal × (r × (1 + r)^n) / ((1 + r)^n - 1)

Where:
    r = Annual Rate / 12
    n = Amortization Period in months, less any grace period
        (defaults to the loan term when no amortization period is set)

Interest and principal components are tracked separately for P&L and balance sheet purposes. The payment is recalculated every month from the current balance, the rate and the months left on the amortization schedule. On a plain loan this gives the same level payment as a fixed schedule; it changes only when the balance is moved by something else, such as indexation (5.4).

Amortization period vs. loan term. These are two different numbers and they do different jobs. The term is when the loan is due; the amortization period is the schedule the monthly payment is calculated on, and it is normally the longer of the two. A 5-year loan written on a 25-year schedule pays a 25-year payment for 5 years and then repays the remaining balance in one sum. Leaving the amortization period blank means the loan fully amortizes over its own term, with no balloon.

Maturity. When a loan reaches the end of its term with a balance still outstanding, the model repays that balance in full in the maturity month and shows it in the monthly cash flow and the Remarks column. Contractual exit fees apply; prepayment penalties do not, since reaching the maturity date is not a prepayment. If another loan is configured to retire it, that refinance takes precedence and no balloon is recorded. If the term runs to the sale, the exit settlement repays it instead.

7. Valuation Methods

7.1 Direct Capitalization (Exit Valuation)

Exit NOI = Stabilized Annual NOI + Recurring Independent Revenue (annualized)
Exit Value = Exit NOI / Exit Cap Rate
Net Proceeds = Exit Value - Selling Costs - Loan Payoff - Exit Fees - Prepayment Penalties

Stabilized NOI at exit is calculated using rents and OpEx indexed to the exit month on the project clock, with lease-rollover bumps counted from each building's own opening. Only recurring independent revenue items (fixed-monthly, fixed-annual) that are still active at exit are capitalized into the exit NOI, at their amount grown to the exit year - one-time grants are excluded.

7.2 Discounted Cash Flow (DCF) Analysis

The DCF module provides an alternative valuation metric:

DCF Property Value = NPV of Operating Cash Flows + Discounted Terminal Value
ComponentMethodology
Operating Cash FlowsMonthly NOI from stabilization to exit, discounted at the specified discount rate
Terminal ValueTrailing 12-month annualized NOI ÷ terminal cap rate
DiscountingMonthly compounding: PV = FV × (1 + r/12)^(-month)

The DCF output includes: NPV of operating cash flows, discounted terminal value, DCF property value and value per sq.m, premium vs. PV of cap-rate exit (apples-to-apples), and premium vs. total development cost.

7.3 Price for Target Return (Residual Land Value)

You set a target levered (equity) IRR, and the model solves for the purchase price that just achieves it. The Dashboard shows that price, the current purchase price, and the difference between them (Headroom). On a ground-up deal, where the purchase price is the land, this is the residual land value.

Variable:      the purchase price (the first fixed-amount line in
               Acquisition Costs); other acquisition lines stay as entered
Method:        binary search, 60 iterations, each a full model run
Search range:  $0 to 2 × total project revenue (exit value + unit sales)
Result:        rounded to the nearest dollar

It recalculates whenever the deal changes. It is on by default for new projects at an 18% target, and not shown in Refinance Analysis mode. If no purchase price reaches the target, no result is shown. The AI assistant answers "what can I pay for X% IRR" with the same solver, so the two always agree.

8. Key Return Metrics

MetricFormula
Project IRR (Unlevered)Annualized from monthly unlevered cash flows: (1 + monthly IRR)^12 − 1
Equity IRR (Levered)Annualized from monthly levered cash flows: (1 + monthly IRR)^12 − 1
Equity Multiple (deal level)Total Distributions / Total Equity Contributed = (Peak Cash Exposure + Net Levered Profit) / Peak Cash Exposure. See the note below the table
Equity Multiple (per investor, waterfall)Total Distributions / Total Contributions for each investor class and the GP
DSCR (stabilized)NOI / Debt Service (interest + principal across all loans), both measured over a stabilized 12-month operating window - typically the year prior to exit, or the final 12 operating months for shorter holds.
DSCR (per year)NOI over the months that actually carry debt service in that year, divided by that year's debt service. A year in which a loan is repaid or refinanced part-way is measured over its debt-carrying months only, and is marked as a partial year.
Debt YieldStabilized Annual NOI / debt outstanding at the start of the stabilized window
Yield on CostStabilized NOI / Total Development Cost
Cash-on-Cash Return(Stabilized-year NOI − stabilized annual debt service) / Total Equity Contributed (= Peak Cash Exposure)
Cash-on-Cash on equity still inThe same cash / unreturned equity at the start of the year. Marked "small base" when under 5% of peak equity is still in; a year with negative operating cash reads "Equity called" instead of a negative percentage
Profit on CostNet unlevered profit (the sum of unlevered cash flow over the project: operating income and sale proceeds less all costs) / Total Development Cost

Why the denominator is peak cash exposure. The equity multiple is total distributions divided by total equity contributed, the industry definition. The model counts equity the way a project holds it: cash the project will still need in a later month stays in the project rather than being paid out and called back. Equity is therefore contributed only when the project has no cash of its own to cover a cost, and the total contributed equals the peak cash exposure, the deepest point of cumulative levered cash flow. The investor waterfall applies the same rule with its cash reserve, and its multiple across all investors and the GP together matches the deal-level figure (21 of 23 saved projects with a waterfall, October 2026; the other two limit the reserve to 24 months ahead, so some cash is paid out and later called again, which lowers the investors' multiple). Counting each month on its own instead, as if every month's cash were paid out and the next month's costs called again, overstates contributions on any deal whose cash moves both ways during the project (pre-sales, refinances) and understates the multiple.

A DSCR of zero means no debt service, not zero coverage. Where a period carries no debt payment there is no ratio to state, so the model returns exactly zero as a marker and the exports leave the cell empty, keeping it out of any average a reader calculates. A negative DSCR is different and is always printed as a number: it means debt service measured against a negative NOI, which is a real and meaningful result.

IRR is calculated using a bisection-based robust solver (200 iterations) on monthly cash flow streams, with sign detection to handle both profitable (positive IRR) and loss-making (negative IRR) scenarios. The Newton-Raphson method (via node-irr) is used only as a fallback when the bisection solver cannot find a sign change. Results are annualized geometrically.

Comparing with Excel's XIRR or IRR. The model solves for a monthly rate on equal monthly periods and annualizes it as (1 + monthly IRR)^12 − 1. Excel's XIRR discounts each cash flow by its actual date (days / 365). For the same monthly cash flows the two differ only slightly, because calendar months are not exactly equal in length. A larger gap almost always means the cash flows themselves differ in timing: an annual spreadsheet that places each year's cash on the last day of the year receives that cash later than a monthly model does, and so shows a lower IRR for the same deal.

9. Financial Statements

9.1 Profit & Loss

  • Revenue: rental income, independent revenue, and unit sales (pre-sale deposits and balances, post-sale proceeds) when the cash is received
  • Operating expenses: per building, indexed. NOI = revenue − operating expenses
  • Selling and marketing costs of unit sales
  • Cost of units sold: each unit-sale receipt takes its share of the property's book value, by sales value: receipt / (unit-sale receipts still to come + net exit value)
  • Interest expense: all interest except what a loan capitalizes during construction, which is part of the property's cost instead
  • Loan exit fees and prepayment penalties paid at the sale
  • Depreciation: straight-line at the Depreciation Rate (General Parameters) × the property's cost, monthly, starting the month after construction completes
  • Gain on sale of property: exit value − selling costs − book value at the sale
  • Income tax: the Corporate Tax Rate (General Parameters) × taxable income (pre-tax income after losses carried forward)
  • Tax loss carryforward: Losses in one year reduce taxable income in subsequent years

Returns are pre-tax. Both rates default to zero. Tax appears in the P&L and as tax payable on the balance sheet, and is not deducted from any cash flow, so the IRR, equity multiple, DSCR and waterfall are all before income tax, the usual basis for comparing real estate deals.

9.2 Balance Sheet

Every line is built from the monthly cash flow; nothing is solved for:

Assets:
    Property    Cost less accumulated depreciation. Cost = acquisition, hard and soft
                costs, renovation, turnover CapEx (TIs and LCs), interest capitalized
                during construction and loan fees; reduced by the cost of units sold,
                and removed at the sale
    Cash        From the cash flow: the cash the waterfall holds back as its reserve,
                otherwise zero, since all levered cash flow is distributed or
                contributed in the month it arises
Liabilities:
    Loans       Outstanding balances; zero after the sale repays them
    Tax payable Income tax from the P&L (not in any cash flow, see 9.1)
Equity:
    Equity contributed − Distributions paid + Retained earnings

Check = Assets − (Liabilities + Equity)

The check is a real test, not a forced zero. Because cash comes from the cash flow, any amount the statements failed to account for would show up as a nonzero check. It is held at zero by automated tests on every year of every test project, and on every saved project when measured in October 2026. Its first run found a real engine error: a refinance loan sized below zero, fixed the same day (see 5.5). After the sale, the balance sheet ends at zero: no property, no loans and no cash.

9.3 Annual Cash Flow

Monthly data is aggregated into annual summaries showing: gross revenue, vacancy loss, effective gross income, operating expenses by category, Net Operating Income, debt service (interest + principal), and levered and unlevered cash flows.

10. Equity Waterfall

The platform supports two waterfall templates: standard tiered (traditional PE structure) and bifurcated (separate operating and capital event streams).

10.1 Standard Tiered Waterfall

Distributes project cash flows between General Partner (GP) and Limited Partner (LP) investors using the following cascade:

StepDescription
1. Return of CapitalInvestors receive their invested capital back first (by priority class)
2. Preferred ReturnLP investors receive their contractual preferred return on unreturned capital
3. GP Catch-UpOnce all capital and preferred return are paid, the GP receives an accelerated share until it holds its target share of profit (formula below)
4. Residual SplitRemaining cash is split according to tiered promote schedules

GP catch-up. The target is the GP's share in the first promote tier. The catch-up speed is 100% (all catch-up cash to the GP) or 50% (split evenly with investors), or it can be switched off. Profit to date is distributions minus contributions for each party:

Catch-Up Cash = (Target × LP Profit − GP Profit × (1 − Target)) / (Speed − Target)

GP receives  Catch-Up Cash × Speed
LPs receive  Catch-Up Cash × (1 − Speed)

After the catch-up, GP profit equals the target share of total profit. Catch-up runs only when the speed is above the target and investors have already made a profit.

10.2 Bifurcated Waterfall

Separates project cash flows into two independent streams, each with its own distribution logic:

StreamCash SourceDistribution Method
OperatingMonthly operating cash flow (NOI - debt service)Distributed as a flat % of unreturned capital (Year 1 rate vs. Year 2+ rate)
Capital EventSale proceeds, refinance cash-outsFollows: Return of Capital → Preferred Catch-up → Post-Hurdle Profit Split
ParameterDescription
Operating Return Year 1Target annual return % on equity during the first 12 months
Operating Return Year 2+Target annual return % on equity after the first year
Capital Event Hurdle IRRPreferred return rate accrued on unreturned capital, paid from capital events
Post-Hurdle GP SplitGP's share of residual profits after all capital and preferred returns are satisfied
Grace Period Reset on RefiOptionally resets the Year 1 operating return period upon a refinance event
% Allocated to Return of CapitalThe share of refinance proceeds (0% to 100%) paid as return of capital before the preferred catch-up. Capital returned at a refinance reduces each investor's capital balance, so later operating distributions and preferred return are calculated on the smaller balance. At 0%, refinance proceeds go to the preferred catch-up and profit split, and all capital is returned at the sale

Surplus operating cash above the monthly target is swept into a retained earnings reserve. At a capital event (sale or refinance), the reserve is released and merged into the capital event pool. If operating cash falls short of the target, the reserve is drawn down to cover the deficit.

Distributions never exceed the cash the deal produces. If operating cash and the reserve together fall short of the operating target, investors receive what is available. The shortfall is not funded from outside the deal: preferred return keeps accruing on unreturned capital and is paid from refinance and sale proceeds, ahead of the GP's profit split. A sponsor guarantee of a fixed distribution is a separate deal term and is not modeled.

10.3 Preferred Return Accrual

OptionMethod
SimpleAccrual = Capital Balance × Annual Rate / 12
CompoundAccrual compounds at the selected frequency (monthly, quarterly, annual)

10.4 Hurdle Rate Types

TypeThreshold
IRR-BasedTier changes when the senior investor class's IRR reaches the hurdle (method below)
Equity Multiple-BasedTier changes when the senior investor class's equity multiple (distributions / contributions) reaches the threshold

How an IRR hurdle is applied. In each month with cash to distribute, the engine works out how much more the senior investor class can receive in that month before its IRR reaches the tier's hurdle. It discounts the class's cash flows to date at the hurdle rate; the amount that would bring that net present value to zero is the room left in the tier:

r = (1 + Hurdle)^(1/12) − 1                      (monthly hurdle rate)
NPV = Σ CashFlow(t) / (1 + r)^t, for t = 0 … current month
Room in Tier = max(0, −NPV × (1 + r)^(current month))

Cash up to that room, grossed up by the class's share in the tier, is distributed at the tier's split; anything above it moves to the next tier.

10.5 Cash Reserve

The engine looks ahead at future negative cash flow months and reserves sufficient cash to cover them, preventing premature distributions that would require capital calls. A configurable lookahead window limits how far ahead the reserve looks.

10.6 GP Co-Investment

GP can contribute equity alongside LPs with configurable options:

  • Subordinated: GP capital and preferred return is recovered after all LP classes are made whole
  • Pari-Passu: GP capital is treated with equal priority to LP classes
  • GP Preferred Return: Configurable rate independent of LP preferred return

11. BRRRR Portfolio Chains

The platform features a specialized BRRRR Chain Engine designed for multi-property portfolio strategies (Buy, Rehab, Rent, Refinance, Repeat) where the trapped equity of one project funds the acquisition of the next.

11.1 Dynamic Capital Pooling

  • Sequential Funding: The net cash-out from a refinance event in Project A flows upstream to fund the required equity injection for Project B.
  • Timeline Normalization: Projects are temporally aligned to a master timeline. A project's start date is strictly determined by the exact month the prerequisite refinance event triggers.
  • Shortfall Tracking: The engine tracks portfolio-wide unspent cash surpluses and shortfalls, highlighting broken chains where refi proceeds are insufficient to fund the next deal without out-of-pocket investor injections.

11.2 Portfolio Analytics

A consolidated master P&L aligns the discrete cash flows of every project onto a single calendar grid.

MetricMethodology
Blended IRRCalculated monthly across the merged levered cash flows of all projects. Because the flows sit on one monthly calendar, delayed project starts and staggered refinance cash-outs are discounted at their actual timing.
MOICTotal Portfolio Returned Capital / Peak Cash Exposure
Peak ExposureThe maximum out-of-pocket investor capital required when the internal capital pool runs dry
Total Cash-OutThe gross sum of all refinance liquidity events generated across the portfolio

12. Scenario Analysis

The platform provides a three-scenario analysis engine (pessimistic / base / optimistic) that runs the full proforma under modified assumptions:

ParameterOverride TypeScope
Exit Cap RateAbsolute valueExit strategy
Construction Cost% adjustmentAll hard cost amounts + renovation budgets
Vacancy RateAbsolute valueGeneral parameters
Interest RateAbsolute valueLoan interest rates
Rent / Revenue% adjustmentMonthly rent, sale prices, and hospitality ADR
Exit YearAbsolute valueExit strategy
Operating Expenses% adjustmentFixed, monthly, per-sqm, per-unit OpEx items
LTVAbsolute valueLoan sizing

Each scenario runs a complete, independent proforma calculation. Default values are computed as relative offsets from the base case (e.g., pessimistic cap rate = base + 1%, optimistic = base − 0.75%), but can be overridden to absolute values by the user.

The dashboard displays two-dimensional sensitivity matrices showing Equity IRR and Equity Multiple: purchase price (±5% and ±10%) × exit cap rate, exit cap rate × leverage, revenue × cost, and, when the deal has lease rollovers, renewal probability × downtime. Each cell is a complete proforma run. In the purchase price matrix only the purchase price line changes; closing costs and soft costs set as a percentage of the price, and loans sized on the price, follow it, while a fixed-amount loan does not.

Cells are coloured by the deal's own Levered IRR targets (the deal's setting, else the firm's Underwriting Standards, else the platform default of green from 15% and red below 10%), the same thresholds the Underwriting Auditor grades against; a legend under each table states them. Investor and lender viewers always see the platform default.

13. Conventions & Assumptions

ConventionApproach
Time periodsMonthly granularity throughout
Day count30/360 for interest calculations
IndexationAnnual compound; steps up at the start of each 12-month period
Sale price indexationAnnual compound; applied to pre-sale and post-sale revenue
Rent commencementPer building, upon construction completion
OpEx commencementPer building, upon construction completion
VacancyApplied as a percentage reduction to gross potential rent
Take-upConfigurable ramp (linear, bell, front-loaded, or back-loaded) from 0% to target occupancy; bypassed for hospitality units
Unit salesHamilton's method for non-uniform curves; evenly spaced for uniform weights
IRR methodBisection-based robust solver (200 iterations) with sign detection; Newton-Raphson fallback; geometrically annualized
Balance sheetBuilt from the cash flow; the check (Assets − Liabilities − Equity) is computed, not forced
DepreciationStraight-line on the property's cost; begins only after construction completion
Tax treatmentReturns are pre-tax. The P&L applies a flat corporate rate with loss carryforward
Equity MultipleTotal distributions / total equity contributed; cash the project still needs is held, so contributions equal peak cash exposure (8)

Tax & Regional Conventions

Tax calculations in OneStopReal are simplified for general financial modeling. Property taxes, transfer taxes, and related fiscal items are modeled as flat Operating Expense or Soft Cost line items with standard annual indexation. Users should adjust these items to account for jurisdiction-specific taxes such as VAT, transfer taxes, stamp duties, or reassessment rules applicable in their market.

14. Validation

The calculation engine is covered by more than 400 automated tests, run against the engine directly. They fall into three groups:

  • Accounting identities that must hold: the Uses sum to Total Development Cost, construction draws plus equity equal TDC, unlevered cash flow is unchanged by how pre-sales are applied, cumulative levered cash flow equals the sum of its months, and the balance sheet's check is zero in every year (9.2).
  • Feature checks against expected results: loan maturity and balloons, prepayment penalties, undrawn commitment fees, partial-year DSCR, the indexation clock, lease rollover, revenue sharing, renovation timing and the waterfall.
  • Full-project regression: complete real projects are recalculated and compared with their recorded results, so any change that moves a headline figure fails until it is reviewed and accepted.

The tests are the platform's own and are not an external audit.

15. Known Limitations

The model makes the following simplifications. Each is deliberate, and each is listed here so that a reviewer does not have to find it.

AreaLimitation
Construction financingOne primary construction or acquisition loan per project. On multi-building projects it acts as a master facility for every building; a second draw-down construction loan cannot be added later in the timeline (5.2)
PrepaymentPenalties are a percentage of the outstanding balance by loan year (up to 5 years). Yield maintenance and defeasance are not modeled
Variable ratesHeld flat at rate plus spread for the life of the loan; no forward index curve (5.4)
TaxFlat corporate rate on taxable income; depreciation is straight-line on the property's cost, including land. No depreciation recapture or capital gains tax at sale. Returns are pre-tax (9.1)
Exit valuationThe stabilized NOI capitalized at exit ignores lease-rollover downtime and concessions (3.5)
Unit-sale revenuePre-sale deposits and balances are revenue when received, not at handover, so there is no deposits-received liability (9.1)
Loan feesAdded to the property's cost, including prepayment penalties paid at a refinance; only exit fees and penalties paid at the sale are expensed (9.1)
Other incomeNot reduced by vacancy, and not part of the base for expenses set as a percentage of EGI. Loans sized on value (LTV) use unit rent NOI only
Utility reimbursementsThe Utilities per month entered on a unit type is not yet included in NOI
Waterfall reserveThe deal-level levered IRR and multiple are calculated before the waterfall's cash reserve; investor IRRs and multiples after it. Net cash to equity is the same; only timing differs. With a limited reserve window, cash can be paid out and later called back, which lowers the investors' multiple below the deal-level one (8, 10.5)
Project endWhen every unit is sold, the project ends at the last sale. Costs scheduled after that month are excluded and flagged on the Dashboard and in the Auditor
Market dataThere is no market or comparables data source. Every rent, expense and cap rate assumption comes from the user or from the document they imported

16. Changelog

VersionChanges
2.2 (October 2026)Section 5.4 rewritten to describe variable rates and balance indexation as the engine applies them; the amortization payment is recalculated monthly. Formulas added for DSCR, cash-on-cash, the GP catch-up and the IRR hurdle. Equity multiple and cash-on-cash denominator explained (equity contributed, which equals peak cash exposure). Tax basis and pre-tax returns stated. Financial statements rebuilt so the balance sheet ties to the cash flow: the sale of the property, cost of units sold, renovation and loan fees in the property's cost, loans repaid at the sale, distributions and tax payable are all recorded, and the check is computed rather than forced. Refinance return of capital and distribution shortfalls in the bifurcated waterfall. Excel XIRR comparison. A value-sized loan can no longer be sized below $0. New sections: Validation, Known Limitations, Changelog
2.1 (October 2026)One indexation clock for every amount, growth set by year, and the option of no growth before a building opens
2.0 updates (September 2026)All five loan sizing methods documented (an "as-is value" method that never existed was removed); what Total Development Cost includes; loan maturity and balloon repayment; per-year DSCR over debt-carrying months; debt yield measured on debt outstanding at the start of the stabilized window
2.0 (April 2026)Version 2.0 published

This document describes the methodology implemented in the OneStopReal platform as of October 2026. All calculations are performed deterministically based on user-provided inputs. The platform does not make investment recommendations.

© 2026 OneStopReal. All rights reserved.