{"product_id":"residual-income","title":"Residual Income Calculator","description":"\u003cstyle\u003e\n.ri-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  color: var(--ink);\n  background: var(--tint);\n  border: 1px solid var(--border);\n  border-radius: 8px;\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\n  font-size: 15px;\n  line-height: 1.55;\n  max-width: 1200px;\n  margin: 0 auto;\n  padding: 24px;\n  box-shadow: 0 1px 2px rgba(15, 23, 42, .06);\n  overflow-wrap: anywhere;\n}\n.ri-calculator,\n.ri-calculator *,\n.ri-calculator *::before,\n.ri-calculator *::after { box-sizing: border-box; }\n.ri-calculator * { min-width: 0; }\n.ri-calculator h2,\n.ri-calculator h3,\n.ri-calculator p { margin-top: 0; }\n.ri-calculator h2 { font-size: 24px; line-height: 1.25; font-weight: 700; margin-bottom: 8px; }\n.ri-calculator h3 { font-size: 18px; line-height: 1.35; font-weight: 650; margin-bottom: 8px; }\n.ri-header { margin-bottom: 16px; }\n.ri-header-copy { color: var(--muted); max-width: 760px; margin-bottom: 16px; }\n.ri-pills { display: flex; flex-wrap: wrap; gap: 8px; }\n.ri-pill {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n  min-height: 32px;\n  padding: 6px 10px;\n  background: var(--surface);\n  border: 1px solid var(--border);\n  border-radius: 999px;\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n  font-variant-numeric: tabular-nums;\n}\n.ri-pill strong { color: var(--ink); font-weight: 700; }\n.ri-toolbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 24px; }\n.ri-button {\n  min-height: 44px;\n  border-radius: 6px;\n  border: 1px solid transparent;\n  padding: 11px 16px;\n  font: inherit;\n  font-weight: 650;\n  cursor: pointer;\n  transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;\n}\n.ri-button:hover { box-shadow: 0 2px 6px rgba(15, 23, 42, .12); }\n.ri-button:active { transform: translateY(1px); }\n.ri-button:focus-visible,\n.ri-input:focus-visible { outline: 3px solid #1d4ed8; outline-offset: 2px; }\n.ri-button-primary {\n  display: inline-flex;\n  align-items: center;\n  gap: 10px;\n  padding: 12px 18px;\n  color: #ffffff;\n  background: var(--accent);\n  border-color: var(--accent);\n  white-space: nowrap;\n}\n.ri-button-primary:hover { background: var(--accent-hover); border-color: var(--accent-hover); }\n.ri-button-primary svg { width: 19px; height: 19px; flex: 0 0 auto; }\n.ri-button-secondary { color: var(--ink); background: var(--surface); border-color: #cbd5e1; }\n.ri-workspace { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; margin-bottom: 24px; }\n.ri-panel,\n.ri-section {\n  background: var(--surface);\n  border: 1px solid var(--border);\n  border-radius: 8px;\n  box-shadow: 0 1px 2px rgba(15, 23, 42, .06);\n}\n.ri-panel { padding: 20px; }\n.ri-panel-title { margin-bottom: 4px; }\n.ri-panel-copy { color: var(--muted); font-size: 13px; font-weight: 500; margin-bottom: 16px; }\n.ri-form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 16px; align-items: start; }\n.ri-field { display: flex; flex-direction: column; gap: 8px; }\n.ri-label { font-size: 14px; line-height: 1.35; font-weight: 600; color: var(--ink); }\n.ri-input-wrap { position: relative; }\n.ri-input {\n  width: 100%;\n  min-height: 44px;\n  border: 1px solid #64748b;\n  border-radius: 6px;\n  background: #ffffff;\n  color: var(--ink);\n  padding: 10px 44px 10px 12px;\n  font: inherit;\n  font-size: 15px;\n  font-variant-numeric: tabular-nums;\n}\n.ri-input:hover { border-color: #475569; }\n.ri-unit {\n  position: absolute;\n  inset-inline-end: 12px;\n  top: 50%;\n  transform: translateY(-50%);\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 650;\n  pointer-events: none;\n}\n.ri-helper { min-height: 40px; color: var(--muted); font-size: 13px; line-height: 1.45; font-weight: 500; margin: 0; }\n.ri-error { min-height: 19px; color: #b91c1c; font-size: 13px; line-height: 1.4; font-weight: 600; margin: 0; }\n.ri-results { display: grid; gap: 16px; align-content: start; }\n.ri-primary-result {\n  border-inline-start: 4px solid var(--primary);\n  background: #eff6ff;\n  padding: 18px;\n  border-radius: 6px;\n}\n.ri-primary-label { color: var(--muted); font-size: 13px; font-weight: 650; margin-bottom: 4px; }\n.ri-primary-value { font-size: clamp(24px, 4vw, 30px); line-height: 1.2; font-weight: 700; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }\n.ri-primary-note { color: var(--muted); font-size: 13px; font-weight: 500; margin: 8px 0 0; }\n.ri-result-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }\n.ri-result-card { border: 1px solid var(--border); border-radius: 6px; padding: 14px; background: var(--surface); }\n.ri-result-label { color: var(--muted); font-size: 13px; font-weight: 600; margin-bottom: 4px; }\n.ri-result-value { font-size: 20px; line-height: 1.25; font-weight: 700; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }\n.ri-status { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 650; padding: 7px 10px; border-radius: 999px; width: fit-content; }\n.ri-status-positive { color: #065f46; background: #d1fae5; }\n.ri-status-negative { color: #991b1b; background: #fee2e2; }\n.ri-status-neutral { color: #334155; background: #e2e8f0; }\n.ri-status-dot { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }\n.ri-section { padding: 20px; margin-bottom: 24px; }\n.ri-section-head { margin-bottom: 16px; }\n.ri-section-head p { color: var(--muted); font-size: 13px; font-weight: 500; margin-bottom: 0; }\n.ri-chart-cluster { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; align-items: center; justify-items: center; max-width: 980px; margin: 0 auto; }\n.ri-plot-wrap { width: 100%; max-width: 660px; min-height: 0; display: flex; align-items: center; justify-content: center; }\n.ri-chart-svg { display: block; width: 100%; height: auto; max-width: 100%; min-height: 0; overflow: visible; }\n.ri-chart-grid { stroke: #cbd5e1; stroke-width: 1; }\n.ri-chart-axis { stroke: #64748b; stroke-width: 1.5; }\n.ri-chart-tick { fill: #475569; font-size: 13px; font-weight: 500; }\n.ri-chart-label { fill: #334155; font-size: 13px; font-weight: 600; }\n.ri-chart-value { font-size: 13px; font-weight: 700; }\n.ri-legend { display: grid; gap: 10px; width: fit-content; max-width: 100%; }\n.ri-legend-row { display: grid; grid-template-columns: 12px minmax(90px, max-content) max-content; gap: 12px; align-items: center; font-size: 13px; font-weight: 500; }\n.ri-swatch { width: 12px; height: 12px; border-radius: 3px; }\n.ri-legend-name { color: var(--muted); }\n.ri-legend-value { color: var(--ink); font-weight: 700; font-variant-numeric: tabular-nums; }\n.ri-chart-empty { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 120px; padding: 16px; border: 1px dashed #cbd5e1; border-radius: 6px; color: var(--muted); background: var(--tint); font-size: 13px; font-weight: 600; text-align: center; }\n.ri-chart-callout,\n.ri-table-note { border: 1px solid var(--border); border-radius: 6px; background: var(--tint); padding: 10px 12px; color: var(--muted); font-size: 13px; font-weight: 500; }\n.ri-chart-callout { margin-top: 16px; }\n.ri-chart-summary { margin-top: 8px; color: #334155; }\n.ri-safe-stack .ri-chart-cluster { grid-template-columns: minmax(0, 1fr) !important; row-gap: 24px !important; }\n.ri-safe-stack .ri-chart-callout { margin-top: 20px !important; }\n.ri-table-overflow { width: 100%; overflow-x: auto; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); }\n.ri-table { width: 100%; min-width: 650px; border-collapse: collapse; font-variant-numeric: tabular-nums; }\n.ri-table th,\n.ri-table td { padding: 11px 12px; text-align: right; border-bottom: 1px solid var(--border); white-space: nowrap; }\n.ri-table th { background: #0f172a; color: #ffffff; font-size: 13px; font-weight: 650; }\n.ri-table th:first-child,\n.ri-table td:first-child { text-align: left; }\n.ri-table tbody tr:last-child td { border-bottom: 0; }\n.ri-table tbody tr:hover { background: #f8fafc; }\n.ri-table-current { background: #eff6ff; }\n.ri-table-note { margin-top: 16px; }\n.ri-safe-table-stack .ri-table-note { margin-top: 20px !important; }\n.ri-education { background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 24px; }\n.ri-education h2 { margin-top: 28px; }\n.ri-education h2:first-child { margin-top: 0; }\n.ri-education h3 { margin-top: 20px; }\n.ri-education p { color: #334155; margin-bottom: 12px; }\n.ri-education ul { margin: 0 0 16px; padding-inline-start: 22px; color: #334155; }\n.ri-education li { margin-bottom: 8px; }\n.ri-education a { color: var(--primary); text-decoration: underline; text-underline-offset: 2px; }\n.ri-education a:hover { color: #1e40af; }\n.ri-formula { background: var(--tint); border-inline-start: 4px solid var(--primary); border-radius: 6px; padding: 12px 14px; font-weight: 650; font-variant-numeric: tabular-nums; margin-bottom: 16px; }\n.ri-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@media (min-width: 640px) {\n  .ri-chart-cluster { grid-template-columns: minmax(0, 660px) max-content; column-gap: 28px; }\n}\n@media (min-width: 900px) {\n  .ri-workspace { grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr); }\n}\n@media (max-width: 639px) {\n  .ri-calculator { padding: 16px; }\n  .ri-panel,\n  .ri-section,\n  .ri-education { padding: 16px; }\n  .ri-result-grid { grid-template-columns: minmax(0, 1fr); }\n  .ri-chart-cluster { row-gap: 16px; }\n  .ri-chart-callout { margin-top: 16px; }\n  .ri-legend-row { grid-template-columns: 12px minmax(0, 1fr) max-content; gap: 10px; width: 100%; }\n  .ri-legend { width: 100%; }\n}\n@media (max-width: 380px) {\n  .ri-calculator { padding: 12px; }\n  .ri-toolbar { align-items: stretch; }\n  .ri-button { width: 100%; justify-content: center; }\n  .ri-form-grid { grid-template-columns: minmax(0, 1fr); }\n}\n\u003c\/style\u003e\n\u003cdiv class=\"ri-calculator\" data-calculator-root\u003e\n  \u003cdiv class=\"ri-header\"\u003e\n    \u003ch2\u003eResidual Income Calculator\u003c\/h2\u003e\n    \u003cp class=\"ri-header-copy\"\u003eMeasure economic profit after charging net income for shareholders’ required return on equity capital.\u003c\/p\u003e\n    \u003cdiv class=\"ri-pills\" aria-label=\"Live calculation summary\"\u003e\n      \u003cspan class=\"ri-pill\"\u003eResidual income \u003cstrong data-ri-pill=\"residual\"\u003e—\u003c\/strong\u003e\u003c\/span\u003e\n      \u003cspan class=\"ri-pill\"\u003eEquity charge \u003cstrong data-ri-pill=\"charge\"\u003e—\u003c\/strong\u003e\u003c\/span\u003e\n      \u003cspan class=\"ri-pill\"\u003eROE spread \u003cstrong data-ri-pill=\"spread\"\u003e—\u003c\/strong\u003e\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"ri-toolbar\"\u003e\n    \u003cbutton class=\"ri-button ri-button-primary\" type=\"button\" data-ri-action=\"download\"\u003e\n      \u003csvg viewbox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 3v11m0 0 4-4m-4 4-4-4M5 17v3h14v-3\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n      \u003cspan\u003eDownload Excel\u003c\/span\u003e\n    \u003c\/button\u003e\n    \u003cbutton class=\"ri-button ri-button-secondary\" type=\"button\" data-ri-action=\"reset\"\u003eReset\u003c\/button\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"ri-workspace\"\u003e\n    \u003csection class=\"ri-panel\" aria-labelledby=\"ri-inputs-title\"\u003e\n      \u003ch3 class=\"ri-panel-title\" id=\"ri-inputs-title\"\u003eCompany inputs\u003c\/h3\u003e\n      \u003cp class=\"ri-panel-copy\"\u003eUse figures from the same reporting period and the same equity basis.\u003c\/p\u003e\n      \u003cdiv class=\"ri-form-grid\"\u003e\n        \u003cdiv class=\"ri-field\"\u003e\n          \u003clabel class=\"ri-label\" for=\"ri-net-income\"\u003eNet income\u003c\/label\u003e\n          \u003cdiv class=\"ri-input-wrap\"\u003e\n            \u003cinput class=\"ri-input\" id=\"ri-net-income\" name=\"ri-net-income\" type=\"text\" inputmode=\"decimal\" autocomplete=\"off\" value=\"$80,520,000.00\" aria-describedby=\"ri-net-income-help ri-net-income-error\"\u003e\n            \u003cspan class=\"ri-unit\" aria-hidden=\"true\"\u003eUSD\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cp class=\"ri-helper\" id=\"ri-net-income-help\"\u003eAfter-tax accounting profit for the period. A loss may be entered as a negative value.\u003c\/p\u003e\n          \u003cp class=\"ri-error\" id=\"ri-net-income-error\" data-ri-error=\"netIncome\" aria-live=\"polite\"\u003e\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ri-field\"\u003e\n          \u003clabel class=\"ri-label\" for=\"ri-equity-capital\"\u003eEquity capital\u003c\/label\u003e\n          \u003cdiv class=\"ri-input-wrap\"\u003e\n            \u003cinput class=\"ri-input\" id=\"ri-equity-capital\" name=\"ri-equity-capital\" type=\"text\" inputmode=\"decimal\" autocomplete=\"off\" value=\"$800,000,000.00\" aria-describedby=\"ri-equity-capital-help ri-equity-capital-error\"\u003e\n            \u003cspan class=\"ri-unit\" aria-hidden=\"true\"\u003eUSD\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cp class=\"ri-helper\" id=\"ri-equity-capital-help\"\u003eBook value of common shareholders’ equity supporting the period’s earnings.\u003c\/p\u003e\n          \u003cp class=\"ri-error\" id=\"ri-equity-capital-error\" data-ri-error=\"equityCapital\" aria-live=\"polite\"\u003e\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ri-field\"\u003e\n          \u003clabel class=\"ri-label\" for=\"ri-cost-equity\"\u003eCost of equity\u003c\/label\u003e\n          \u003cdiv class=\"ri-input-wrap\"\u003e\n            \u003cinput class=\"ri-input\" id=\"ri-cost-equity\" name=\"ri-cost-equity\" type=\"text\" inputmode=\"decimal\" autocomplete=\"off\" value=\"12.30%\" aria-describedby=\"ri-cost-equity-help ri-cost-equity-error\"\u003e\n            \u003cspan class=\"ri-unit\" aria-hidden=\"true\"\u003e%\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cp class=\"ri-helper\" id=\"ri-cost-equity-help\"\u003eAnnual required return for equity investors, commonly estimated with CAPM.\u003c\/p\u003e\n          \u003cp class=\"ri-error\" id=\"ri-cost-equity-error\" data-ri-error=\"costEquity\" aria-live=\"polite\"\u003e\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"ri-panel ri-results\" aria-labelledby=\"ri-results-title\"\u003e\n      \u003cdiv\u003e\n        \u003ch3 class=\"ri-panel-title\" id=\"ri-results-title\"\u003eLive results\u003c\/h3\u003e\n        \u003cp class=\"ri-panel-copy\"\u003eEconomic profit equals net income less the required equity charge.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"ri-primary-result\"\u003e\n        \u003cdiv class=\"ri-primary-label\"\u003eResidual income\u003c\/div\u003e\n        \u003cdiv class=\"ri-primary-value\" data-ri-output=\"residualIncome\"\u003e—\u003c\/div\u003e\n        \u003cp class=\"ri-primary-note\" data-ri-output=\"interpretation\"\u003eEnter values to calculate economic profit.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"ri-result-grid\"\u003e\n        \u003cdiv class=\"ri-result-card\"\u003e\n          \u003cdiv class=\"ri-result-label\"\u003eEquity charge\u003c\/div\u003e\n          \u003cdiv class=\"ri-result-value\" data-ri-output=\"equityCharge\"\u003e—\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ri-result-card\"\u003e\n          \u003cdiv class=\"ri-result-label\"\u003eAccounting ROE\u003c\/div\u003e\n          \u003cdiv class=\"ri-result-value\" data-ri-output=\"accountingRoe\"\u003e—\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ri-result-card\"\u003e\n          \u003cdiv class=\"ri-result-label\"\u003eROE spread\u003c\/div\u003e\n          \u003cdiv class=\"ri-result-value\" data-ri-output=\"roeSpread\"\u003e—\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ri-result-card\"\u003e\n          \u003cdiv class=\"ri-result-label\"\u003eEquity-charge coverage\u003c\/div\u003e\n          \u003cdiv class=\"ri-result-value\" data-ri-output=\"coverage\"\u003e—\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"ri-status ri-status-neutral\" data-ri-output=\"status\"\u003e\n\u003cspan class=\"ri-status-dot\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003cspan data-ri-output=\"statusText\"\u003eAwaiting inputs\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"ri-visually-hidden\" aria-live=\"polite\" data-ri-live\u003e\u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/div\u003e\n\n  \u003csection class=\"ri-section ri-chart-card\" aria-labelledby=\"ri-chart-title\" data-ri-chart-card\u003e\n    \u003cdiv class=\"ri-section-head\"\u003e\n      \u003ch3 id=\"ri-chart-title\"\u003eIncome versus required return\u003c\/h3\u003e\n      \u003cp\u003eSigned bars show accounting income, the equity charge as a deduction, and the resulting residual income.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ri-chart-cluster\" data-ri-chart-cluster\u003e\n      \u003cdiv class=\"ri-plot-wrap\" data-ri-plot\u003e\u003c\/div\u003e\n      \u003cdiv class=\"ri-legend\" data-ri-legend aria-label=\"Chart legend\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ri-chart-callout\" data-ri-chart-caption\u003e\n      \u003cdiv data-ri-chart-interpretation\u003eEnter values above to see the economic-profit bridge.\u003c\/div\u003e\n      \u003cdiv class=\"ri-chart-summary\" data-ri-chart-summary aria-label=\"Exact chart data\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"ri-section ri-table-card\" aria-labelledby=\"ri-table-title\" data-ri-table-card\u003e\n    \u003cdiv class=\"ri-section-head\"\u003e\n      \u003ch3 id=\"ri-table-title\"\u003eCost-of-equity sensitivity\u003c\/h3\u003e\n      \u003cp\u003eSee how the required return changes the equity charge and residual income while other inputs remain constant.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ri-table-overflow\" data-ri-table-wrap\u003e\n      \u003ctable class=\"ri-table\"\u003e\n        \u003cthead\u003e\n          \u003ctr\u003e\n            \u003cth scope=\"col\"\u003eScenario\u003c\/th\u003e\n            \u003cth scope=\"col\"\u003eCost of equity\u003c\/th\u003e\n            \u003cth scope=\"col\"\u003eEquity charge\u003c\/th\u003e\n            \u003cth scope=\"col\"\u003eResidual income\u003c\/th\u003e\n            \u003cth scope=\"col\"\u003eValue signal\u003c\/th\u003e\n          \u003c\/tr\u003e\n        \u003c\/thead\u003e\n        \u003ctbody data-ri-sensitivity\u003e\u003c\/tbody\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ri-table-note\" data-ri-table-note\u003eThe highlighted row uses the cost of equity entered above. Sensitivity rows change only that rate.\u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"ri-education\" aria-labelledby=\"ri-education-title\"\u003e\n    \u003ch2 id=\"ri-education-title\"\u003eWhat does this residual income calculator estimate?\u003c\/h2\u003e\n    \u003cp\u003eThis calculator estimates a company’s residual income, also called equity economic profit. Accounting net income records the profit left after operating costs, taxes, and interest expense, but it does not record an explicit expense for common equity. Residual income adds that missing hurdle by charging the company for the return shareholders require on the equity capital committed to the business.\u003c\/p\u003e\n    \u003cdiv class=\"ri-formula\"\u003eEquity charge = Equity capital × Cost of equity\u003cbr\u003eResidual income = Net income − Equity charge\u003c\/div\u003e\n    \u003cp\u003eA positive result means reported profit exceeded the required return on equity. Zero means the company exactly covered the equity hurdle. A negative result means accounting profit was insufficient after considering shareholders’ opportunity cost. The metric is analytical rather than a line item under generally accepted accounting principles, so it should be interpreted with other profitability, cash-flow, leverage, and valuation measures.\u003c\/p\u003e\n\n    \u003ch2\u003eHow should each input be used?\u003c\/h2\u003e\n    \u003ch3\u003eNet income\u003c\/h3\u003e\n    \u003cp\u003eEnter after-tax net income attributable to the equity base being analyzed. For a public company, the annual report or quarterly filing is the most direct source; the SEC’s \u003ca href=\"https:\/\/www.sec.gov\/edgar\/search\/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eEDGAR search\u003c\/a\u003e provides public access to filings. Net income is required and may be negative. A higher value increases residual income dollar for dollar, while a lower value reduces it. Do not mix consolidated net income with equity capital attributable only to a subsidiary or minority interest.\u003c\/p\u003e\n    \u003ch3\u003eEquity capital\u003c\/h3\u003e\n    \u003cp\u003eEnter book value of common shareholders’ equity measured on a basis consistent with net income. For a single-period estimate, analysts often use beginning equity, average equity, or another clearly defined invested-equity balance. The choice matters when the company has large buybacks, issuances, dividends, or acquisitions during the period. Equity capital is required and cannot be negative in this calculator. Increasing equity capital raises the equity charge and lowers residual income when the cost of equity is positive.\u003c\/p\u003e\n    \u003ch3\u003eCost of equity\u003c\/h3\u003e\n    \u003cp\u003eEnter the annual return shareholders require for bearing the company’s equity risk. It is required and expressed as a percentage. A common approach is the capital asset pricing model, which combines a risk-free rate, equity beta, and equity risk premium. NYU Stern publishes market and risk-premium resources through Aswath Damodaran’s \u003ca href=\"https:\/\/pages.stern.nyu.edu\/~adamodar\/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003evaluation data site\u003c\/a\u003e. Use a rate that matches the currency, market, and risk of the company. Raising the rate increases the equity charge and reduces residual income; lowering it has the opposite effect.\u003c\/p\u003e\n\n    \u003ch2\u003eHow should the results be interpreted?\u003c\/h2\u003e\n    \u003ch3\u003eResidual income and equity charge\u003c\/h3\u003e\n    \u003cp\u003eThe primary result is the amount of earnings above or below the shareholder return requirement. The equity charge is the minimum dollar income implied by the cost of equity. For example, $800 million of equity at a 12.3% required return creates a $98.4 million equity charge. If net income is $80.52 million, residual income is negative $17.88 million. This does not mean the company reported an accounting loss; it means the return was below the assumed equity hurdle.\u003c\/p\u003e\n    \u003ch3\u003eAccounting ROE, ROE spread, and coverage\u003c\/h3\u003e\n    \u003cp\u003eAccounting return on equity divides net income by equity capital. The ROE spread subtracts the cost of equity from that accounting ROE. A positive spread and positive residual income communicate the same value-creation direction because residual income can also be expressed as equity capital multiplied by the ROE spread. Equity-charge coverage divides net income by the equity charge. Coverage above 100% indicates the hurdle was exceeded, 100% indicates break-even economic profit, and below 100% indicates a shortfall. Coverage is not shown when the equity charge is zero because division by zero would not be meaningful.\u003c\/p\u003e\n\n    \u003ch2\u003eHow do the chart and sensitivity table help?\u003c\/h2\u003e\n    \u003cp\u003eThe signed bar chart presents the calculation as an income bridge. Net income appears as the starting accounting result, the equity charge appears as a negative deduction, and residual income appears as the economic result. The legend and exact-data summary use the same model values as the result cards. When all values are zero, the chart is replaced with a compact message rather than an empty plot.\u003c\/p\u003e\n    \u003cp\u003eThe sensitivity table holds net income and equity capital constant while testing cost-of-equity rates around the entered value. This helps identify how dependent the conclusion is on the required-return assumption. A company near economic break-even may switch from positive to negative residual income after only a modest change in the rate. A company with a wide positive ROE spread is less sensitive over the same range.\u003c\/p\u003e\n\n    \u003ch2\u003eWhat are the main benefits and limitations?\u003c\/h2\u003e\n    \u003cp\u003eResidual income is useful because it makes the cost of equity visible, supports comparison of profit against capital employed, and connects performance measurement with residual-income valuation. In a fuller valuation model, current book value is combined with the present value of forecast residual income. The SEC explains how public filings can be used to research company financial information in its guide to \u003ca href=\"https:\/\/www.sec.gov\/search-filings\/edgar-search-assistance\/using-edgar-research-investments\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eusing EDGAR for investment research\u003c\/a\u003e.\u003c\/p\u003e\n    \u003cp\u003eLimitations are equally important. Book equity may be distorted by accounting policies, intangible assets, write-downs, or repurchases. Net income can include unusual items. Cost of equity is estimated rather than observed directly, and different methods can produce different rates. Comparisons are most meaningful when companies use similar accounting conventions and operate in comparable industries. This calculator provides an educational company-level metric, not personalized investment, tax, legal, or accounting advice.\u003c\/p\u003e\n\n    \u003ch2\u003eCommon mistakes to avoid\u003c\/h2\u003e\n    \u003cul\u003e\n      \u003cli\u003eMixing annual net income with quarterly equity capital or a monthly cost-of-equity assumption.\u003c\/li\u003e\n      \u003cli\u003eUsing total assets or enterprise invested capital while applying an equity-only required return.\u003c\/li\u003e\n      \u003cli\u003eTreating positive net income as proof of economic value creation without comparing it with the equity charge.\u003c\/li\u003e\n      \u003cli\u003eIgnoring major changes in equity during the period; average equity may be more informative than ending equity.\u003c\/li\u003e\n      \u003cli\u003eAssuming a single cost-of-equity estimate is precise. Use the sensitivity table to test a reasonable range.\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/section\u003e\n\u003c\/div\u003e","brand":"FinancialModelsLab","offers":[{"title":"Default Title","offer_id":49909490581747,"sku":"residual-income","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6191\/2762\/files\/residual-income.webp?v=1783935601","url":"https:\/\/financialmodelslab.com\/products\/residual-income","provider":"Financial Models Lab","version":"1.0","type":"link"}