{"product_id":"dcf","title":"Discounted Cash Flow Calculator (DCF)","description":"\u003cstyle\u003e\n.dcf-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  width: 100%;\n  max-width: 1200px;\n  margin: 0 auto;\n  color: var(--ink);\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: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n  font-size: 15px;\n  line-height: 1.55;\n  container-type: inline-size;\n  overflow-wrap: anywhere;\n}\n.dcf-calculator,\n.dcf-calculator *,\n.dcf-calculator *::before,\n.dcf-calculator *::after {\n  box-sizing: border-box;\n  min-width: 0;\n}\n.dcf-calculator button,\n.dcf-calculator input,\n.dcf-calculator select {\n  font: inherit;\n}\n.dcf-calculator button,\n.dcf-calculator select {\n  cursor: pointer;\n}\n.dcf-calculator a {\n  color: var(--primary);\n  text-decoration-thickness: 1px;\n  text-underline-offset: 2px;\n}\n.dcf-calculator a:hover {\n  text-decoration-thickness: 2px;\n}\n.dcf-calculator :focus-visible {\n  outline: 3px solid rgba(29, 78, 216, .38);\n  outline-offset: 2px;\n}\n.dcf-header {\n  padding: 24px 24px 16px;\n  border-bottom: 1px solid var(--border);\n}\n.dcf-title {\n  margin: 0;\n  font-size: 24px;\n  line-height: 1.25;\n  font-weight: 700;\n  letter-spacing: -.02em;\n}\n.dcf-subtitle {\n  margin: 8px 0 0;\n  color: var(--muted);\n  max-width: 820px;\n}\n.dcf-pills {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n  margin-top: 16px;\n}\n.dcf-pill {\n  display: inline-flex;\n  align-items: center;\n  gap: 6px;\n  min-height: 30px;\n  padding: 4px 10px;\n  border: 1px solid var(--border);\n  border-radius: 999px;\n  background: var(--tint);\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 600;\n  font-variant-numeric: tabular-nums;\n}\n.dcf-pill strong {\n  color: var(--ink);\n  font-weight: 700;\n}\n.dcf-toolbar {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  gap: 8px;\n  padding: 16px 24px;\n  border-bottom: 1px solid var(--border);\n  background: var(--tint);\n}\n.dcf-button {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  gap: 10px;\n  min-height: 46px;\n  padding: 12px 18px;\n  border-radius: 6px;\n  border: 1px solid transparent;\n  font-size: 15px;\n  font-weight: 700;\n  line-height: 1.2;\n  white-space: nowrap;\n  transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease, transform .15s ease;\n}\n.dcf-button:hover {\n  box-shadow: 0 2px 5px rgba(15, 23, 42, .12);\n}\n.dcf-button:active {\n  transform: translateY(1px);\n}\n.dcf-button-primary {\n  color: #ffffff;\n  background: var(--accent);\n  border-color: var(--accent);\n}\n.dcf-button-primary:hover {\n  background: var(--accent-hover);\n  border-color: var(--accent-hover);\n}\n.dcf-button-secondary {\n  color: var(--ink);\n  background: var(--surface);\n  border-color: #cbd5e1;\n}\n.dcf-button-secondary:hover {\n  background: #f1f5f9;\n  border-color: #94a3b8;\n}\n.dcf-button-small {\n  min-height: 38px;\n  padding: 8px 12px;\n  font-size: 13px;\n}\n.dcf-icon {\n  width: 18px;\n  height: 18px;\n  flex: 0 0 18px;\n}\n.dcf-workspace {\n  display: grid;\n  grid-template-columns: minmax(0, 1fr);\n  gap: 16px;\n  padding: 24px;\n}\n.dcf-panel,\n.dcf-section {\n  border: 1px solid var(--border);\n  border-radius: 8px;\n  background: var(--surface);\n}\n.dcf-panel {\n  padding: 20px;\n}\n.dcf-section {\n  margin: 0 24px 24px;\n  padding: 20px;\n}\n.dcf-panel-title,\n.dcf-section-title {\n  margin: 0;\n  font-size: 18px;\n  line-height: 1.35;\n  font-weight: 650;\n}\n.dcf-section-intro {\n  margin: 6px 0 0;\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n}\n.dcf-form-grid {\n  display: grid;\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  gap: 16px;\n  margin-top: 18px;\n}\n.dcf-field {\n  display: flex;\n  flex-direction: column;\n  gap: 6px;\n}\n.dcf-field-full {\n  grid-column: 1 \/ -1;\n}\n.dcf-label,\n.dcf-legend-label {\n  display: block;\n  color: var(--ink);\n  font-size: 14px;\n  line-height: 1.35;\n  font-weight: 600;\n}\n.dcf-control {\n  width: 100%;\n  min-height: 44px;\n  padding: 10px 12px;\n  border: 1px solid #cbd5e1;\n  border-radius: 6px;\n  background: var(--surface);\n  color: var(--ink);\n  font-size: 15px;\n  line-height: 1.4;\n  font-variant-numeric: tabular-nums;\n}\n.dcf-control:hover {\n  border-color: #94a3b8;\n}\n.dcf-control[aria-invalid=\"true\"] {\n  border-color: #b91c1c;\n  background: #fff7f7;\n}\n.dcf-helper,\n.dcf-error {\n  min-height: 20px;\n  margin: 0;\n  font-size: 13px;\n  line-height: 1.45;\n  font-weight: 500;\n}\n.dcf-helper {\n  color: var(--muted);\n}\n.dcf-error {\n  color: #991b1b;\n}\n.dcf-group {\n  margin-top: 20px;\n  padding-top: 20px;\n  border-top: 1px solid var(--border);\n}\n.dcf-group-head {\n  display: flex;\n  align-items: flex-start;\n  justify-content: flex-start;\n  flex-wrap: wrap;\n  gap: 12px;\n}\n.dcf-group-head .dcf-button {\n  margin-left: 0;\n}\n.dcf-group-title {\n  margin: 0;\n  flex: 1 1 240px;\n  font-size: 15px;\n  line-height: 1.4;\n  font-weight: 700;\n}\n.dcf-cash-rows {\n  display: grid;\n  gap: 12px;\n  margin-top: 12px;\n}\n.dcf-cash-row {\n  display: grid;\n  grid-template-columns: minmax(0, 1fr) auto;\n  gap: 8px;\n  align-items: end;\n}\n.dcf-remove-row {\n  width: 42px;\n  height: 44px;\n  padding: 0;\n  border: 1px solid #cbd5e1;\n  border-radius: 6px;\n  background: var(--surface);\n  color: #991b1b;\n  font-weight: 800;\n}\n.dcf-remove-row:hover {\n  background: #fff1f2;\n  border-color: #fda4af;\n}\n.dcf-validation-summary {\n  display: none;\n  margin-top: 16px;\n  padding: 10px 12px;\n  border: 1px solid #fecaca;\n  border-radius: 6px;\n  background: #fff7f7;\n  color: #991b1b;\n  font-size: 13px;\n  font-weight: 600;\n}\n.dcf-validation-summary.dcf-visible {\n  display: block;\n}\n.dcf-primary-result {\n  margin-top: 18px;\n  padding: 16px 0 18px;\n  border-top: 1px solid var(--border);\n  border-bottom: 1px solid var(--border);\n}\n.dcf-primary-label {\n  display: block;\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 600;\n}\n.dcf-primary-value {\n  display: block;\n  margin-top: 4px;\n  font-size: 30px;\n  line-height: 1.15;\n  font-weight: 700;\n  letter-spacing: -.02em;\n  font-variant-numeric: tabular-nums;\n}\n.dcf-primary-note {\n  margin: 8px 0 0;\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n}\n.dcf-metric-grid {\n  display: grid;\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  margin-top: 8px;\n}\n.dcf-metric {\n  padding: 14px 12px 14px 0;\n  border-bottom: 1px solid var(--border);\n}\n.dcf-metric:nth-child(even) {\n  padding-left: 12px;\n  border-left: 1px solid var(--border);\n}\n.dcf-metric-label {\n  display: block;\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 600;\n}\n.dcf-metric-value {\n  display: block;\n  margin-top: 4px;\n  font-size: 20px;\n  line-height: 1.25;\n  font-weight: 700;\n  font-variant-numeric: tabular-nums;\n}\n.dcf-result-callout {\n  margin-top: 16px;\n  padding: 12px;\n  border: 1px solid #bfdbfe;\n  border-radius: 6px;\n  background: #eff6ff;\n  color: #1e3a8a;\n  font-size: 13px;\n  font-weight: 600;\n}\n.dcf-chart-cluster {\n  display: grid;\n  grid-template-columns: minmax(0, 1fr);\n  gap: 20px;\n  align-items: center;\n  justify-items: center;\n  max-width: 760px;\n  margin: 20px auto 0;\n}\n.dcf-chart-visual {\n  width: min(100%, 320px);\n  aspect-ratio: 1;\n  display: grid;\n  place-items: center;\n}\n.dcf-chart-svg {\n  display: block;\n  width: 100%;\n  height: 100%;\n}\n.dcf-chart-legend {\n  display: grid;\n  gap: 10px;\n  width: min(100%, 360px);\n}\n.dcf-legend-row {\n  display: grid;\n  grid-template-columns: 14px minmax(0, auto) max-content max-content;\n  align-items: center;\n  justify-content: start;\n  column-gap: 10px;\n  row-gap: 4px;\n  font-size: 13px;\n  font-weight: 600;\n  color: var(--ink);\n  font-variant-numeric: tabular-nums;\n}\n.dcf-legend-swatch {\n  width: 12px;\n  height: 12px;\n  border-radius: 3px;\n}\n.dcf-legend-amount,\n.dcf-legend-percent {\n  color: var(--muted);\n  white-space: nowrap;\n}\n.dcf-chart-empty {\n  display: none;\n  width: 100%;\n  max-width: 520px;\n  margin: 16px auto 0;\n  padding: 12px;\n  border: 1px dashed #94a3b8;\n  border-radius: 6px;\n  background: var(--tint);\n  color: var(--muted);\n  text-align: center;\n  font-size: 13px;\n  font-weight: 600;\n}\n.dcf-chart-empty.dcf-visible {\n  display: block;\n}\n.dcf-chart-caption,\n.dcf-table-note {\n  margin-top: 16px;\n  padding: 10px 12px;\n  border: 1px solid var(--border);\n  border-radius: 6px;\n  background: var(--tint);\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n}\n.dcf-chart-summary-wrap,\n.dcf-table-wrap {\n  width: 100%;\n  overflow-x: auto;\n  margin-top: 16px;\n  border: 1px solid var(--border);\n  border-radius: 6px;\n}\n.dcf-table {\n  width: 100%;\n  border-collapse: collapse;\n  min-width: 620px;\n  font-size: 13px;\n  font-variant-numeric: tabular-nums;\n}\n.dcf-chart-summary-wrap .dcf-table {\n  min-width: 480px;\n}\n.dcf-table th,\n.dcf-table td {\n  padding: 10px 12px;\n  border-bottom: 1px solid var(--border);\n  text-align: right;\n  vertical-align: middle;\n  white-space: nowrap;\n}\n.dcf-table th:first-child,\n.dcf-table td:first-child {\n  text-align: left;\n}\n.dcf-table thead th {\n  background: #e2e8f0;\n  color: var(--ink);\n  font-weight: 700;\n}\n.dcf-table tbody tr:last-child td,\n.dcf-table tfoot tr:last-child td {\n  border-bottom: 0;\n}\n.dcf-table tfoot td {\n  background: var(--tint);\n  font-weight: 700;\n}\n.dcf-sensitive-wrap {\n  margin-top: 20px;\n}\n.dcf-sensitive-grid {\n  min-width: 600px;\n}\n.dcf-sensitive-grid td.dcf-sensitivity-base {\n  background: #dbeafe;\n  color: #1e3a8a;\n  font-weight: 800;\n}\n.dcf-safe-stack .dcf-chart-cluster {\n  grid-template-columns: minmax(0, 1fr) !important;\n  gap: 20px !important;\n}\n.dcf-safe-stack .dcf-chart-visual,\n.dcf-safe-stack .dcf-chart-legend {\n  justify-self: center;\n}\n.dcf-safe-stack .dcf-chart-caption {\n  margin-top: 20px;\n}\n.dcf-safe-table-stack .dcf-table-wrap,\n.dcf-safe-table-stack .dcf-chart-summary-wrap {\n  height: auto;\n  max-height: none;\n}\n.dcf-safe-table-stack .dcf-table-note {\n  margin-top: 20px;\n}\n.dcf-method-panel[hidden],\n.dcf-sensitive-wrap[hidden] {\n  display: none;\n}\n.dcf-education {\n  margin: 0 24px 24px;\n  padding: 24px;\n  border-top: 1px solid var(--border);\n  background: var(--tint);\n  border-radius: 8px;\n}\n.dcf-education h2 {\n  margin: 0 0 12px;\n  font-size: 22px;\n  line-height: 1.3;\n  font-weight: 700;\n}\n.dcf-education h3 {\n  margin: 24px 0 8px;\n  font-size: 18px;\n  line-height: 1.35;\n  font-weight: 650;\n}\n.dcf-education p,\n.dcf-education li {\n  color: #334155;\n}\n.dcf-education p {\n  margin: 8px 0;\n}\n.dcf-education ul {\n  margin: 8px 0 0;\n  padding-left: 22px;\n}\n.dcf-education li + li {\n  margin-top: 6px;\n}\n.dcf-education strong {\n  color: var(--ink);\n}\n@container (min-width: 640px) {\n  .dcf-chart-cluster {\n    grid-template-columns: minmax(240px, 320px) minmax(260px, 360px);\n    gap: 24px;\n  }\n}\n@container (min-width: 900px) {\n  .dcf-workspace {\n    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);\n  }\n}\n@container (max-width: 639px) {\n  .dcf-header,\n  .dcf-toolbar,\n  .dcf-workspace {\n    padding-left: 16px;\n    padding-right: 16px;\n  }\n  .dcf-section,\n  .dcf-education {\n    margin-left: 16px;\n    margin-right: 16px;\n  }\n  .dcf-form-grid,\n  .dcf-metric-grid {\n    grid-template-columns: minmax(0, 1fr);\n  }\n  .dcf-metric:nth-child(even) {\n    padding-left: 0;\n    border-left: 0;\n  }\n  .dcf-legend-row {\n    grid-template-columns: 14px minmax(0, auto) max-content;\n  }\n  .dcf-legend-percent {\n    grid-column: 2 \/ 4;\n  }\n  .dcf-chart-caption,\n  .dcf-table-note {\n    margin-top: 16px;\n  }\n}\n@container (max-width: 379px) {\n  .dcf-header,\n  .dcf-toolbar,\n  .dcf-workspace {\n    padding-left: 12px;\n    padding-right: 12px;\n  }\n  .dcf-section,\n  .dcf-education {\n    margin-left: 12px;\n    margin-right: 12px;\n    padding-left: 14px;\n    padding-right: 14px;\n  }\n  .dcf-panel {\n    padding: 16px 14px;\n  }\n  .dcf-button {\n    width: 100%;\n  }\n  .dcf-toolbar {\n    align-items: stretch;\n  }\n  .dcf-cash-row {\n    grid-template-columns: minmax(0, 1fr) 42px;\n  }\n}\n\u003c\/style\u003e\n\u003cdiv class=\"dcf-calculator\" data-calculator-root\u003e\n  \u003cheader class=\"dcf-header\"\u003e\n    \u003ch2 class=\"dcf-title\"\u003eDiscounted Cash Flow Calculator\u003c\/h2\u003e\n    \u003cp class=\"dcf-subtitle\"\u003eEstimate enterprise value, equity value, and fair value per share from forecast cash flows or an earnings-per-share growth model.\u003c\/p\u003e\n    \u003cdiv class=\"dcf-pills\" aria-label=\"Live valuation summary\"\u003e\n      \u003cspan class=\"dcf-pill\"\u003eMethod \u003cstrong data-pill=\"method\"\u003eFCFF\u003c\/strong\u003e\u003c\/span\u003e\n      \u003cspan class=\"dcf-pill\"\u003eFair value \u003cstrong data-pill=\"fair\"\u003e$0.00\u003c\/strong\u003e\u003c\/span\u003e\n      \u003cspan class=\"dcf-pill\"\u003eMarket gap \u003cstrong data-pill=\"gap\"\u003e0.00%\u003c\/strong\u003e\u003c\/span\u003e\n      \u003cspan class=\"dcf-pill\"\u003eTerminal share \u003cstrong data-pill=\"terminal\"\u003e0.00%\u003c\/strong\u003e\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/header\u003e\n\n  \u003cdiv class=\"dcf-toolbar\"\u003e\n    \u003cbutton class=\"dcf-button dcf-button-primary\" type=\"button\" data-action=\"download\"\u003e\n      \u003csvg class=\"dcf-icon\" viewbox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"\u003e\n        \u003cpath fill=\"currentColor\" d=\"M12 3a1 1 0 0 1 1 1v9.59l2.3-2.3a1 1 0 1 1 1.4 1.42l-4 4a1 1 0 0 1-1.4 0l-4-4a1 1 0 0 1 1.4-1.42l2.3 2.3V4a1 1 0 0 1 1-1Zm-7 15a1 1 0 0 1 1 1v1h12v-1a1 1 0 1 1 2 0v2a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1Z\"\u003e\u003c\/path\u003e\n      \u003c\/svg\u003e\n      \u003cspan\u003eDownload Excel\u003c\/span\u003e\n    \u003c\/button\u003e\n    \u003cbutton class=\"dcf-button dcf-button-secondary\" type=\"button\" data-action=\"reset\"\u003eReset\u003c\/button\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"dcf-workspace\"\u003e\n    \u003csection class=\"dcf-panel\" aria-labelledby=\"dcf-inputs-title\"\u003e\n      \u003ch3 class=\"dcf-panel-title\" id=\"dcf-inputs-title\"\u003eValuation assumptions\u003c\/h3\u003e\n      \u003cdiv class=\"dcf-form-grid\"\u003e\n        \u003cdiv class=\"dcf-field dcf-field-full\"\u003e\n          \u003clabel class=\"dcf-label\" for=\"dcf-method\"\u003eDCF method\u003c\/label\u003e\n          \u003cselect class=\"dcf-control\" id=\"dcf-method\" data-input=\"method\"\u003e\n            \u003coption value=\"fcff\"\u003eDCF using FCFF\u003c\/option\u003e\n            \u003coption value=\"eps\"\u003eDCF using EPS\u003c\/option\u003e\n          \u003c\/select\u003e\n          \u003cp class=\"dcf-helper\"\u003eUse FCFF for enterprise valuation or EPS for a per-share growth-stage model.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"dcf-method-panel\" data-method-panel=\"fcff\"\u003e\n        \u003cdiv class=\"dcf-group\"\u003e\n          \u003cdiv class=\"dcf-group-head\"\u003e\n            \u003ch4 class=\"dcf-group-title\"\u003eForecast free cash flow to the firm\u003c\/h4\u003e\n            \u003cbutton class=\"dcf-button dcf-button-secondary dcf-button-small\" type=\"button\" data-action=\"add-row\"\u003eAdd forecast year\u003c\/button\u003e\n          \u003c\/div\u003e\n          \u003cp class=\"dcf-helper\"\u003eEnter one explicit FCFF amount for each forecast year. The final year feeds the terminal-value formula.\u003c\/p\u003e\n          \u003cdiv class=\"dcf-cash-rows\" data-cash-rows\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"dcf-form-grid\"\u003e\n          \u003cdiv class=\"dcf-field\"\u003e\n            \u003clabel class=\"dcf-label\" for=\"dcf-cash\"\u003eCash\u003c\/label\u003e\n            \u003cinput class=\"dcf-control\" id=\"dcf-cash\" type=\"text\" inputmode=\"decimal\" data-input=\"cash\" data-format=\"currency\" value=\"$100,000.00\" aria-describedby=\"dcf-cash-help dcf-cash-error\"\u003e\n            \u003cp class=\"dcf-helper\" id=\"dcf-cash-help\"\u003eCash added when converting enterprise value to equity value.\u003c\/p\u003e\n            \u003cp class=\"dcf-error\" id=\"dcf-cash-error\" data-error-for=\"cash\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"dcf-field\"\u003e\n            \u003clabel class=\"dcf-label\" for=\"dcf-debt\"\u003eOutstanding debt\u003c\/label\u003e\n            \u003cinput class=\"dcf-control\" id=\"dcf-debt\" type=\"text\" inputmode=\"decimal\" data-input=\"debt\" data-format=\"currency\" value=\"$900,000.00\" aria-describedby=\"dcf-debt-help dcf-debt-error\"\u003e\n            \u003cp class=\"dcf-helper\" id=\"dcf-debt-help\"\u003eInterest-bearing debt deducted from enterprise value.\u003c\/p\u003e\n            \u003cp class=\"dcf-error\" id=\"dcf-debt-error\" data-error-for=\"debt\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"dcf-field\"\u003e\n            \u003clabel class=\"dcf-label\" for=\"dcf-perpetual-growth\"\u003ePerpetual growth\u003c\/label\u003e\n            \u003cinput class=\"dcf-control\" id=\"dcf-perpetual-growth\" type=\"text\" inputmode=\"decimal\" data-input=\"perpetualGrowth\" data-format=\"percent\" value=\"4.48%\" aria-describedby=\"dcf-perpetual-growth-help dcf-perpetual-growth-error\"\u003e\n            \u003cp class=\"dcf-helper\" id=\"dcf-perpetual-growth-help\"\u003eLong-run annual growth after the explicit forecast.\u003c\/p\u003e\n            \u003cp class=\"dcf-error\" id=\"dcf-perpetual-growth-error\" data-error-for=\"perpetualGrowth\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"dcf-field\"\u003e\n            \u003clabel class=\"dcf-label\" for=\"dcf-wacc\"\u003eWeighted average cost of capital\u003c\/label\u003e\n            \u003cinput class=\"dcf-control\" id=\"dcf-wacc\" type=\"text\" inputmode=\"decimal\" data-input=\"wacc\" data-format=\"percent\" value=\"9.94%\" aria-describedby=\"dcf-wacc-help dcf-wacc-error\"\u003e\n            \u003cp class=\"dcf-helper\" id=\"dcf-wacc-help\"\u003eDiscount rate applied to FCFF and terminal value.\u003c\/p\u003e\n            \u003cp class=\"dcf-error\" id=\"dcf-wacc-error\" data-error-for=\"wacc\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"dcf-field\"\u003e\n            \u003clabel class=\"dcf-label\" for=\"dcf-shares\"\u003eOutstanding shares\u003c\/label\u003e\n            \u003cinput class=\"dcf-control\" id=\"dcf-shares\" type=\"text\" inputmode=\"decimal\" data-input=\"shares\" data-format=\"number\" value=\"100,000\" aria-describedby=\"dcf-shares-help dcf-shares-error\"\u003e\n            \u003cp class=\"dcf-helper\" id=\"dcf-shares-help\"\u003eDiluted shares used to calculate fair value per share.\u003c\/p\u003e\n            \u003cp class=\"dcf-error\" id=\"dcf-shares-error\" data-error-for=\"shares\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"dcf-field\"\u003e\n            \u003clabel class=\"dcf-label\" for=\"dcf-share-price\"\u003eCurrent share price\u003c\/label\u003e\n            \u003cinput class=\"dcf-control\" id=\"dcf-share-price\" type=\"text\" inputmode=\"decimal\" data-input=\"sharePrice\" data-format=\"currency\" value=\"$5.00\" aria-describedby=\"dcf-share-price-help dcf-share-price-error\"\u003e\n            \u003cp class=\"dcf-helper\" id=\"dcf-share-price-help\"\u003eOptional market price for upside or downside comparison.\u003c\/p\u003e\n            \u003cp class=\"dcf-error\" id=\"dcf-share-price-error\" data-error-for=\"sharePrice\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"dcf-method-panel\" data-method-panel=\"eps\" hidden\u003e\n        \u003cdiv class=\"dcf-form-grid\"\u003e\n          \u003cdiv class=\"dcf-field\"\u003e\n            \u003clabel class=\"dcf-label\" for=\"dcf-eps\"\u003eEarnings per share\u003c\/label\u003e\n            \u003cinput class=\"dcf-control\" id=\"dcf-eps\" type=\"text\" inputmode=\"decimal\" data-input=\"eps\" data-format=\"currency\" value=\"$50.00\" aria-describedby=\"dcf-eps-help dcf-eps-error\"\u003e\n            \u003cp class=\"dcf-helper\" id=\"dcf-eps-help\"\u003eStarting annual EPS used as the per-share cash-flow proxy.\u003c\/p\u003e\n            \u003cp class=\"dcf-error\" id=\"dcf-eps-error\" data-error-for=\"eps\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"dcf-field\"\u003e\n            \u003clabel class=\"dcf-label\" for=\"dcf-eps-growth\"\u003eGrowth rate\u003c\/label\u003e\n            \u003cinput class=\"dcf-control\" id=\"dcf-eps-growth\" type=\"text\" inputmode=\"decimal\" data-input=\"epsGrowth\" data-format=\"percent\" value=\"8.00%\" aria-describedby=\"dcf-eps-growth-help dcf-eps-growth-error\"\u003e\n            \u003cp class=\"dcf-helper\" id=\"dcf-eps-growth-help\"\u003eAnnual EPS growth during the initial growth stage.\u003c\/p\u003e\n            \u003cp class=\"dcf-error\" id=\"dcf-eps-growth-error\" data-error-for=\"epsGrowth\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"dcf-field\"\u003e\n            \u003clabel class=\"dcf-label\" for=\"dcf-growth-years\"\u003eGrowth-stage years\u003c\/label\u003e\n            \u003cinput class=\"dcf-control\" id=\"dcf-growth-years\" type=\"text\" inputmode=\"numeric\" data-input=\"growthYears\" data-format=\"integer\" value=\"5\" aria-describedby=\"dcf-growth-years-help dcf-growth-years-error\"\u003e\n            \u003cp class=\"dcf-helper\" id=\"dcf-growth-years-help\"\u003eNumber of years earning the initial growth rate.\u003c\/p\u003e\n            \u003cp class=\"dcf-error\" id=\"dcf-growth-years-error\" data-error-for=\"growthYears\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"dcf-field\"\u003e\n            \u003clabel class=\"dcf-label\" for=\"dcf-eps-terminal-growth\"\u003eTerminal growth rate\u003c\/label\u003e\n            \u003cinput class=\"dcf-control\" id=\"dcf-eps-terminal-growth\" type=\"text\" inputmode=\"decimal\" data-input=\"epsTerminalGrowth\" data-format=\"percent\" value=\"3.00%\" aria-describedby=\"dcf-eps-terminal-growth-help dcf-eps-terminal-growth-error\"\u003e\n            \u003cp class=\"dcf-helper\" id=\"dcf-eps-terminal-growth-help\"\u003eAnnual growth during the second, slower-growth stage.\u003c\/p\u003e\n            \u003cp class=\"dcf-error\" id=\"dcf-eps-terminal-growth-error\" data-error-for=\"epsTerminalGrowth\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"dcf-field\"\u003e\n            \u003clabel class=\"dcf-label\" for=\"dcf-terminal-years\"\u003eTerminal-stage years\u003c\/label\u003e\n            \u003cinput class=\"dcf-control\" id=\"dcf-terminal-years\" type=\"text\" inputmode=\"numeric\" data-input=\"terminalYears\" data-format=\"integer\" value=\"5\" aria-describedby=\"dcf-terminal-years-help dcf-terminal-years-error\"\u003e\n            \u003cp class=\"dcf-helper\" id=\"dcf-terminal-years-help\"\u003eFinite years included in the slower-growth stage.\u003c\/p\u003e\n            \u003cp class=\"dcf-error\" id=\"dcf-terminal-years-error\" data-error-for=\"terminalYears\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"dcf-field\"\u003e\n            \u003clabel class=\"dcf-label\" for=\"dcf-eps-discount\"\u003eDiscount rate\u003c\/label\u003e\n            \u003cinput class=\"dcf-control\" id=\"dcf-eps-discount\" type=\"text\" inputmode=\"decimal\" data-input=\"epsDiscount\" data-format=\"percent\" value=\"11.00%\" aria-describedby=\"dcf-eps-discount-help dcf-eps-discount-error\"\u003e\n            \u003cp class=\"dcf-helper\" id=\"dcf-eps-discount-help\"\u003eRequired return used to discount both EPS stages.\u003c\/p\u003e\n            \u003cp class=\"dcf-error\" id=\"dcf-eps-discount-error\" data-error-for=\"epsDiscount\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"dcf-field dcf-field-full\"\u003e\n            \u003clabel class=\"dcf-label\" for=\"dcf-eps-share-price\"\u003eCurrent share price\u003c\/label\u003e\n            \u003cinput class=\"dcf-control\" id=\"dcf-eps-share-price\" type=\"text\" inputmode=\"decimal\" data-input=\"epsSharePrice\" data-format=\"currency\" value=\"$300.00\" aria-describedby=\"dcf-eps-share-price-help dcf-eps-share-price-error\"\u003e\n            \u003cp class=\"dcf-helper\" id=\"dcf-eps-share-price-help\"\u003eOptional market price for comparison with intrinsic value.\u003c\/p\u003e\n            \u003cp class=\"dcf-error\" id=\"dcf-eps-share-price-error\" data-error-for=\"epsSharePrice\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"dcf-validation-summary\" data-validation-summary role=\"alert\"\u003e\u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"dcf-panel\" aria-labelledby=\"dcf-results-title\"\u003e\n      \u003ch3 class=\"dcf-panel-title\" id=\"dcf-results-title\"\u003eLive valuation results\u003c\/h3\u003e\n      \u003cdiv class=\"dcf-primary-result\" aria-live=\"polite\" aria-atomic=\"true\"\u003e\n        \u003cspan class=\"dcf-primary-label\" data-result-label\u003eFair value per share\u003c\/span\u003e\n        \u003cstrong class=\"dcf-primary-value\" data-result=\"primary\"\u003e$0.00\u003c\/strong\u003e\n        \u003cp class=\"dcf-primary-note\" data-result=\"primaryNote\"\u003eEnter valid assumptions to calculate a valuation.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"dcf-metric-grid\"\u003e\n        \u003cdiv class=\"dcf-metric\"\u003e\n          \u003cspan class=\"dcf-metric-label\" data-metric-label=\"one\"\u003eEnterprise value\u003c\/span\u003e\n          \u003cstrong class=\"dcf-metric-value\" data-result=\"one\"\u003e$0.00\u003c\/strong\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"dcf-metric\"\u003e\n          \u003cspan class=\"dcf-metric-label\" data-metric-label=\"two\"\u003eEquity value\u003c\/span\u003e\n          \u003cstrong class=\"dcf-metric-value\" data-result=\"two\"\u003e$0.00\u003c\/strong\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"dcf-metric\"\u003e\n          \u003cspan class=\"dcf-metric-label\" data-metric-label=\"three\"\u003ePV of terminal value\u003c\/span\u003e\n          \u003cstrong class=\"dcf-metric-value\" data-result=\"three\"\u003e$0.00\u003c\/strong\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"dcf-metric\"\u003e\n          \u003cspan class=\"dcf-metric-label\" data-metric-label=\"four\"\u003eMarket upside \/ downside\u003c\/span\u003e\n          \u003cstrong class=\"dcf-metric-value\" data-result=\"four\"\u003e0.00%\u003c\/strong\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"dcf-metric\"\u003e\n          \u003cspan class=\"dcf-metric-label\" data-metric-label=\"five\"\u003eNet debt\u003c\/span\u003e\n          \u003cstrong class=\"dcf-metric-value\" data-result=\"five\"\u003e$0.00\u003c\/strong\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"dcf-metric\"\u003e\n          \u003cspan class=\"dcf-metric-label\" data-metric-label=\"six\"\u003eForecast periods\u003c\/span\u003e\n          \u003cstrong class=\"dcf-metric-value\" data-result=\"six\"\u003e0\u003c\/strong\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"dcf-result-callout\" data-interpretation\u003eValuation interpretation will appear here.\u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/div\u003e\n\n  \u003csection class=\"dcf-section\" data-chart-card aria-labelledby=\"dcf-breakdown-title\"\u003e\n    \u003ch3 class=\"dcf-section-title\" id=\"dcf-breakdown-title\"\u003eValue composition\u003c\/h3\u003e\n    \u003cp class=\"dcf-section-intro\" data-chart-intro\u003eThe chart separates the explicit forecast from the terminal component.\u003c\/p\u003e\n    \u003cdiv class=\"dcf-chart-empty\" data-chart-empty\u003eEnter valid values above to see the valuation breakdown.\u003c\/div\u003e\n    \u003cdiv class=\"dcf-chart-cluster\" data-chart-cluster\u003e\n      \u003cdiv class=\"dcf-chart-visual\" data-chart-visual\u003e\u003c\/div\u003e\n      \u003cdiv class=\"dcf-chart-legend\" data-chart-legend\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"dcf-chart-summary-wrap\" data-chart-summary-wrap\u003e\n      \u003ctable class=\"dcf-table\" data-chart-table\u003e\n        \u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eComponent\u003c\/th\u003e\n\u003cth\u003ePresent value\u003c\/th\u003e\n\u003cth\u003eShare of total\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n        \u003ctbody data-chart-table-body\u003e\u003c\/tbody\u003e\n        \u003ctfoot\u003e\u003ctr\u003e\n\u003ctd\u003eTotal\u003c\/td\u003e\n\u003ctd data-chart-total\u003e$0.00\u003c\/td\u003e\n\u003ctd\u003e100.00%\u003c\/td\u003e\n\u003c\/tr\u003e\u003c\/tfoot\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"dcf-chart-caption\" data-chart-caption\u003eThe breakdown updates from the same model used by the result cards and workbook.\u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"dcf-section\" data-table-card aria-labelledby=\"dcf-projection-title\"\u003e\n    \u003ch3 class=\"dcf-section-title\" id=\"dcf-projection-title\"\u003eDiscounted projection\u003c\/h3\u003e\n    \u003cp class=\"dcf-section-intro\" data-projection-intro\u003eEach row shows the undiscounted forecast, discount factor, and present value.\u003c\/p\u003e\n    \u003cdiv class=\"dcf-table-wrap\" data-table-wrap\u003e\n      \u003ctable class=\"dcf-table\" data-projection-table\u003e\n        \u003cthead data-projection-head\u003e\u003c\/thead\u003e\n        \u003ctbody data-projection-body\u003e\u003c\/tbody\u003e\n        \u003ctfoot data-projection-foot\u003e\u003c\/tfoot\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"dcf-table-note\" data-table-note\u003eRows are calculated at full precision and rounded only for display and export.\u003c\/div\u003e\n\n    \u003cdiv class=\"dcf-sensitive-wrap\" data-sensitivity-wrap\u003e\n      \u003ch3 class=\"dcf-section-title\"\u003eFair value sensitivity\u003c\/h3\u003e\n      \u003cp class=\"dcf-section-intro\"\u003eFair value per share across nearby WACC and perpetual-growth assumptions.\u003c\/p\u003e\n      \u003cdiv class=\"dcf-table-wrap\"\u003e\n        \u003ctable class=\"dcf-table dcf-sensitive-grid\" data-sensitivity-table\u003e\n          \u003cthead data-sensitivity-head\u003e\u003c\/thead\u003e\n          \u003ctbody data-sensitivity-body\u003e\u003c\/tbody\u003e\n        \u003c\/table\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"dcf-table-note\"\u003eThe highlighted cell uses the current base assumptions. Nearby cells illustrate how terminal-value sensitivity can change the conclusion.\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"dcf-education\" aria-labelledby=\"dcf-guide-title\"\u003e\n    \u003ch2 id=\"dcf-guide-title\"\u003eHow to use and interpret a DCF valuation\u003c\/h2\u003e\n    \u003cp\u003eA discounted cash flow valuation estimates what future economic benefits are worth today. This tool supports two related approaches. The \u003cstrong\u003eFCFF method\u003c\/strong\u003e discounts free cash flow available to both debt and equity providers, producing enterprise value before adjusting for cash and debt. The \u003cstrong\u003eEPS method\u003c\/strong\u003e treats earnings per share as a simplified per-share cash-flow proxy and discounts two finite growth stages. Both methods are assumption-driven estimates rather than predictions or personalized investment advice.\u003c\/p\u003e\n\n    \u003ch3\u003eFCFF inputs\u003c\/h3\u003e\n    \u003cp\u003e\u003cstrong\u003eForecast FCFF\u003c\/strong\u003e is the cash generated by operations after tax and required reinvestment, but before payments to financing providers. Enter one amount for each explicit forecast year; use consistent currency units throughout. Adding years can improve visibility when operating performance is changing, but distant forecasts become less reliable. Negative cash flow can be entered in early years, although the final forecast year should normally be positive because it anchors terminal value. Company filings available through the \u003ca href=\"https:\/\/www.sec.gov\/edgar\/search\/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eSEC EDGAR search\u003c\/a\u003e can provide historical cash-flow and balance-sheet inputs.\u003c\/p\u003e\n    \u003cp\u003e\u003cstrong\u003eCash\u003c\/strong\u003e is added and \u003cstrong\u003eoutstanding debt\u003c\/strong\u003e is deducted when enterprise value is converted to equity value. Include financing debt consistently and avoid double-counting operating liabilities already reflected in FCFF. \u003cstrong\u003ePerpetual growth\u003c\/strong\u003e represents sustainable growth after the explicit forecast. A lower rate is usually more defensible for mature businesses; it must remain below WACC. Long-run economic data from \u003ca href=\"https:\/\/fred.stlouisfed.org\/series\/GDPC1\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eFRED real GDP\u003c\/a\u003e can help frame, but not determine, a terminal-growth assumption.\u003c\/p\u003e\n    \u003cp\u003e\u003cstrong\u003eWACC\u003c\/strong\u003e is the blended required return for equity and after-tax debt capital. Raising WACC reduces every present value and usually has a large effect on terminal value. The rate should match the currency, inflation basis, and risk characteristics of the FCFF forecast. Sector-level cost-of-capital data from \u003ca href=\"https:\/\/pages.stern.nyu.edu\/~adamodar\/New_Home_Page\/datafile\/wacc.html\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eNYU Stern\u003c\/a\u003e can be a useful benchmark, but company-specific capital structure and risk still matter. \u003cstrong\u003eOutstanding shares\u003c\/strong\u003e should normally be the diluted count, not merely basic shares, and \u003cstrong\u003eshare price\u003c\/strong\u003e is optional; it is used only for the market comparison.\u003c\/p\u003e\n\n    \u003ch3\u003eEPS inputs\u003c\/h3\u003e\n    \u003cp\u003e\u003cstrong\u003eEarnings per share\u003c\/strong\u003e is the starting annual amount. The simplified EPS approach assumes that this amount behaves like a distributable per-share cash flow, so it is less suitable when accounting earnings diverge materially from cash generation. \u003cstrong\u003eGrowth rate\u003c\/strong\u003e and \u003cstrong\u003egrowth-stage years\u003c\/strong\u003e define the first phase. Higher growth or a longer phase increases value, but both should be supported by margins, reinvestment capacity, and market size. \u003cstrong\u003eTerminal growth rate\u003c\/strong\u003e and \u003cstrong\u003eterminal-stage years\u003c\/strong\u003e define a second finite phase rather than an infinite perpetuity. The \u003cstrong\u003ediscount rate\u003c\/strong\u003e is applied to both phases; a higher required return lowers intrinsic value. The \u003cstrong\u003ecurrent share price\u003c\/strong\u003e provides the upside or downside comparison.\u003c\/p\u003e\n\n    \u003ch3\u003eWhat the results mean\u003c\/h3\u003e\n    \u003cp\u003e\u003cstrong\u003eFair value per share\u003c\/strong\u003e is equity value divided by diluted shares in FCFF mode, or total discounted per-share earnings in EPS mode. It is the central output, but it should be interpreted as a range rather than a precise target. \u003cstrong\u003eEnterprise value\u003c\/strong\u003e is the present value of explicit FCFF plus terminal value. \u003cstrong\u003eEquity value\u003c\/strong\u003e adjusts enterprise value for cash and debt. In EPS mode, the comparable result cards show the discounted growth-stage and terminal-stage values instead.\u003c\/p\u003e\n    \u003cp\u003e\u003cstrong\u003ePV of terminal value\u003c\/strong\u003e shows how much of the valuation comes from periods beyond the explicit FCFF forecast, or from the second EPS stage. A high terminal share is common, but it also signals sensitivity to small changes in discount and growth assumptions. \u003cstrong\u003eMarket upside or downside\u003c\/strong\u003e compares modeled fair value with the entered share price: positive means fair value is above price; negative means it is below. A zero result may mean the two values match or that no market price was entered. \u003cstrong\u003eNet debt\u003c\/strong\u003e equals debt minus cash, while \u003cstrong\u003eforecast periods\u003c\/strong\u003e reports the number of modeled years.\u003c\/p\u003e\n\n    \u003ch3\u003eFormula and model mechanics\u003c\/h3\u003e\n    \u003cp\u003eFor FCFF, each annual cash flow is divided by one plus WACC raised to the year number. Terminal value uses the Gordon growth relationship: final-year FCFF multiplied by one plus perpetual growth, divided by WACC minus perpetual growth. Terminal value is then discounted back from the final\nforecast year. The model adds the present values, subtracts net debt, and divides by shares. The general FCFF framework is also covered by the \u003ca href=\"https:\/\/www.cfainstitute.org\/insights\/professional-learning\/refresher-readings\/2026\/free-cash-flow-valuation\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eCFA Institute\u003c\/a\u003e.\u003c\/p\u003e\n    \u003cp\u003eFor EPS, the first stage is the present value of EPS growing at the initial rate for the selected years. The second stage starts from the final first-stage EPS and applies the slower terminal growth rate for a finite number of additional years. The projection table exposes every annual amount and discount factor, so the total can be traced without relying on a black-box formula.\u003c\/p\u003e\n\n    \u003ch3\u003eCharts, tables, and sensitivity\u003c\/h3\u003e\n    \u003cp\u003eThe value-composition chart uses exactly the same present-value components as the results and Excel workbook. The legend and summary table show both dollars and percentages. The projection table shows where value is created and how discounting reduces distant cash flows. In FCFF mode, the sensitivity matrix changes WACC and perpetual growth around the current assumptions while holding other inputs constant. Large changes across nearby cells indicate that terminal assumptions dominate the model.\u003c\/p\u003e\n\n    \u003ch3\u003eCommon mistakes and practical checks\u003c\/h3\u003e\n    \u003cul\u003e\n      \u003cli\u003eDo not mix nominal cash flows with a real discount rate, or vice versa.\u003c\/li\u003e\n      \u003cli\u003eKeep WACC above perpetual growth; equality causes division by zero and near-equality can create implausibly large values.\u003c\/li\u003e\n      \u003cli\u003eUse normalized cash flow rather than an unusually strong or weak single year.\u003c\/li\u003e\n      \u003cli\u003eReconcile cash, debt, and diluted shares to the same reporting date.\u003c\/li\u003e\n      \u003cli\u003eTest downside, base, and upside assumptions instead of relying on one scenario.\u003c\/li\u003e\n      \u003cli\u003eCompare DCF outputs with market multiples, transaction evidence, and business quality before drawing conclusions.\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/section\u003e\n\u003c\/div\u003e","brand":"FinancialModelsLab","offers":[{"title":"Default Title","offer_id":49909486092531,"sku":"dcf","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6191\/2762\/files\/dcf.webp?v=1783935493","url":"https:\/\/financialmodelslab.com\/products\/dcf","provider":"Financial Models Lab","version":"1.0","type":"link"}