{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://askcalculators.com/us/mortgage-points/schema.json",
  "title": "Mortgage Discount Points Calculator — United States inputs",
  "description": "Compare points using both monthly payments and the mortgage balance still owed at the planned exit date. USD planning view; stated limitations apply.",
  "type": "object",
  "properties": {
    "principal": {
      "title": "Mortgage principal",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 300000,
      "minimum": 0,
      "maximum": 1000000000000,
      "x-step": 0.01,
      "x-prefix": "USD",
      "x-unit": "currency"
    },
    "rateWithout": {
      "title": "Annual nominal rate without points",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 6.5,
      "minimum": 0,
      "maximum": 100,
      "x-step": 0.1,
      "x-unit": "percent"
    },
    "rateWith": {
      "title": "Annual nominal rate with points",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 6.25,
      "minimum": 0,
      "maximum": 100,
      "x-step": 0.1,
      "x-unit": "percent"
    },
    "points": {
      "title": "Points as a percentage of principal",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 1,
      "minimum": 0,
      "maximum": 20,
      "x-step": 0.1,
      "x-unit": "percent"
    },
    "extraFees": {
      "title": "Other incremental up-front fees",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 0,
      "minimum": 0,
      "maximum": 1000000000000,
      "x-step": 0.01,
      "x-prefix": "USD",
      "x-unit": "currency"
    },
    "termMonths": {
      "title": "Loan term, months",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 360,
      "minimum": 1,
      "maximum": 1200,
      "x-step": 1,
      "multipleOf": 1
    },
    "holdingMonths": {
      "title": "Expected months before sale/refinance",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 84,
      "minimum": 0,
      "maximum": 1200,
      "x-step": 1,
      "multipleOf": 1
    }
  },
  "required": [
    "principal",
    "rateWithout",
    "rateWith",
    "points",
    "extraFees",
    "termMonths",
    "holdingMonths"
  ],
  "additionalProperties": false,
  "x-askcalculators": {
    "version": "20.16.0",
    "calculatorUrl": "https://askcalculators.com/us/mortgage-points/",
    "queryExample": "https://askcalculators.com/us/mortgage-points/?principal=300000&rateWithout=6.5&rateWith=6.25&points=1&extraFees=0&termMonths=360&holdingMonths=84",
    "migrationStatus": "new",
    "reviewStatus": "pending",
    "pageStatus": "live",
    "workStatus": "pending",
    "formula": {
      "expression": "exit-horizon benefit = payment savings to exit + difference in remaining balances − incremental up-front cost.",
      "note": "Inputs are converted to canonical units before evaluating this stated formula."
    },
    "quality": {
      "availability": "live",
      "technicalReviewRecord": "/reviews/v20-us-mortgage-points.json",
      "qualifiedReview": "pending",
      "qualifiedReviewer": null,
      "qualifiedReviewDate": null,
      "formulaVersion": "20.16.0",
      "referenceCoverage": "references-listed",
      "releaseTestScope": "Catalog and regression checks are not a professional formula audit; consult release evidence.",
      "historicalMetadataDate": "",
      "historicalMetadataNotice": "The imported date is not evidence of a completed human review."
    },
    "outputs": {
      "pointsCost": {
        "title": "Incremental up-front cost",
        "type": "number",
        "x-format": "currency",
        "x-currency": "USD",
        "x-digits": 2
      },
      "paymentWithout": {
        "title": "Payment without points",
        "type": "number",
        "x-format": "currency",
        "x-currency": "USD",
        "x-digits": 2
      },
      "paymentWith": {
        "title": "Payment with points",
        "type": "number",
        "x-format": "currency",
        "x-currency": "USD",
        "x-digits": 2
      },
      "monthlySaving": {
        "title": "Monthly payment saving",
        "type": "number",
        "x-format": "currency",
        "x-currency": "USD",
        "x-digits": 2
      },
      "breakEven": {
        "title": "Simple payment break-even, months",
        "type": "number",
        "x-format": "number",
        "x-digits": 2
      },
      "horizonSaving": {
        "title": "Cash plus balance saving at exit horizon",
        "type": "number",
        "x-format": "currency",
        "x-currency": "USD",
        "x-digits": 2,
        "x-primary": true
      }
    }
  }
}
