{"product_id":"payback-period","title":"Payback Period Calculator","description":"\u003cstyle\u003e\n.pbp-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  container-type: inline-size;\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  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\n  font-size: 15px;\n  line-height: 1.55;\n  margin: 0 auto;\n  max-width: 1200px;\n  min-width: 0;\n  padding: clamp(16px, 2.5%, 24px);\n}\n.pbp-calculator,\n.pbp-calculator *,\n.pbp-calculator *::before,\n.pbp-calculator *::after { box-sizing: border-box; }\n.pbp-calculator * { min-width: 0; }\n.pbp-calculator h2,\n.pbp-calculator h3,\n.pbp-calculator p { margin-top: 0; }\n.pbp-calculator a { color: var(--primary); text-underline-offset: 2px; }\n.pbp-calculator a:hover { text-decoration-thickness: 2px; }\n.pbp-calculator button,\n.pbp-calculator input { font: inherit; }\n.pbp-calculator button { touch-action: manipulation; }\n.pbp-calculator button:focus-visible,\n.pbp-calculator input:focus-visible,\n.pbp-calculator summary:focus-visible {\n  outline: 3px solid rgba(29,78,216,.38);\n  outline-offset: 2px;\n}\n.pbp-header { border-bottom: 1px solid var(--border); padding-bottom: 20px; }\n.pbp-header h2 { color: var(--ink); font-size: 24px; font-weight: 700; line-height: 1.25; margin-bottom: 6px; }\n.pbp-subtitle { color: var(--muted); margin-bottom: 14px; max-width: 760px; }\n.pbp-pills { display: flex; flex-wrap: wrap; gap: 8px; }\n.pbp-pill {\n  align-items: center;\n  background: var(--tint);\n  border: 1px solid var(--border);\n  border-radius: 999px;\n  color: var(--muted);\n  display: inline-flex;\n  font-size: 13px;\n  font-weight: 600;\n  gap: 6px;\n  min-height: 32px;\n  padding: 4px 10px;\n}\n.pbp-pill strong { color: var(--ink); font-variant-numeric: tabular-nums; }\n.pbp-toolbar { display: flex; flex-wrap: wrap; gap: 10px; padding: 16px 0 20px; }\n.pbp-button {\n  align-items: center;\n  border: 1px solid var(--border);\n  border-radius: 6px;\n  cursor: pointer;\n  display: inline-flex;\n  font-size: 15px;\n  font-weight: 650;\n  gap: 10px;\n  justify-content: center;\n  min-height: 46px;\n  padding: 11px 18px;\n  white-space: nowrap;\n}\n.pbp-download { background: var(--accent); border-color: var(--accent); color: #fff; box-shadow: 0 1px 2px rgba(15,23,42,.12); }\n.pbp-download:hover { background: var(--accent-hover); border-color: var(--accent-hover); box-shadow: 0 2px 4px rgba(15,23,42,.14); }\n.pbp-reset { background: var(--surface); color: var(--ink); }\n.pbp-reset:hover { background: var(--tint); border-color: #cbd5e1; }\n.pbp-icon { display: inline-flex; height: 18px; width: 18px; }\n.pbp-icon svg { display: block; height: 18px; width: 18px; }\n.pbp-workspace { display: grid; gap: 20px; grid-template-columns: minmax(0, 1fr); }\n.pbp-panel,\n.pbp-card {\n  background: var(--surface);\n  border: 1px solid var(--border);\n  border-radius: 8px;\n  box-shadow: 0 1px 2px rgba(15,23,42,.04);\n  min-width: 0;\n}\n.pbp-panel { padding: 20px; }\n.pbp-section-title { color: var(--ink); font-size: 18px; font-weight: 650; line-height: 1.35; margin-bottom: 14px; }\n.pbp-form-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }\n.pbp-field { display: flex; flex-direction: column; min-width: 0; }\n.pbp-field label,\n.pbp-field-label { color: var(--ink); display: block; font-size: 14px; font-weight: 600; line-height: 1.35; margin-bottom: 6px; }\n.pbp-control {\n  background: var(--surface);\n  border: 1px solid #cbd5e1;\n  border-radius: 6px;\n  color: var(--ink);\n  font-size: 15px;\n  height: 44px;\n  padding: 9px 11px;\n  width: 100%;\n}\n.pbp-control:hover { border-color: #94a3b8; }\n.pbp-helper,\n.pbp-error { font-size: 13px; font-weight: 500; line-height: 1.4; margin-top: 5px; min-height: 19px; }\n.pbp-helper { color: var(--muted); }\n.pbp-error { color: #b91c1c; }\n.pbp-field[aria-invalid=\"true\"] .pbp-control { border-color: #b91c1c; }\n.pbp-pattern { border: 0; margin: 18px 0 0; padding: 0; }\n.pbp-pattern legend { color: var(--ink); font-size: 14px; font-weight: 600; margin-bottom: 7px; padding: 0; }\n.pbp-segmented { background: var(--tint); border: 1px solid var(--border); border-radius: 7px; display: inline-grid; gap: 4px; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 4px; width: min(100%, 420px); }\n.pbp-segmented input { opacity: 0; position: absolute; }\n.pbp-segmented label {\n  border-radius: 5px;\n  color: var(--muted);\n  cursor: pointer;\n  font-size: 14px;\n  font-weight: 650;\n  padding: 8px 12px;\n  text-align: center;\n}\n.pbp-segmented input:checked + label { background: var(--surface); color: var(--ink); box-shadow: 0 1px 2px rgba(15,23,42,.10); }\n.pbp-segmented input:focus-visible + label { outline: 3px solid rgba(29,78,216,.38); outline-offset: 1px; }\n.pbp-flow-panel { border-top: 1px solid var(--border); margin-top: 18px; padding-top: 18px; }\n.pbp-flow-panel[hidden] { display: none; }\n.pbp-irregular-head { align-items: flex-start; display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; margin-bottom: 10px; }\n.pbp-irregular-head p { color: var(--muted); font-size: 13px; margin-bottom: 0; max-width: 520px; }\n.pbp-add-row,\n.pbp-remove-row {\n  background: var(--surface);\n  border: 1px solid #cbd5e1;\n  border-radius: 6px;\n  color: var(--ink);\n  cursor: pointer;\n  font-size: 13px;\n  font-weight: 650;\n  min-height: 38px;\n  padding: 7px 11px;\n}\n.pbp-add-row:hover,\n.pbp-remove-row:hover { background: var(--tint); }\n.pbp-cash-rows { display: grid; gap: 10px; }\n.pbp-cash-row { align-items: end; display: grid; gap: 10px; grid-template-columns: minmax(0, 1fr) auto; }\n.pbp-cash-row .pbp-field label { font-size: 13px; }\n.pbp-remove-row { height: 44px; min-width: 82px; }\n.pbp-results { display: flex; flex-direction: column; gap: 14px; }\n.pbp-primary {\n  background: var(--tint);\n  border: 1px solid #cbd5e1;\n  border-radius: 8px;\n  padding: 18px;\n}\n.pbp-primary-label { color: var(--muted); font-size: 13px; font-weight: 650; margin-bottom: 4px; }\n.pbp-primary-value { color: var(--ink); font-size: 30px; font-weight: 700; line-height: 1.15; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }\n.pbp-primary-note { color: var(--muted); font-size: 13px; margin: 8px 0 0; }\n.pbp-result-grid { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }\n.pbp-result-card { background: var(--surface); border: 1px solid var(--border); border-radius: 7px; padding: 14px; }\n.pbp-result-label { color: var(--muted); font-size: 13px; font-weight: 600; line-height: 1.35; margin-bottom: 5px; }\n.pbp-result-value { color: var(--ink); font-size: 20px; font-weight: 700; line-height: 1.2; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }\n.pbp-result-sub { color: var(--muted); font-size: 13px; margin-top: 5px; }\n.pbp-status {\n  background: #eff6ff;\n  border: 1px solid #bfdbfe;\n  border-radius: 6px;\n  color: #1e3a8a;\n  font-size: 13px;\n  font-weight: 600;\n  padding: 10px 12px;\n}\n.pbp-status.pbp-status-warning { background: #fff7ed; border-color: #fed7aa; color: #9a3412; }\n.pbp-status.pbp-status-neutral { background: var(--tint); border-color: var(--border); color: var(--muted); }\n.pbp-breakdown { margin-top: 20px; }\n.pbp-metric-strip { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }\n.pbp-metric { background: var(--tint); border: 1px solid var(--border); border-radius: 7px; padding: 14px; }\n.pbp-metric span { color: var(--muted); display: block; font-size: 13px; font-weight: 600; }\n.pbp-metric strong { color: var(--ink); display: block; font-size: 20px; font-weight: 700; margin-top: 4px; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }\n.pbp-chart-card { margin-top: 20px; padding: 20px; }\n.pbp-chart-intro { color: var(--muted); font-size: 13px; margin: -6px 0 16px; }\n.pbp-chart-cluster { display: grid; gap: 20px; grid-template-columns: minmax(0, 1fr); justify-items: center; margin: 0 auto; max-width: 920px; }\n.pbp-plot-wrap { min-height: 0; width: 100%; }\n.pbp-chart-svg { display: block; height: auto; max-height: 360px; width: 100%; }\n.pbp-chart-empty { background: var(--tint); border: 1px dashed #cbd5e1; border-radius: 6px; color: var(--muted); font-size: 13px; padding: 18px; text-align: center; width: 100%; }\n.pbp-chart-legend { align-items: start; display: grid; gap: 9px; justify-content: center; width: min(100%, 420px); }\n.pbp-legend-row { align-items: center; display: grid; gap: 8px; grid-template-columns: 12px max-content max-content; justify-content: start; }\n.pbp-swatch { border-radius: 3px; height: 12px; width: 12px; }\n.pbp-legend-label { color: var(--ink); font-size: 13px; font-weight: 600; }\n.pbp-legend-value { color: var(--muted); font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; }\n.pbp-chart-caption {\n  background: var(--tint);\n  border: 1px solid var(--border);\n  border-radius: 6px;\n  color: var(--muted);\n  font-size: 13px;\n  margin-top: 16px;\n  padding: 10px 12px;\n}\n.pbp-safe-stack .pbp-chart-cluster { gap: 24px; grid-template-columns: minmax(0, 1fr); }\n.pbp-safe-stack .pbp-chart-legend { margin-top: 4px; }\n.pbp-safe-stack .pbp-chart-caption { margin-top: 20px; }\n.pbp-table-card { margin-top: 20px; padding: 20px; }\n.pbp-table-overflow { overflow-x: auto; width: 100%; }\n.pbp-table { border-collapse: collapse; font-size: 13px; min-width: 720px; width: 100%; }\n.pbp-table th,\n.pbp-table td { border-bottom: 1px solid var(--border); padding: 10px 11px; text-align: right; vertical-align: middle; }\n.pbp-table th { background: #172554; color: #fff; font-weight: 650; white-space: nowrap; }\n.pbp-table th:first-child,\n.pbp-table td:first-child { text-align: left; }\n.pbp-table td { color: var(--ink); font-variant-numeric: tabular-nums; }\n.pbp-table tbody tr:hover { background: var(--tint); }\n.pbp-table .pbp-crossing-row { background: #eff6ff; }\n.pbp-table-empty { color: var(--muted); font-size: 13px; padding: 16px 0 4px; text-align: center; }\n.pbp-table-note {\n  background: var(--tint);\n  border: 1px solid var(--border);\n  border-radius: 6px;\n  color: var(--muted);\n  font-size: 13px;\n  margin-top: 16px;\n  padding: 10px 12px;\n}\n.pbp-safe-table-stack .pbp-table-note { margin-top: 20px; }\n.pbp-education { border-top: 1px solid var(--border); margin-top: 24px; padding-top: 24px; }\n.pbp-education h2 { color: var(--ink); font-size: 20px; font-weight: 700; line-height: 1.35; margin: 28px 0 10px; }\n.pbp-education h2:first-child { margin-top: 0; }\n.pbp-education h3 { color: var(--ink); font-size: 17px; font-weight: 650; line-height: 1.4; margin: 20px 0 8px; }\n.pbp-education p { color: #334155; margin-bottom: 12px; }\n.pbp-education ul { color: #334155; margin: 0 0 14px; padding-left: 20px; }\n.pbp-education li { margin-bottom: 7px; }\n.pbp-formula { background: var(--tint); border-left: 4px solid var(--primary); border-radius: 0 6px 6px 0; color: var(--ink); font-weight: 600; margin: 14px 0; padding: 12px 14px; }\n.pbp-sr-only {\n  clip: rect(0 0 0 0);\n  clip-path: inset(50%);\n  height: 1px;\n  overflow: hidden;\n  position: absolute;\n  white-space: nowrap;\n  width: 1px;\n}\n@container (min-width: 640px) {\n  .pbp-chart-cluster { align-items: end; grid-template-columns: minmax(0, 620px) max-content; }\n  .pbp-chart-legend { width: auto; }\n}\n@container (min-width: 900px) {\n  .pbp-workspace { grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr); }\n}\n@container (max-width: 639px) {\n  .pbp-panel,\n  .pbp-chart-card,\n  .pbp-table-card { padding: 16px; }\n  .pbp-toolbar { display: grid; grid-template-columns: minmax(0, 1fr); }\n  .pbp-button { width: 100%; }\n  .pbp-form-grid { grid-template-columns: minmax(0, 1fr); }\n  .pbp-result-grid { grid-template-columns: minmax(0, 1fr); }\n  .pbp-cash-row { grid-template-columns: minmax(0, 1fr); }\n  .pbp-remove-row { width: 100%; }\n  .pbp-chart-cluster { gap: 16px; }\n  .pbp-chart-legend { width: 100%; }\n  .pbp-legend-row { grid-template-columns: 12px minmax(0, 1fr); width: 100%; }\n  .pbp-legend-value { grid-column: 2; margin-top: -4px; }\n  .pbp-chart-caption { margin-top: 16px; }\n}\n\u003c\/style\u003e\n\u003cdiv class=\"pbp-calculator\" data-calculator-root\u003e\n  \u003csection class=\"pbp-header\"\u003e\n    \u003ch2\u003ePayback Period Calculator\u003c\/h2\u003e\n    \u003cp class=\"pbp-subtitle\"\u003eEstimate when an investment recovers its upfront cost, compare nominal and discounted payback, and inspect the full annual recovery path.\u003c\/p\u003e\n    \u003cdiv class=\"pbp-pills\" aria-label=\"Live calculation summary\"\u003e\n      \u003cspan class=\"pbp-pill\"\u003ePattern \u003cstrong data-pbp-pill-pattern\u003eSteady\u003c\/strong\u003e\u003c\/span\u003e\n      \u003cspan class=\"pbp-pill\"\u003eNominal \u003cstrong data-pbp-pill-payback\u003e4.17 years\u003c\/strong\u003e\u003c\/span\u003e\n      \u003cspan class=\"pbp-pill\"\u003eDiscounted \u003cstrong data-pbp-pill-discounted\u003e4.79 years\u003c\/strong\u003e\u003c\/span\u003e\n      \u003cspan class=\"pbp-pill\"\u003eDelay \u003cstrong data-pbp-pill-delay\u003e0.62 years\u003c\/strong\u003e\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003cdiv class=\"pbp-toolbar\" aria-label=\"Calculator actions\"\u003e\n    \u003cbutton class=\"pbp-button pbp-download\" type=\"button\" data-pbp-download\u003e\n      \u003cspan class=\"pbp-icon\" aria-hidden=\"true\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3v12\"\u003e\u003c\/path\u003e\u003cpath d=\"m7 10 5 5 5-5\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 21h14\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n      \u003cspan\u003eDownload Excel\u003c\/span\u003e\n    \u003c\/button\u003e\n    \u003cbutton class=\"pbp-button pbp-reset\" type=\"button\" data-pbp-reset\u003eReset\u003c\/button\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"pbp-workspace\"\u003e\n    \u003csection class=\"pbp-panel pbp-inputs\" aria-labelledby=\"pbp-input-heading\"\u003e\n      \u003ch3 class=\"pbp-section-title\" id=\"pbp-input-heading\"\u003eInvestment assumptions\u003c\/h3\u003e\n      \u003cdiv class=\"pbp-form-grid\"\u003e\n        \u003cdiv class=\"pbp-field\" data-pbp-field=\"initial\"\u003e\n          \u003clabel for=\"pbp-initial\"\u003eInitial investment\u003c\/label\u003e\n          \u003cinput class=\"pbp-control\" id=\"pbp-initial\" data-pbp-input=\"initial\" type=\"text\" inputmode=\"decimal\" value=\"$100,000.00\" aria-describedby=\"pbp-initial-help pbp-initial-error\"\u003e\n          \u003cspan class=\"pbp-helper\" id=\"pbp-initial-help\"\u003eUpfront cash outflow at time zero.\u003c\/span\u003e\n          \u003cspan class=\"pbp-error\" id=\"pbp-initial-error\" data-pbp-error=\"initial\"\u003e\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"pbp-field\" data-pbp-field=\"rate\"\u003e\n          \u003clabel for=\"pbp-rate\"\u003eDiscount rate\u003c\/label\u003e\n          \u003cinput class=\"pbp-control\" id=\"pbp-rate\" data-pbp-input=\"rate\" type=\"text\" inputmode=\"decimal\" value=\"5.00%\" aria-describedby=\"pbp-rate-help pbp-rate-error\"\u003e\n          \u003cspan class=\"pbp-helper\" id=\"pbp-rate-help\"\u003eAnnual required return used for present value.\u003c\/span\u003e\n          \u003cspan class=\"pbp-error\" id=\"pbp-rate-error\" data-pbp-error=\"rate\"\u003e\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cfieldset class=\"pbp-pattern\"\u003e\n        \u003clegend\u003eCash-flow pattern\u003c\/legend\u003e\n        \u003cdiv class=\"pbp-segmented\"\u003e\n          \u003cinput id=\"pbp-pattern-steady\" type=\"radio\" name=\"pbp-pattern\" value=\"steady\" checked data-pbp-pattern\u003e\n          \u003clabel for=\"pbp-pattern-steady\"\u003eSteady annual flow\u003c\/label\u003e\n          \u003cinput id=\"pbp-pattern-irregular\" type=\"radio\" name=\"pbp-pattern\" value=\"irregular\" data-pbp-pattern\u003e\n          \u003clabel for=\"pbp-pattern-irregular\"\u003eIrregular yearly flows\u003c\/label\u003e\n        \u003c\/div\u003e\n      \u003c\/fieldset\u003e\n\n      \u003cdiv class=\"pbp-flow-panel\" data-pbp-steady-panel\u003e\n        \u003cdiv class=\"pbp-field\" data-pbp-field=\"steady\"\u003e\n          \u003clabel for=\"pbp-steady\"\u003eAnnual cash flow\u003c\/label\u003e\n          \u003cinput class=\"pbp-control\" id=\"pbp-steady\" data-pbp-input=\"steady\" type=\"text\" inputmode=\"decimal\" value=\"$24,000.00\" aria-describedby=\"pbp-steady-help pbp-steady-error\"\u003e\n          \u003cspan class=\"pbp-helper\" id=\"pbp-steady-help\"\u003eNet cash received at the end of each year.\u003c\/span\u003e\n          \u003cspan class=\"pbp-error\" id=\"pbp-steady-error\" data-pbp-error=\"steady\"\u003e\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"pbp-flow-panel\" data-pbp-irregular-panel hidden\u003e\n        \u003cdiv class=\"pbp-irregular-head\"\u003e\n          \u003cp\u003eEnter net cash flow for each year. Positive values are inflows; negative values are additional outflows.\u003c\/p\u003e\n          \u003cbutton class=\"pbp-add-row\" type=\"button\" data-pbp-add-row\u003eAdd year\u003c\/button\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"pbp-cash-rows\" data-pbp-cash-rows\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"pbp-panel pbp-results\" aria-labelledby=\"pbp-results-heading\"\u003e\n      \u003ch3 class=\"pbp-section-title\" id=\"pbp-results-heading\"\u003eLive results\u003c\/h3\u003e\n      \u003cdiv class=\"pbp-primary\"\u003e\n        \u003cdiv class=\"pbp-primary-label\"\u003eDiscounted payback period\u003c\/div\u003e\n        \u003cdiv class=\"pbp-primary-value\" data-pbp-primary\u003e4.79 years\u003c\/div\u003e\n        \u003cp class=\"pbp-primary-note\" data-pbp-primary-note\u003eAccounting for a 5.00% annual discount rate.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"pbp-result-grid\"\u003e\n        \u003cdiv class=\"pbp-result-card\"\u003e\n          \u003cdiv class=\"pbp-result-label\"\u003eNominal payback\u003c\/div\u003e\n          \u003cdiv class=\"pbp-result-value\" data-pbp-nominal\u003e4.17 years\u003c\/div\u003e\n          \u003cdiv class=\"pbp-result-sub\"\u003eIgnores time value of money\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"pbp-result-card\"\u003e\n          \u003cdiv class=\"pbp-result-label\"\u003eDiscounting delay\u003c\/div\u003e\n          \u003cdiv class=\"pbp-result-value\" data-pbp-delay\u003e0.62 years\u003c\/div\u003e\n          \u003cdiv class=\"pbp-result-sub\"\u003eExtra time caused by discounting\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"pbp-result-card\"\u003e\n          \u003cdiv class=\"pbp-result-label\"\u003eNominal cumulative value\u003c\/div\u003e\n          \u003cdiv class=\"pbp-result-value\" data-pbp-nominal-cumulative\u003e$68,000.00\u003c\/div\u003e\n          \u003cdiv class=\"pbp-result-sub\"\u003eAt the end of the displayed horizon\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"pbp-result-card\"\u003e\n          \u003cdiv class=\"pbp-result-label\"\u003eDiscounted cumulative value\u003c\/div\u003e\n          \u003cdiv class=\"pbp-result-value\" data-pbp-discounted-cumulative\u003e$38,872.96\u003c\/div\u003e\n          \u003cdiv class=\"pbp-result-sub\"\u003ePresent-value surplus or shortfall\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"pbp-status\" data-pbp-status\u003eDiscounted break-even occurs during year 5.\u003c\/div\u003e\n      \u003cdiv class=\"pbp-sr-only\" aria-live=\"polite\" data-pbp-live\u003eDiscounted payback period is 4.79 years.\u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/div\u003e\n\n  \u003csection class=\"pbp-breakdown\" aria-labelledby=\"pbp-recovery-heading\"\u003e\n    \u003ch3 class=\"pbp-section-title\" id=\"pbp-recovery-heading\"\u003eRecovery overview\u003c\/h3\u003e\n    \u003cdiv class=\"pbp-metric-strip\"\u003e\n      \u003cdiv class=\"pbp-metric\"\u003e\n\u003cspan\u003eInvestment to recover\u003c\/span\u003e\u003cstrong data-pbp-metric-investment\u003e$100,000.00\u003c\/strong\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"pbp-metric\"\u003e\n\u003cspan\u003eUndiscounted inflows shown\u003c\/span\u003e\u003cstrong data-pbp-metric-inflows\u003e$168,000.00\u003c\/strong\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"pbp-metric\"\u003e\n\u003cspan\u003ePresent value of inflows\u003c\/span\u003e\u003cstrong data-pbp-metric-pv\u003e$138,872.96\u003c\/strong\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"pbp-metric\"\u003e\n\u003cspan\u003eYears displayed\u003c\/span\u003e\u003cstrong data-pbp-metric-years\u003e7\u003c\/strong\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"pbp-card pbp-chart-card\" data-pbp-chart-card aria-labelledby=\"pbp-chart-heading\"\u003e\n    \u003ch3 class=\"pbp-section-title\" id=\"pbp-chart-heading\"\u003eCumulative recovery path\u003c\/h3\u003e\n    \u003cp class=\"pbp-chart-intro\" data-pbp-chart-intro\u003eThe nominal line crosses zero first; the discounted line follows after the cost of capital is applied.\u003c\/p\u003e\n    \u003cdiv class=\"pbp-chart-cluster\"\u003e\n      \u003cdiv class=\"pbp-plot-wrap\" data-pbp-plot-wrap\u003e\n        \u003csvg class=\"pbp-chart-svg\" data-pbp-chart-svg role=\"img\" aria-labelledby=\"pbp-chart-title pbp-chart-desc\"\u003e\u003c\/svg\u003e\n        \u003cdiv class=\"pbp-chart-empty\" data-pbp-chart-empty hidden\u003eEnter values above to see the recovery chart.\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"pbp-chart-legend\" data-pbp-chart-legend aria-label=\"Chart legend\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"pbp-chart-caption\" data-pbp-chart-caption\u003eAt year 7, nominal cumulative cash is $68,000.00 and discounted cumulative cash is $38,872.96.\u003c\/div\u003e\n    \u003cdiv class=\"pbp-sr-only\" data-pbp-chart-summary\u003e\u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"pbp-card pbp-table-card\" data-pbp-table-card aria-labelledby=\"pbp-table-heading\"\u003e\n    \u003ch3 class=\"pbp-section-title\" id=\"pbp-table-heading\"\u003eAnnual recovery schedule\u003c\/h3\u003e\n    \u003cdiv class=\"pbp-table-overflow\" data-pbp-table-overflow\u003e\n      \u003ctable class=\"pbp-table\"\u003e\n        \u003cthead\u003e\n          \u003ctr\u003e\n            \u003cth scope=\"col\"\u003ePeriod\u003c\/th\u003e\n            \u003cth scope=\"col\"\u003eCash flow\u003c\/th\u003e\n            \u003cth scope=\"col\"\u003eDiscount factor\u003c\/th\u003e\n            \u003cth scope=\"col\"\u003ePresent value\u003c\/th\u003e\n            \u003cth scope=\"col\"\u003eCumulative cash\u003c\/th\u003e\n            \u003cth scope=\"col\"\u003eCumulative present value\u003c\/th\u003e\n          \u003c\/tr\u003e\n        \u003c\/thead\u003e\n        \u003ctbody data-pbp-table-body\u003e\u003c\/tbody\u003e\n      \u003c\/table\u003e\n      \u003cdiv class=\"pbp-table-empty\" data-pbp-table-empty hidden\u003eNo schedule is available until cash-flow inputs are entered.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"pbp-table-note\" data-pbp-table-note\u003eCash flows are assumed to occur at each year-end. Payback within a year is estimated by linear interpolation of that year's cash flow.\u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"pbp-education\"\u003e\n    \u003ch2\u003eWhat does this payback period calculator estimate?\u003c\/h2\u003e\n    \u003cp\u003eThe calculator estimates how long it takes cumulative project cash flow to recover an initial investment. It shows two versions. The nominal payback period adds future cash flows without adjustment. The discounted payback period first converts each future cash flow to present value using the selected annual discount rate, then identifies when those discounted amounts recover the original outlay. The discounted result is normally longer because a dollar received later is treated as worth less than a dollar received today.\u003c\/p\u003e\n    \u003cp\u003ePayback is a liquidity and capital-recovery measure, not a complete profitability test. It is useful for comparing how quickly projects return committed cash, screening investments with tight liquidity constraints, and seeing how sensitive recovery is to timing. It does not measure value created after payback and should be considered alongside net present value, internal rate of return, risk, and strategic factors.\u003c\/p\u003e\n\n    \u003ch2\u003eHow should each input be used?\u003c\/h2\u003e\n    \u003ch3\u003eInitial investment\u003c\/h3\u003e\n    \u003cp\u003eEnter the total cash outflow required at the start of the project. This can include purchase price, installation, launch costs, working capital, and other expenditures paid at time zero. Use a nonnegative U.S. dollar amount. A larger initial investment lengthens both payback measures unless cash flows rise proportionally. A common mistake is to omit setup costs or refundable working capital; include only amounts that are genuinely committed at the start.\u003c\/p\u003e\n    \u003ch3\u003eDiscount rate\u003c\/h3\u003e\n    \u003cp\u003eEnter the annual rate used to translate future cash flows into today's dollars. It may reflect a hurdle rate, financing cost, required return, or risk-adjusted opportunity cost. The rate is required for discounted payback but does not affect nominal payback. A higher rate reduces the present value of later cash flows and therefore delays discounted recovery. Rates at or above the economic return generated by a steady cash flow may make discounted payback impossible. The \u003ca href=\"https:\/\/www.investor.gov\/financial-tools-calculators\/calculators\/compound-interest-calculator\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eInvestor.gov compound interest calculator\u003c\/a\u003e illustrates the broader effect of compounding over time.\u003c\/p\u003e\n    \u003ch3\u003eSteady annual cash flow\u003c\/h3\u003e\n    \u003cp\u003eChoose “Steady annual flow” when the same net cash amount is expected every year. Enter cash received after recurring operating costs, taxes, maintenance, and other project-level outflows that you intend to include. The calculator assumes the amount arrives at each year-end. A higher annual flow shortens payback. Zero or negative steady flow cannot recover a positive investment, so the calculator reports that payback is not reached.\u003c\/p\u003e\n    \u003ch3\u003eIrregular yearly flows\u003c\/h3\u003e\n    \u003cp\u003eChoose “Irregular yearly flows” when annual cash amounts vary. Add one row per year in chronological order. Positive numbers are net inflows; negative numbers represent additional investment, losses, repairs, or other outflows. The order matters because earlier cash contributes more to discounted recovery than the same amount received later. Remove unused years rather than entering placeholder values, and include enough years to determine whether break-even occurs.\u003c\/p\u003e\n\n    \u003ch2\u003eHow are the results calculated?\u003c\/h2\u003e\n    \u003cp\u003eFor steady cash flow, nominal payback equals the initial investment divided by annual cash flow. Discounted payback applies the present-value factor to each annual cash flow and finds the point where their cumulative present value equals the initial investment. For irregular flows, the calculator builds the schedule year by year and identifies the first crossing from a negative cumulative balance to zero or positive.\u003c\/p\u003e\n    \u003cdiv class=\"pbp-formula\"\u003ePresent value in year t = cash flow in year t ÷ (1 + discount rate)\u003csup\u003et\u003c\/sup\u003e\n\u003c\/div\u003e\n    \u003cp\u003eWhen recovery occurs between two year-end points, the calculator uses linear interpolation. It takes the unrecovered balance at the end of the prior year and divides it by the current year's nominal or discounted cash flow. This produces a fractional-year estimate such as 4.79 years. It is an approximation because cash may arrive throughout the year rather than evenly.\u003c\/p\u003e\n\n    \u003ch2\u003eHow should the outputs be interpreted?\u003c\/h2\u003e\n    \u003ch3\u003eNominal and discounted payback\u003c\/h3\u003e\n    \u003cp\u003eThe nominal result shows the fastest recovery view because it ignores the time value of money. The discounted result is more conservative and is the primary result displayed. A short period means the project returns committed capital quickly; a long period means more capital remains exposed for longer. A zero result means no positive initial outlay needs recovery. “Not reached” means the entered horizon or steady economics never generate enough cumulative value to cover the investment.\u003c\/p\u003e\n    \u003ch3\u003eDiscounting delay and cumulative values\u003c\/h3\u003e\n    \u003cp\u003eDiscounting delay is the difference between discounted and nominal payback. A larger gap indicates that timing and the chosen required return materially affect the project. The nominal cumulative value equals total displayed cash flow minus the initial investment. The discounted cumulative value applies the rate before subtracting the investment. Negative cumulative value is a remaining shortfall; positive cumulative value is a surplus at the end of the displayed horizon.\u003c\/p\u003e\n    \u003ch3\u003eChart and annual schedule\u003c\/h3\u003e\n    \u003cp\u003eThe chart plots cumulative nominal and discounted cash values against a zero break-even line. The first intersection with zero marks payback. The schedule exposes the exact annual cash flow, discount factor, present value, and both cumulative balances used by the chart. This makes it easier to trace a result, test a scenario, or transfer assumptions into a larger financial model.\u003c\/p\u003e\n\n    \u003ch2\u003eWhat are the main benefits and limitations?\u003c\/h2\u003e\n    \u003cp\u003ePayback is intuitive, quick to communicate, and useful for capital rationing. It emphasizes near-term liquidity and can highlight projects that remain exposed to execution risk for many years. However, it ignores all cash flows after recovery and does not directly measure total economic value. Two projects can have the same payback while producing very different lifetime returns. The discounted version improves the treatment of timing but still stops focusing on value once recovery occurs.\u003c\/p\u003e\n    \u003cp\u003eUse conservative, internally consistent cash flows and compare multiple scenarios. Include taxes, maintenance, replacement spending, and working-capital effects when material. For broader planning, the U.S. Small Business Administration explains common \u003ca href=\"https:\/\/www.sba.gov\/business-guide\/plan-your-business\/calculate-your-startup-costs\" target=\"_blank\" rel=\"noopener noreferrer\"\u003estartup-cost categories\u003c\/a\u003e, while New York University’s Stern School provides \u003ca href=\"https:\/\/pages.stern.nyu.edu\/~adamodar\/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003evaluation and discount-rate resources\u003c\/a\u003e. These resources provide general education rather than personalized investment advice.\u003c\/p\u003e\n  \u003c\/section\u003e\n\u003c\/div\u003e","brand":"FinancialModelsLab","offers":[{"title":"Default Title","offer_id":49909485961459,"sku":"payback-period","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6191\/2762\/files\/payback-period.webp?v=1783935491","url":"https:\/\/financialmodelslab.com\/products\/payback-period","provider":"Financial Models Lab","version":"1.0","type":"link"}