Page actions
instrument / verified-clean
PMI / LTV Estimator
The current ledger marks this instrument verified clean within the source-bound verification corpus.
Inspectable records
Ledger state
The current ledger marks this instrument verified clean within the source-bound verification corpus.
- Area
- Finance, Economics & Business (educational only — never individualized investment, tax, or legal advice)
- Tranche
- tranche-4
- Evidence ID
- t4-032
- Ledger rows
- 1
No ledger note is attached.
Review findings
The supplied honest label is directionally appropriate but should explicitly state that the 80% result is only a simplified eligibility estimate, not a guaranteed cancellation date or legal entitlement. The specification must define the PMI cost formula, PMI-rate units, and amortization/principal-reduction inputs before implementation can receive PASS.
Formula and scope findings
- LTV=loan/appraised_value is correct when both values use the same currency and loan means the current loan balance.
- No formula is specified for estimated annual PMI cost. A common rough assumption is current loan balance × PMI rate, but PMI may instead be based on the original loan amount and may be recalculated periodically.
- No formula or required inputs are specified for estimated payments to 80% LTV. This requires at least a principal-reduction amount per payment or a complete amortization schedule; dividing the balance gap by the total payment would be incorrect because total payments include interest.
- The statement 'PMI removal at LTV≤80%' is an oversimplification. Borrower-requested cancellation, automatic termination, lender rules, loan type, payment history, and applicable law can differ; automatic termination is commonly associated with 78% original LTV rather than 80%.
Unit assumptions
- loan_balance and appraised_value are positive monetary amounts in the same currency.
- For the test vectors, PMI rate is supplied as a percentage number such as 0.5 and converted to a decimal by dividing by 100.
- For test-vector purposes, estimated annual PMI cost is defined as loan_balance × PMI_rate_decimal and represents a pre-removal annualized estimate.
- For test-vector purposes, estimated payments to 80% LTV is ceil(max(0, loan_balance − 0.80 × appraised_value) ÷ principal_reduction_per_payment), where principal_reduction_per_payment is the principal retired each payment, not the total payment.
- LTV output is expressed as a percentage: loan_balance ÷ appraised_value × 100.
Boundary hardening
BREAK_CLAIMED · SELF_FLAGGED
The specification has a division-by-zero failure when home_value is zero and cannot compute a payment count for any ordinary case because it provides no payment amount, principal-per-payment value, interest rate, or amortization schedule. The PMI-rate input also has a potentially severe percent-versus-decimal convention ambiguity.
Errata and corrections
No applied erratum is attached to this unique-name record.
Inspectable example
4 review vectors are recorded. One source-bound sample is shown below.
{
"inputs": {
"loan_balance": 360000,
"appraised_value": 450000,
"pmi_rate_percent": 0.5,
"principal_reduction_per_payment": 1500
},
"expected_outputs": {
"ltv_percent": 80,
"estimated_pmi_cost_per_year": 1800,
"estimated_payments_to_80_ltv": 0
},
"working": "LTV = 360000 ÷ 450000 × 100 = 0.8 × 100 = 80%. PMI rate = 0.5 ÷ 100 = 0.005. Annual PMI = 360000 × 0.005 = 1800. 80% target balance = 450000 × 0.80 = 360000. Balance gap = 360000 − 360000 = 0. Payments = max(0, 0 ÷ 1500) = 0."
}Related workflows
Sources and evidence
These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.
VERIFIED_LEDGER.json · VERIFIED_CLEANevidence-tranche4/tranche4-results.jsonBOUNDARY_HAZARD_CATALOG.json