Methodology: twenty acquisition-cash scenarios
On this page
Version: 1.0. Calculation date: September 17, 2026. Type: Original illustrative model, not observed transactions.
The model crosses four purchase prices ($500,000, $1 million, $2 million, $3 million) with five configurations. It generates twenty rows without sampling actual buyers or claiming a market average.
Assumptions
All percentages below are selected modeling assumptions. Only the explanation of permitted SBA source treatment is grounded in the linked policy; the model does not approve eligibility.
| Input | M1 | M2 | M3 | M4 | M5 |
|---|---|---|---|---|---|
| Working capital / price | 7.5% | 7.5% | 7.5% | 12.5% | 7.5% |
| Eligible project costs / price | 2.5% | 2.5% | 2.5% | 4% | 2.5% |
| Contribution / project | 10% | 10% | 15% | 10% | 10% |
| Qualifying standby seller / required contribution | 0% | 50% | 0% | 0% | 0% |
| Ordinary seller debt / project | 0% | 0% | 0% | 0% | 10% |
| Separate closing costs / price | 1.5% | 1.5% | 1.5% | 1.5% | 1.5% |
| Separate already-paid costs / price | 1% | 1% | 1% | 1% | 1% |
| Retained buyer liquidity / price | 4% | 4% | 4% | 4% | 8% |
| Modeled cash flow / price | 20% | 20% | 20% | 20% | 20% |
Senior debt: fixed nominal 10% annual rate, monthly payments, ten-year fully amortizing schedule. Ordinary seller debt: 8%, monthly payments, ten-year amortization. Qualifying standby seller debt: no current payments included. Its eventual repayment/accrual economics are not modeled.
Rates are examples, not current quotes. Assumed cash flow is a model input, not lender-accepted EBITDA, a valuation conclusion, or a business listing’s SDE.
Formulas
project = price + incremental working capital + eligible project costs
required contribution = project × contribution percentage
buyer contribution = required contribution − qualifying standby seller amount
senior principal = project − buyer contribution − both seller-debt amounts
cash due at closing = buyer contribution + separate closing costs
total buyer resources = cash due at closing + separate costs already paid + retained liquidity
monthly payment = principal × (annual rate / 12) / [1 − (1 + annual rate / 12)^(-120)]
annual debt service = 12 × (senior monthly payment + ordinary seller monthly payment)
DSCR = assumed cash flow / annual debt service
At a zero rate, payment is principal divided by the number of payments. Internal calculations use unrounded amounts; published cash figures use whole dollars and coverage uses three decimals unless stated otherwise. The payment table in A09 uses cents.
No credit toward contribution is assumed for the separate previously paid costs. This is a modeling choice, not a claim that paid diligence expenses cannot qualify. An actual accepted credit must reduce the remaining contribution consistently rather than be double-counted.
Sensitivity tests
The earnings downside reduces modeled cash flow by 10%, leaving payments unchanged. The rate sensitivity increases only the senior rate from 10% to 12%; seller pricing and other assumptions stay unchanged. These tests are separate and do not represent a combined stress or assigned probability.
M1 vs. M2 isolates qualifying standby contribution. M1 vs. M3 isolates higher buyer contribution. M1 vs. M4 changes working capital and project costs together. M1 vs. M5 changes both the debt mix and retained liquidity; do not describe it as a single-factor experiment.
Policy context
SOP 50 10 8.1, Appendix 15 supplies the incoming Initial Acquisition contribution and coverage context. Information Notice 5000-880695 defines the October 1, 2026 loan-number applicability trigger. These are distinct from modeled assumptions.
Passing a mathematical threshold does not establish loan eligibility. In particular, valuation, accepted earnings adjustments, working-capital adequacy, source terms, and all lender conditions remain outside this model. No scenario is represented as approved. M4 falls below a 1.25× reference even with the full modeled buyer resources.
Reproduce and inspect
The script uses Python’s standard library. Run it from the research directory to regenerate the CSV and JSON. It checks sources equal uses, basic input validity, zero-rate behavior, and the expected scenario count. It does not access financial accounts or external APIs.
