{"product_id":"blended-rate","title":"Blended Rate Calculator","description":"\u003cstyle\u003e\n.brc-calculator {\n  --ink: #0f172a;\n  --muted: #475569;\n  --border: #e2e8f0;\n  --surface: #ffffff;\n  --tint: #f8fafc;\n  --primary: #1d4ed8;\n  --accent: #c2410c;\n  --accent-hover: #9a3412;\n  --chart-1: #1e40af;\n  --chart-2: #0d9488;\n  --chart-3: #7c3aed;\n  --chart-4: #be185d;\n  --chart-5: #334155;\n  container-type: inline-size;\n  width: 100%;\n  color: var(--ink);\n  background: var(--tint);\n  border: 1px solid var(--border);\n  border-radius: 8px;\n  padding: 24px;\n  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n  font-size: 15px;\n  line-height: 1.55;\n}\n.brc-calculator,\n.brc-calculator *,\n.brc-calculator *::before,\n.brc-calculator *::after { box-sizing: border-box; }\n.brc-calculator * { min-width: 0; }\n.brc-calculator h2,\n.brc-calculator h3,\n.brc-calculator p { margin-top: 0; }\n.brc-calculator h2 { margin-bottom: 8px; font-size: 24px; line-height: 1.25; font-weight: 700; }\n.brc-calculator h3 { margin-bottom: 12px; font-size: 18px; line-height: 1.35; font-weight: 650; }\n.brc-calculator button,\n.brc-calculator input { font: inherit; }\n.brc-calculator button { min-height: 44px; touch-action: manipulation; }\n.brc-calculator input { width: 100%; min-height: 44px; }\n.brc-header { margin-bottom: 16px; }\n.brc-subtitle { max-width: 760px; margin-bottom: 12px; color: var(--muted); }\n.brc-pills { display: flex; flex-wrap: wrap; gap: 8px; }\n.brc-pill { display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 4px 10px; border: 1px solid var(--border); border-radius: 999px; background: var(--surface); color: var(--muted); font-size: 13px; font-weight: 600; }\n.brc-pill strong { color: var(--ink); font-variant-numeric: tabular-nums; }\n.brc-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 16px; }\n.brc-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; border: 1px solid transparent; border-radius: 6px; padding: 11px 18px; font-weight: 650; line-height: 1.2; cursor: pointer; white-space: nowrap; transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease, transform .15s ease; }\n.brc-button:hover { box-shadow: 0 2px 5px rgba(15,23,42,.10); }\n.brc-button:active { transform: translateY(1px); }\n.brc-button:focus-visible,\n.brc-input:focus-visible { outline: 3px solid rgba(29,78,216,.32); outline-offset: 2px; }\n.brc-download { background: var(--accent); color: #fff; }\n.brc-download:hover { background: var(--accent-hover); }\n.brc-secondary { border-color: #cbd5e1; background: var(--surface); color: var(--ink); }\n.brc-secondary:hover { background: #f1f5f9; }\n.brc-icon { width: 18px; height: 18px; flex: 0 0 18px; }\n.brc-workspace { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr); gap: 16px; align-items: start; }\n.brc-card { min-width: 0; background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 16px; box-shadow: 0 1px 2px rgba(15,23,42,.06); }\n.brc-card + .brc-card { margin-top: 16px; }\n.brc-section-heading { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 12px; margin-bottom: 12px; }\n.brc-section-heading h3 { margin-bottom: 0; }\n.brc-section-note { color: var(--muted); font-size: 13px; font-weight: 500; }\n.brc-rows { display: grid; gap: 12px; }\n.brc-loan-row { display: grid; grid-template-columns: 42px minmax(130px, 1.2fr) minmax(110px, .8fr) 44px; gap: 8px; align-items: start; padding: 12px; border: 1px solid var(--border); border-radius: 6px; background: var(--tint); }\n.brc-row-number { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; margin-top: 28px; border-radius: 50%; background: #dbeafe; color: #1e3a8a; font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; }\n.brc-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }\n.brc-label { color: var(--ink); font-size: 14px; font-weight: 600; }\n.brc-input-wrap { position: relative; min-width: 0; }\n.brc-input { border: 1px solid #cbd5e1; border-radius: 6px; background: var(--surface); color: var(--ink); padding: 9px 12px; font-size: 15px; font-variant-numeric: tabular-nums; }\n.brc-input:hover { border-color: #94a3b8; }\n.brc-input[aria-invalid=\"true\"] { border-color: #b91c1c; }\n.brc-prefix .brc-input { padding-left: 28px; }\n.brc-suffix .brc-input { padding-right: 34px; }\n.brc-unit { position: absolute; top: 50%; transform: translateY(-50%); color: var(--muted); font-size: 14px; font-weight: 600; pointer-events: none; }\n.brc-prefix .brc-unit { left: 11px; }\n.brc-suffix .brc-unit { right: 11px; }\n.brc-helper { min-height: 20px; color: var(--muted); font-size: 13px; font-weight: 500; }\n.brc-error { min-height: 20px; color: #991b1b; font-size: 13px; font-weight: 600; }\n.brc-remove { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-top: 28px; padding: 0; border: 1px solid #cbd5e1; border-radius: 6px; background: var(--surface); color: #334155; cursor: pointer; }\n.brc-remove:hover { border-color: #94a3b8; background: #f1f5f9; }\n.brc-remove:disabled { opacity: .45; cursor: not-allowed; }\n.brc-add-wrap { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; }\n.brc-limit { color: var(--muted); font-size: 13px; font-weight: 500; }\n.brc-results { display: grid; gap: 12px; }\n.brc-primary-result { padding: 16px; border: 1px solid #bfdbfe; border-radius: 8px; background: #eff6ff; }\n.brc-primary-label { margin-bottom: 4px; color: #1e3a8a; font-size: 13px; font-weight: 650; text-transform: uppercase; letter-spacing: .04em; }\n.brc-primary-value { color: #1e3a8a; font-size: 30px; line-height: 1.15; font-weight: 700; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }\n.brc-result-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }\n.brc-result-item { padding: 12px; border: 1px solid var(--border); border-radius: 6px; background: var(--tint); }\n.brc-result-label { margin-bottom: 4px; color: var(--muted); font-size: 13px; font-weight: 600; }\n.brc-result-value { color: var(--ink); font-size: 20px; line-height: 1.25; font-weight: 700; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }\n.brc-formula { padding: 12px; border-left: 3px solid var(--primary); background: var(--tint); color: var(--muted); font-size: 13px; }\n.brc-formula strong { color: var(--ink); }\n.brc-empty { padding: 14px; border: 1px dashed #94a3b8; border-radius: 6px; background: var(--tint); color: var(--muted); font-size: 14px; text-align: center; }\n.brc-breakdown { margin-top: 16px; }\n.brc-chart-card { min-width: 0; }\n.brc-chart-cluster { display: grid; grid-template-columns: minmax(220px, 320px) minmax(250px, max-content); justify-content: center; align-items: center; gap: 24px; margin-top: 8px; }\n.brc-chart-plot { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 250px; }\n.brc-chart-svg { display: block; width: min(100%, 300px); height: auto; overflow: visible; }\n.brc-chart-center-main { fill: var(--ink); font-size: 19px; font-weight: 700; text-anchor: middle; font-variant-numeric: tabular-nums; }\n.brc-chart-center-sub { fill: var(--muted); font-size: 13px; font-weight: 600; text-anchor: middle; }\n.brc-legend { display: grid; gap: 8px; align-content: center; }\n.brc-legend-row { display: grid; grid-template-columns: 12px minmax(110px, max-content) max-content max-content; align-items: center; gap: 8px 12px; padding: 6px 0; font-size: 13px; }\n.brc-swatch { width: 12px; height: 12px; border-radius: 3px; }\n.brc-legend-name { font-weight: 650; overflow-wrap: anywhere; }\n.brc-legend-value,\n.brc-legend-percent { color: var(--muted); font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }\n.brc-chart-callout { margin-top: 16px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 6px; background: var(--tint); color: var(--muted); font-size: 13px; }\n.brc-chart-table-wrap { margin-top: 16px; }\n.brc-safe-stack .brc-chart-cluster { grid-template-columns: minmax(0, 1fr); gap: 16px; }\n.brc-safe-stack .brc-chart-plot { min-height: 220px; }\n.brc-safe-stack .brc-legend { justify-content: center; margin-top: 0; }\n.brc-safe-stack .brc-chart-callout { margin-top: 16px; }\n.brc-table-card { margin-top: 16px; }\n.brc-table-overflow { width: 100%; overflow-x: auto; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); }\n.brc-table { width: 100%; min-width: 760px; border-collapse: collapse; font-size: 13px; font-variant-numeric: tabular-nums; }\n.brc-table th,\n.brc-table td { padding: 10px 12px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }\n.brc-table th { background: #0f172a; color: #fff; font-weight: 650; white-space: nowrap; }\n.brc-table td.brc-num { text-align: right; white-space: nowrap; }\n.brc-table tbody tr:last-child td { border-bottom: 0; }\n.brc-table tbody tr:hover { background: #f8fafc; }\n.brc-table-note { margin-top: 16px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 6px; background: var(--tint); color: var(--muted); font-size: 13px; }\n.brc-safe-table-stack .brc-table-note { margin-top: 20px; }\n.brc-education { margin-top: 16px; padding: 24px; background: var(--surface); border: 1px solid var(--border); border-radius: 8px; }\n.brc-education-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 32px; }\n.brc-education-section { min-width: 0; }\n.brc-education-section.brc-wide { grid-column: 1 \/ -1; }\n.brc-education p { margin-bottom: 12px; color: #334155; }\n.brc-education ul { margin: 0 0 12px; padding-left: 20px; color: #334155; }\n.brc-education li + li { margin-top: 6px; }\n.brc-education a { color: #1d4ed8; text-decoration: underline; text-underline-offset: 2px; }\n.brc-education a:hover { color: #1e40af; }\n.brc-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }\n@container (max-width: 899px) {\n  .brc-workspace { grid-template-columns: minmax(0, 1fr); }\n  .brc-chart-cluster { grid-template-columns: minmax(220px, 320px) minmax(250px, max-content); }\n}\n@container (max-width: 639px) {\n  .brc-calculator { padding: 16px; }\n  .brc-loan-row { grid-template-columns: 34px minmax(0, 1fr) 44px; }\n  .brc-row-number { grid-column: 1; grid-row: 1 \/ span 2; margin-top: 28px; width: 32px; height: 32px; }\n  .brc-field { grid-column: 2; }\n  .brc-remove { grid-column: 3; grid-row: 1 \/ span 2; }\n  .brc-chart-cluster { grid-template-columns: minmax(0, 1fr); gap: 16px; }\n  .brc-chart-plot { min-height: 220px; }\n  .brc-legend { justify-content: center; }\n  .brc-result-grid { grid-template-columns: minmax(0, 1fr); }\n  .brc-education-grid { grid-template-columns: minmax(0, 1fr); }\n  .brc-education-section.brc-wide { grid-column: auto; }\n}\n@container (max-width: 420px) {\n  .brc-calculator { padding: 12px; }\n  .brc-card,\n  .brc-education { padding: 12px; }\n  .brc-toolbar { align-items: stretch; }\n  .brc-button { flex: 1 1 100%; }\n  .brc-add-wrap { align-items: stretch; flex-direction: column; }\n  .brc-add-wrap .brc-button { width: 100%; }\n  .brc-legend-row { grid-template-columns: 12px minmax(0, 1fr) max-content; gap: 6px 8px; }\n  .brc-legend-percent { grid-column: 2 \/ 4; padding-left: 0; }\n}\n@media (max-width: 899px) {\n  .brc-workspace { grid-template-columns: minmax(0, 1fr); }\n}\n@media (max-width: 639px) {\n  .brc-chart-cluster { grid-template-columns: minmax(0, 1fr); gap: 16px; }\n}\n\u003c\/style\u003e\n\u003cdiv class=\"brc-calculator\" data-calculator-root\u003e\n  \u003csection class=\"brc-header\" aria-labelledby=\"brc-title\"\u003e\n    \u003ch2 id=\"brc-title\"\u003eBlended Rate Calculator\u003c\/h2\u003e\n    \u003cp class=\"brc-subtitle\"\u003eCombine multiple balances and interest rates into one balance-weighted effective rate for the same payment period.\u003c\/p\u003e\n    \u003cdiv class=\"brc-pills\" aria-label=\"Live calculation summary\"\u003e\n      \u003cspan class=\"brc-pill\"\u003eActive balances \u003cstrong data-brc-pill-count\u003e2\u003c\/strong\u003e\u003c\/span\u003e\n      \u003cspan class=\"brc-pill\"\u003eTotal balance \u003cstrong data-brc-pill-balance\u003e$10,200.00\u003c\/strong\u003e\u003c\/span\u003e\n      \u003cspan class=\"brc-pill\"\u003ePeriod interest \u003cstrong data-brc-pill-interest\u003e$1,010.00\u003c\/strong\u003e\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003cdiv class=\"brc-toolbar\" aria-label=\"Calculator actions\"\u003e\n    \u003cbutton class=\"brc-button brc-download\" type=\"button\" data-brc-download\u003e\n      \u003csvg class=\"brc-icon\" viewbox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"\u003e\u003cpath fill=\"currentColor\" d=\"M5 2h10l4 4v16H5V2Zm9 2H7v16h10V7h-3V4Zm-5 7h2V8h2v3h2l-3 4-3-4Zm0 6h6v2H9v-2Z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n      \u003cspan\u003eDownload Excel\u003c\/span\u003e\n    \u003c\/button\u003e\n    \u003cbutton class=\"brc-button brc-secondary\" type=\"button\" data-brc-reset\u003eReset\u003c\/button\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"brc-workspace\"\u003e\n    \u003csection class=\"brc-card\" aria-labelledby=\"brc-inputs-title\"\u003e\n      \u003cdiv class=\"brc-section-heading\"\u003e\n        \u003ch3 id=\"brc-inputs-title\"\u003eBalances and rates\u003c\/h3\u003e\n        \u003cspan class=\"brc-section-note\"\u003eUse the same rate period for every row.\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"brc-rows\" data-brc-rows\u003e\n        \u003cdiv class=\"brc-loan-row\" data-brc-row data-brc-index=\"0\"\u003e\n          \u003cspan class=\"brc-row-number\" aria-hidden=\"true\"\u003e1\u003c\/span\u003e\n          \u003cdiv class=\"brc-field\"\u003e\n            \u003clabel class=\"brc-label\" for=\"brc-balance-0\"\u003eBalance 1\u003c\/label\u003e\n            \u003cdiv class=\"brc-input-wrap brc-prefix\"\u003e\n\u003cspan class=\"brc-unit\" aria-hidden=\"true\"\u003e$\u003c\/span\u003e\u003cinput class=\"brc-input\" id=\"brc-balance-0\" data-brc-balance type=\"text\" inputmode=\"decimal\" autocomplete=\"off\" value=\"10,000.00\" aria-describedby=\"brc-balance-help-0 brc-row-error-0\"\u003e\n\u003c\/div\u003e\n            \u003cspan class=\"brc-helper\" id=\"brc-balance-help-0\"\u003eOutstanding amount for this balance.\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"brc-field\"\u003e\n            \u003clabel class=\"brc-label\" for=\"brc-rate-0\"\u003eRate 1\u003c\/label\u003e\n            \u003cdiv class=\"brc-input-wrap brc-suffix\"\u003e\n\u003cinput class=\"brc-input\" id=\"brc-rate-0\" data-brc-rate type=\"text\" inputmode=\"decimal\" autocomplete=\"off\" value=\"10.000\" aria-describedby=\"brc-rate-help-0 brc-row-error-0\"\u003e\u003cspan class=\"brc-unit\" aria-hidden=\"true\"\u003e%\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cspan class=\"brc-helper\" id=\"brc-rate-help-0\"\u003eRate for the shared payment period.\u003c\/span\u003e\n            \u003cspan class=\"brc-error\" id=\"brc-row-error-0\" data-brc-error aria-live=\"polite\"\u003e\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cbutton class=\"brc-remove\" type=\"button\" data-brc-remove aria-label=\"Remove balance 1\" disabled\u003e×\u003c\/button\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"brc-loan-row\" data-brc-row data-brc-index=\"1\"\u003e\n          \u003cspan class=\"brc-row-number\" aria-hidden=\"true\"\u003e2\u003c\/span\u003e\n          \u003cdiv class=\"brc-field\"\u003e\n            \u003clabel class=\"brc-label\" for=\"brc-balance-1\"\u003eBalance 2\u003c\/label\u003e\n            \u003cdiv class=\"brc-input-wrap brc-prefix\"\u003e\n\u003cspan class=\"brc-unit\" aria-hidden=\"true\"\u003e$\u003c\/span\u003e\u003cinput class=\"brc-input\" id=\"brc-balance-1\" data-brc-balance type=\"text\" inputmode=\"decimal\" autocomplete=\"off\" value=\"200.00\" aria-describedby=\"brc-balance-help-1 brc-row-error-1\"\u003e\n\u003c\/div\u003e\n            \u003cspan class=\"brc-helper\" id=\"brc-balance-help-1\"\u003eOutstanding amount for this balance.\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"brc-field\"\u003e\n            \u003clabel class=\"brc-label\" for=\"brc-rate-1\"\u003eRate 2\u003c\/label\u003e\n            \u003cdiv class=\"brc-input-wrap brc-suffix\"\u003e\n\u003cinput class=\"brc-input\" id=\"brc-rate-1\" data-brc-rate type=\"text\" inputmode=\"decimal\" autocomplete=\"off\" value=\"5.000\" aria-describedby=\"brc-rate-help-1 brc-row-error-1\"\u003e\u003cspan class=\"brc-unit\" aria-hidden=\"true\"\u003e%\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cspan class=\"brc-helper\" id=\"brc-rate-help-1\"\u003eRate for the shared payment period.\u003c\/span\u003e\n            \u003cspan class=\"brc-error\" id=\"brc-row-error-1\" data-brc-error aria-live=\"polite\"\u003e\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cbutton class=\"brc-remove\" type=\"button\" data-brc-remove aria-label=\"Remove balance 2\" disabled\u003e×\u003c\/button\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"brc-loan-row\" data-brc-row data-brc-index=\"2\"\u003e\n          \u003cspan class=\"brc-row-number\" aria-hidden=\"true\"\u003e3\u003c\/span\u003e\n          \u003cdiv class=\"brc-field\"\u003e\n            \u003clabel class=\"brc-label\" for=\"brc-balance-2\"\u003eBalance 3\u003c\/label\u003e\n            \u003cdiv class=\"brc-input-wrap brc-prefix\"\u003e\n\u003cspan class=\"brc-unit\" aria-hidden=\"true\"\u003e$\u003c\/span\u003e\u003cinput class=\"brc-input\" id=\"brc-balance-2\" data-brc-balance type=\"text\" inputmode=\"decimal\" autocomplete=\"off\" value=\"\" aria-describedby=\"brc-balance-help-2 brc-row-error-2\"\u003e\n\u003c\/div\u003e\n            \u003cspan class=\"brc-helper\" id=\"brc-balance-help-2\"\u003eOptional additional balance.\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"brc-field\"\u003e\n            \u003clabel class=\"brc-label\" for=\"brc-rate-2\"\u003eRate 3\u003c\/label\u003e\n            \u003cdiv class=\"brc-input-wrap brc-suffix\"\u003e\n\u003cinput class=\"brc-input\" id=\"brc-rate-2\" data-brc-rate type=\"text\" inputmode=\"decimal\" autocomplete=\"off\" value=\"\" aria-describedby=\"brc-rate-help-2 brc-row-error-2\"\u003e\u003cspan class=\"brc-unit\" aria-hidden=\"true\"\u003e%\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cspan class=\"brc-helper\" id=\"brc-rate-help-2\"\u003eOptional additional rate.\u003c\/span\u003e\n            \u003cspan class=\"brc-error\" id=\"brc-row-error-2\" data-brc-error aria-live=\"polite\"\u003e\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cbutton class=\"brc-remove\" type=\"button\" data-brc-remove aria-label=\"Remove balance 3\"\u003e×\u003c\/button\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"brc-add-wrap\"\u003e\n        \u003cbutton class=\"brc-button brc-secondary\" type=\"button\" data-brc-add\u003e+ Add balance\u003c\/button\u003e\n        \u003cspan class=\"brc-limit\" data-brc-limit\u003e3 of 10 rows shown\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003caside class=\"brc-card\" aria-labelledby=\"brc-results-title\"\u003e\n      \u003cdiv class=\"brc-section-heading\"\u003e\u003ch3 id=\"brc-results-title\"\u003eLive results\u003c\/h3\u003e\u003c\/div\u003e\n      \u003cdiv class=\"brc-results\" data-brc-results\u003e\n        \u003cdiv class=\"brc-primary-result\"\u003e\n          \u003cdiv class=\"brc-primary-label\"\u003eEffective blended rate\u003c\/div\u003e\n          \u003cdiv class=\"brc-primary-value\" data-brc-blended\u003e9.902%\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"brc-result-grid\"\u003e\n          \u003cdiv class=\"brc-result-item\"\u003e\n\u003cdiv class=\"brc-result-label\"\u003eTotal balance\u003c\/div\u003e\n\u003cdiv class=\"brc-result-value\" data-brc-total-balance\u003e$10,200.00\u003c\/div\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"brc-result-item\"\u003e\n\u003cdiv class=\"brc-result-label\"\u003eInterest per period\u003c\/div\u003e\n\u003cdiv class=\"brc-result-value\" data-brc-total-interest\u003e$1,010.00\u003c\/div\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"brc-result-item\"\u003e\n\u003cdiv class=\"brc-result-label\"\u003eHighest entered rate\u003c\/div\u003e\n\u003cdiv class=\"brc-result-value\" data-brc-highest\u003e10.000%\u003c\/div\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"brc-result-item\"\u003e\n\u003cdiv class=\"brc-result-label\"\u003eActive balances\u003c\/div\u003e\n\u003cdiv class=\"brc-result-value\" data-brc-count\u003e2\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"brc-formula\"\u003e\n\u003cstrong\u003eFormula:\u003c\/strong\u003e sum of each balance × its rate, divided by the total balance.\u003c\/div\u003e\n        \u003cdiv class=\"brc-visually-hidden\" aria-live=\"polite\" aria-atomic=\"true\" data-brc-live\u003eBlended rate 9.902 percent. Total balance 10,200 dollars.\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/aside\u003e\n  \u003c\/div\u003e\n\n  \u003csection class=\"brc-card brc-breakdown brc-chart-card\" data-brc-chart-card aria-labelledby=\"brc-breakdown-title\"\u003e\n    \u003cdiv class=\"brc-section-heading\"\u003e\n      \u003ch3 id=\"brc-breakdown-title\"\u003eBalance mix\u003c\/h3\u003e\n      \u003cspan class=\"brc-section-note\"\u003eEach segment represents its share of the combined balance.\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv data-brc-chart-empty class=\"brc-empty\" hidden\u003eEnter a positive balance and rate to see the breakdown.\u003c\/div\u003e\n    \u003cdiv data-brc-chart-content\u003e\n      \u003cdiv class=\"brc-chart-cluster\"\u003e\n        \u003cdiv class=\"brc-chart-plot\" data-brc-chart-plot\u003e\u003c\/div\u003e\n        \u003cdiv class=\"brc-legend\" data-brc-legend aria-label=\"Balance mix legend\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"brc-chart-callout\" data-brc-chart-caption\u003e\u003c\/div\u003e\n      \u003cdiv class=\"brc-table-overflow brc-chart-table-wrap brc-visually-hidden\" data-brc-chart-summary aria-label=\"Accessible balance breakdown\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"brc-card brc-table-card\" data-brc-table-card aria-labelledby=\"brc-table-title\"\u003e\n    \u003cdiv class=\"brc-section-heading\"\u003e\n      \u003ch3 id=\"brc-table-title\"\u003eContribution detail\u003c\/h3\u003e\n      \u003cspan class=\"brc-section-note\"\u003eValues reconcile to the live result.\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"brc-table-overflow\" data-brc-table-overflow\u003e\n      \u003ctable class=\"brc-table\"\u003e\n        \u003cthead\u003e\u003ctr\u003e\n\u003cth scope=\"col\"\u003eBalance\u003c\/th\u003e\n\u003cth scope=\"col\"\u003eAmount\u003c\/th\u003e\n\u003cth scope=\"col\"\u003eRate\u003c\/th\u003e\n\u003cth scope=\"col\"\u003eBalance share\u003c\/th\u003e\n\u003cth scope=\"col\"\u003eInterest \/ period\u003c\/th\u003e\n\u003cth scope=\"col\"\u003eRate contribution\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n        \u003ctbody data-brc-table-body\u003e\u003c\/tbody\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"brc-table-note\" data-brc-table-note\u003eRate contribution equals balance share multiplied by the row rate; all contributions sum to the blended rate.\u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"brc-education\" aria-labelledby=\"brc-guide-title\"\u003e\n    \u003ch2 id=\"brc-guide-title\"\u003eHow to use and interpret the blended rate\u003c\/h2\u003e\n    \u003cdiv class=\"brc-education-grid\"\u003e\n      \u003cdiv class=\"brc-education-section\"\u003e\n        \u003ch3\u003eWhat this calculator estimates\u003c\/h3\u003e\n        \u003cp\u003eA blended rate is a weighted average interest rate across several balances. Unlike a simple average, it gives more influence to larger balances. A $100,000 loan therefore affects the result far more than a $1,000 balance, even when both rates are entered in the same list. The calculator combines up to ten balances and reports the single rate that would generate the same total interest for one shared payment period.\u003c\/p\u003e\n        \u003cp\u003eThe rates must use the same period. Annual rates can be blended with annual rates, and monthly rates with monthly rates. Mixing a monthly credit-card rate with an annual mortgage rate produces a number that has no consistent economic meaning. Guidance on consumer loan disclosures and annual percentage rates is available from the \u003ca href=\"https:\/\/www.consumerfinance.gov\/ask-cfpb\/what-is-the-difference-between-an-interest-rate-and-the-annual-percentage-rate-apr-en-733\/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eConsumer Financial Protection Bureau\u003c\/a\u003e.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"brc-education-section\"\u003e\n        \u003ch3\u003eInput guide\u003c\/h3\u003e\n        \u003cp\u003e\u003cstrong\u003eBalance\u003c\/strong\u003e is the outstanding principal or amount exposed to the stated rate during the chosen period. Enter a positive dollar amount. A larger balance increases that row’s weight and pulls the blended result toward its rate. Use current balances rather than original loan amounts when evaluating today’s combined exposure.\u003c\/p\u003e\n        \u003cp\u003e\u003cstrong\u003eRate\u003c\/strong\u003e is the interest rate for the same period across every row. Enter it as a percentage, such as 6.5 for 6.5%. Zero is valid and represents an interest-free balance. Negative rates are rejected because they are outside the intended debt-comparison workflow. The \u003ca href=\"https:\/\/www.federalreserve.gov\/consumerscommunities.htm\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eFederal Reserve’s consumer resources\u003c\/a\u003e provide broader background on borrowing and credit.\u003c\/p\u003e\n        \u003cp\u003eRows are optional until either field is used. A partially completed row is flagged and excluded until both balance and rate are valid. Add or remove rows as needed; the maximum is ten. Reset clears the entered scenario to a neutral empty state rather than restoring the opening example.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"brc-education-section\"\u003e\n        \u003ch3\u003eUnderstanding each result\u003c\/h3\u003e\n        \u003cp\u003e\u003cstrong\u003eEffective blended rate\u003c\/strong\u003e is the primary output. It is the balance-weighted rate across active rows. A high value means a significant portion of the combined balance carries relatively expensive financing. A low value can reflect generally low rates or a large low-rate balance offsetting smaller high-rate balances. A zero result means all active balances have a zero rate.\u003c\/p\u003e\n        \u003cp\u003e\u003cstrong\u003eTotal balance\u003c\/strong\u003e is the sum of valid positive balances. \u003cstrong\u003eInterest per period\u003c\/strong\u003e is the sum of balance multiplied by rate for that period. It is not a scheduled payment and does not include principal repayment, compounding, fees, or changing balances. \u003cstrong\u003eHighest entered rate\u003c\/strong\u003e identifies the most expensive nominal rate, while \u003cstrong\u003eactive balances\u003c\/strong\u003e counts complete rows included in the model.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"brc-education-section\"\u003e\n        \u003ch3\u003eChart and table interpretation\u003c\/h3\u003e\n        \u003cp\u003eThe donut chart shows the balance mix, not the rate mix. A large segment indicates that the corresponding balance has substantial influence on the blended rate. The legend keeps the segment amount and percentage together. The accessible summary and contribution table use the same calculation model, so their values reconcile with the chart and headline result.\u003c\/p\u003e\n        \u003cp\u003eIn the table, \u003cstrong\u003ebalance share\u003c\/strong\u003e is the row balance divided by the total balance. \u003cstrong\u003eInterest per period\u003c\/strong\u003e is the row’s balance times its rate. \u003cstrong\u003eRate contribution\u003c\/strong\u003e is that row’s exact contribution to the blended percentage. Adding all rate contributions produces the effective blended rate.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"brc-education-section brc-wide\"\u003e\n        \u003ch3\u003eFormula, practical use, and common mistakes\u003c\/h3\u003e\n        \u003cp\u003eThe model calculates each row’s period interest, adds those amounts, and divides by the combined balance. In symbols: blended rate = Σ(balance × rate) ÷ Σ(balance). This is the standard weighted-average approach described in general finance references such as \u003ca href=\"https:\/\/www.investopedia.com\/terms\/w\/weightedaverage.asp\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eInvestopedia’s weighted-average overview\u003c\/a\u003e. Because the calculation is linear, doubling every balance leaves the blended rate unchanged, while changing the size of one balance changes its influence.\u003c\/p\u003e\n        \u003cp\u003eUse the result to compare an existing group of same-period debts with a proposed consolidation rate, to summarize a portfolio of fixed-rate balances, or to estimate the average rate after adding a new tranche. A proposed consolidation rate below the current blended rate may reduce nominal interest, but fees, term extension, compounding conventions, prepayment rules, and payment timing can change the full economic outcome. Review the lender’s disclosures rather than relying on the blended rate alone. For mortgage-related comparisons, the \u003ca href=\"https:\/\/www.consumerfinance.gov\/owning-a-home\/loan-estimate\/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eCFPB Loan Estimate guide\u003c\/a\u003e explains key costs beyond the headline rate.\u003c\/p\u003e\n        \u003cp\u003eCommon mistakes include averaging rates without weighting them, mixing annual and monthly rates, entering original instead of current balances, treating period interest as the required payment, and ignoring fees. Very small high-rate balances may barely move the blended result; very large low-rate balances can dominate it. Test changes one assumption at a time and use the Excel export to retain the exact current scenario, inputs, breakdown, and calculation notes.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\u003c\/div\u003e","brand":"FinancialModelsLab","offers":[{"title":"Default Title","offer_id":49909488582899,"sku":"blended-rate","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6191\/2762\/files\/blended-rate.webp?v=1783935558","url":"https:\/\/financialmodelslab.com\/products\/blended-rate","provider":"Financial Models Lab","version":"1.0","type":"link"}