{"id":61,"date":"2026-11-10T22:15:24","date_gmt":"2026-11-10T22:15:24","guid":{"rendered":"https:\/\/dataonesix.com\/?page_id=61"},"modified":"2026-11-12T17:28:42","modified_gmt":"2026-11-12T17:28:42","slug":"dcf-valuation-analysis","status":"publish","type":"page","link":"https:\/\/dataonesix.com\/hi\/dcf-valuation-analysis\/","title":{"rendered":"DCF \u0915\u0947 \u0906\u0927\u093e\u0930 \u092a\u0930 \u0915\u0902\u092a\u0928\u0940 \u0915\u0947 \u092e\u0942\u0932\u094d\u092f \u0915\u093e \u0935\u093f\u0936\u094d\u0932\u0947\u0937\u0923"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>DataOneSix | DCF Valuation<\/title>\n\n<style>\n:root {\n  --bg: #D8D6D2;\n  --text: #171717;\n  --red: #7A1F2B;\n  --blue: #287BFF;\n  --card: #EEEDEA;\n  --border: #B9B6B0;\n}\n\n* { box-sizing: border-box; }\n\nbody {\n  margin: 0;\n  padding: 24px;\n  background: var(--bg);\n  color: var(--text);\n  font-family: Arial, sans-serif;\n}\n\n.container {\n  max-width: 1200px;\n  margin: auto;\n}\n\n.header {\n  border-bottom: 2px solid var(--red);\n  padding-bottom: 18px;\n  margin-bottom: 24px;\n}\n\n.logo {\n  font-size: 28px;\n  font-weight: 900;\n  letter-spacing: 1px;\n}\n\n.logo .one { color: var(--blue); }\n.logo .six { color: var(--red); }\n\n.subtitle {\n  margin-top: 8px;\n  color: #555;\n  font-size: 14px;\n}\n\nh2 {\n  font-size: 19px;\n  margin: 0 0 16px;\n}\n\n.section {\n  background: var(--card);\n  border: 1px solid var(--border);\n  border-radius: 12px;\n  padding: 20px;\n  margin-bottom: 20px;\n}\n\n.input-grid {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 16px;\n}\n\n.field label {\n  display: block;\n  font-size: 13px;\n  font-weight: 700;\n  margin-bottom: 7px;\n}\n\n.field input {\n  width: 100%;\n  padding: 11px;\n  border: 1px solid var(--border);\n  border-radius: 7px;\n  background: #fff;\n  color: var(--text);\n  font-size: 15px;\n}\n\n.field input:focus {\n  outline: 2px solid var(--blue);\n  border-color: var(--blue);\n}\n\n.hint {\n  display: block;\n  color: #666;\n  font-size: 11px;\n  margin-top: 5px;\n}\n\n.button-row {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 10px;\n  margin-top: 18px;\n}\n\nbutton {\n  border: 0;\n  border-radius: 7px;\n  padding: 12px 20px;\n  font-weight: 700;\n  cursor: pointer;\n  font-size: 14px;\n}\n\n.calculate {\n  background: var(--blue);\n  color: white;\n}\n\n.reset {\n  background: var(--red);\n  color: white;\n}\n\n.results {\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  gap: 14px;\n}\n\n.result-card {\n  background: #fff;\n  border: 1px solid var(--border);\n  border-radius: 10px;\n  padding: 16px;\n}\n\n.result-card small {\n  display: block;\n  color: #666;\n  font-size: 12px;\n  margin-bottom: 9px;\n}\n\n.result-card strong {\n  font-size: 21px;\n  overflow-wrap: anywhere;\n}\n\n.result-card.highlight {\n  border-top: 4px solid var(--blue);\n}\n\n.result-card.important {\n  border-top: 4px solid var(--red);\n}\n\n.table-wrap {\n  width: 100%;\n  overflow-x: auto;\n}\n\ntable {\n  width: 100%;\n  border-collapse: collapse;\n  min-width: 650px;\n  font-size: 13px;\n}\n\nth, td {\n  border-bottom: 1px solid var(--border);\n  padding: 12px 10px;\n  text-align: right;\n  white-space: nowrap;\n}\n\nth {\n  background: #E2E0DC;\n  font-weight: 700;\n}\n\nth:first-child, td:first-child {\n  text-align: left;\n}\n\n.positive { color: #176B36; }\n.negative { color: var(--red); }\n\n.note {\n  font-size: 12px;\n  color: #555;\n  line-height: 1.6;\n  margin-top: 14px;\n}\n\n.error {\n  color: var(--red);\n  font-weight: 700;\n  margin-top: 12px;\n}\n\n.footer {\n  text-align: center;\n  font-size: 12px;\n  color: #555;\n  padding: 20px 0;\n}\n\n@media (max-width: 850px) {\n  .input-grid { grid-template-columns: repeat(2, 1fr); }\n  .results { grid-template-columns: repeat(2, 1fr); }\n}\n\n@media (max-width: 520px) {\n  body { padding: 12px; }\n  .section { padding: 14px; }\n  .input-grid { grid-template-columns: 1fr; }\n  .results { grid-template-columns: 1fr 1fr; }\n  .result-card strong { font-size: 17px; }\n}\n<\/style>\n<\/head>\n\n<body>\n<div class=\"container\">\n\n  <header class=\"header\">\n    <div class=\"logo\">\n      <span>DATA<\/span><span class=\"one\">ONE<\/span><span class=\"six\">SIX<\/span>\n    <\/div>\n    <div class=\"subtitle\">DCF Valuation Analysis | Universal Model<\/div>\n  <\/header>\n\n  <section class=\"section\">\n    <h2>1. Company &#038; Financial Assumptions<\/h2>\n\n    <div class=\"input-grid\">\n      <div class=\"field\">\n        <label>Company Name<\/label>\n        <input id=\"company\" type=\"text\" value=\"Demo Company\">\n      <\/div>\n\n      <div class=\"field\">\n        <label>Current Share Price (\u20b9)<\/label>\n        <input id=\"price\" type=\"number\" value=\"250\" min=\"0\" step=\"any\">\n      <\/div>\n\n      <div class=\"field\">\n        <label>Current Revenue (\u20b9 Cr)<\/label>\n        <input id=\"revenue\" type=\"number\" value=\"1000\" min=\"0\" step=\"any\">\n      <\/div>\n\n      <div class=\"field\">\n        <label>Revenue Growth (%)<\/label>\n        <input id=\"growth\" type=\"number\" value=\"12\" step=\"any\">\n      <\/div>\n\n      <div class=\"field\">\n        <label>EBIT Margin (%)<\/label>\n        <input id=\"margin\" type=\"number\" value=\"20\" step=\"any\">\n      <\/div>\n\n      <div class=\"field\">\n        <label>Tax Rate (%)<\/label>\n        <input id=\"tax\" type=\"number\" value=\"25\" min=\"0\" max=\"100\" step=\"any\">\n      <\/div>\n\n      <div class=\"field\">\n        <label>D&#038;A (% of Revenue)<\/label>\n        <input id=\"da\" type=\"number\" value=\"4\" min=\"0\" step=\"any\">\n      <\/div>\n\n      <div class=\"field\">\n        <label>CAPEX (% of Revenue)<\/label>\n        <input id=\"capex\" type=\"number\" value=\"5\" min=\"0\" step=\"any\">\n      <\/div>\n\n      <div class=\"field\">\n        <label>Change in NWC (% of Revenue)<\/label>\n        <input id=\"nwc\" type=\"number\" value=\"2\" step=\"any\">\n      <\/div>\n\n      <div class=\"field\">\n        <label>WACC (%)<\/label>\n        <input id=\"wacc\" type=\"number\" value=\"10\" min=\"0.1\" max=\"99\" step=\"any\">\n      <\/div>\n\n      <div class=\"field\">\n        <label>Terminal Growth (%)<\/label>\n        <input id=\"terminal\" type=\"number\" value=\"3\" step=\"any\">\n      <\/div>\n\n      <div class=\"field\">\n        <label>Cash &#038; Cash Equivalents (\u20b9 Cr)<\/label>\n        <input id=\"cash\" type=\"number\" value=\"150\" step=\"any\">\n      <\/div>\n\n      <div class=\"field\">\n        <label>Total Debt (\u20b9 Cr)<\/label>\n        <input id=\"debt\" type=\"number\" value=\"300\" step=\"any\">\n      <\/div>\n\n      <div class=\"field\">\n        <label>Shares Outstanding (Crore)<\/label>\n        <input id=\"shares\" type=\"number\" value=\"10\" min=\"0.000001\" step=\"any\">\n      <\/div>\n    <\/div>\n\n    <div class=\"button-row\">\n      <button class=\"calculate\" onclick=\"calculateDCF()\">Calculate DCF<\/button>\n      <button class=\"reset\" onclick=\"resetDCF()\">Reset Demo Values<\/button>\n    <\/div>\n\n    <div id=\"error\" class=\"error\"><\/div>\n\n    <div class=\"note\">\n      All financial amounts are in \u20b9 Crore unless stated otherwise.\n      This model uses simplified assumptions that remain constant across\n      the five-year forecast.\n    <\/div>\n  <\/section>\n\n  <section class=\"section\">\n    <h2>2. Valuation Dashboard<\/h2>\n\n    <div class=\"results\">\n      <div class=\"result-card highlight\">\n        <small>Enterprise Value<\/small>\n        <strong id=\"ev\">\u2014<\/strong>\n      <\/div>\n\n      <div class=\"result-card\">\n        <small>Equity Value<\/small>\n        <strong id=\"equity\">\u2014<\/strong>\n      <\/div>\n\n      <div class=\"result-card important\">\n        <small>Intrinsic Value \/ Share<\/small>\n        <strong id=\"intrinsic\">\u2014<\/strong>\n      <\/div>\n\n      <div class=\"result-card\">\n        <small>Upside \/ Downside<\/small>\n        <strong id=\"upside\">\u2014<\/strong>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"section\">\n    <h2>3. Five-Year Financial Forecast<\/h2>\n    <div class=\"table-wrap\">\n      <table>\n        <thead>\n          <tr>\n            <th>Financial Metric (\u20b9 Cr)<\/th>\n            <th>Year 1<\/th>\n            <th>Year 2<\/th>\n            <th>Year 3<\/th>\n            <th>Year 4<\/th>\n            <th>Year 5<\/th>\n          <\/tr>\n        <\/thead>\n        <tbody id=\"forecastBody\"><\/tbody>\n      <\/table>\n    <\/div>\n  <\/section>\n\n  <section class=\"section\">\n    <h2>4. DCF Valuation Breakdown<\/h2>\n    <div class=\"table-wrap\">\n      <table>\n        <tbody id=\"valuationBody\"><\/tbody>\n      <\/table>\n    <\/div>\n  <\/section>\n\n  <section class=\"section\">\n    <h2>5. WACC &#038; Terminal Growth Sensitivity<\/h2>\n    <p class=\"note\">\n      Intrinsic value per share under different WACC and terminal growth\n      assumptions. All other assumptions remain unchanged.\n    <\/p>\n    <div class=\"table-wrap\">\n      <table>\n        <thead id=\"sensitivityHead\"><\/thead>\n        <tbody id=\"sensitivityBody\"><\/tbody>\n      <\/table>\n    <\/div>\n  <\/section>\n\n  <div class=\"footer\">\n    DATAONE<span style=\"color:#287BFF\">SIX<\/span> |\n    Educational DCF Valuation Model\n  <\/div>\n<\/div>\n\n<script>\nconst demoValues = {\n  company: \"Demo Company\",\n  price: 250,\n  revenue: 1000,\n  growth: 12,\n  margin: 20,\n  tax: 25,\n  da: 4,\n  capex: 5,\n  nwc: 2,\n  wacc: 10,\n  terminal: 3,\n  cash: 150,\n  debt: 300,\n  shares: 10\n};\n\nconst inputIds = Object.keys(demoValues);\n\nfunction getInputs() {\n  const data = {};\n\n  inputIds.forEach(id => {\n    const element = document.getElementById(id);\n    data[id] = id === \"company\"\n      ? element.value.trim()\n      : Number(element.value);\n  });\n\n  return data;\n}\n\nfunction money(value, decimals = 2) {\n  return \"\u20b9\" + value.toLocaleString(\"en-IN\", {\n    minimumFractionDigits: decimals,\n    maximumFractionDigits: decimals\n  });\n}\n\nfunction number(value) {\n  return value.toLocaleString(\"en-IN\", {\n    minimumFractionDigits: 2,\n    maximumFractionDigits: 2\n  });\n}\n\nfunction calculateModel(d, waccOverride, growthOverride) {\n  const wacc = waccOverride ?? d.wacc \/ 100;\n  const terminalGrowth = growthOverride ?? d.terminal \/ 100;\n\n  const growth = d.growth \/ 100;\n  const margin = d.margin \/ 100;\n  const tax = d.tax \/ 100;\n  const daRate = d.da \/ 100;\n  const capexRate = d.capex \/ 100;\n  const nwcRate = d.nwc \/ 100;\n\n  const forecast = [];\n  let previousRevenue = d.revenue;\n\n  for (let year = 1; year <= 5; year++) {\n    const revenue = previousRevenue * (1 + growth);\n    const ebit = revenue * margin;\n    const taxes = ebit * tax;\n    const nopat = ebit - taxes;\n    const da = revenue * daRate;\n    const capex = revenue * capexRate;\n    const changeNWC = revenue * nwcRate;\n    const fcf = nopat + da - capex - changeNWC;\n    const discountFactor = Math.pow(1 + wacc, year);\n    const presentValue = fcf \/ discountFactor;\n\n    forecast.push({\n      year,\n      revenue,\n      ebit,\n      nopat,\n      da,\n      capex,\n      changeNWC,\n      fcf,\n      presentValue\n    });\n\n    previousRevenue = revenue;\n  }\n\n  const totalPV = forecast.reduce(\n    (sum, item) => sum + item.presentValue, 0\n  );\n\n  const finalFCF = forecast[4].fcf;\n  const terminalFCF = finalFCF * (1 + terminalGrowth);\n\n  const terminalValue =\n    terminalFCF \/ (wacc - terminalGrowth);\n\n  const presentTerminalValue =\n    terminalValue \/ Math.pow(1 + wacc, 5);\n\n  const enterpriseValue = totalPV + presentTerminalValue;\n  const equityValue = enterpriseValue + d.cash - d.debt;\n  const intrinsicValue = equityValue \/ d.shares;\n\n  return {\n    forecast,\n    totalPV,\n    terminalValue,\n    presentTerminalValue,\n    enterpriseValue,\n    equityValue,\n    intrinsicValue\n  };\n}\n\nfunction calculateDCF() {\n  const d = getInputs();\n  const error = document.getElementById(\"error\");\n  error.textContent = \"\";\n\n  const numericIds = inputIds.filter(id => id !== \"company\");\n\n  for (const id of numericIds) {\n    if (!Number.isFinite(d[id])) {\n      error.textContent = \"Please enter valid numbers in all fields.\";\n      return;\n    }\n  }\n\n  if (d.revenue < 0 || d.shares <= 0 ||\n      d.price < 0 || d.cash < 0 || d.debt < 0) {\n    error.textContent =\n      \"Revenue, price, cash and debt cannot be negative. Shares must be greater than zero.\";\n    return;\n  }\n\n  if (d.tax < 0 || d.tax > 100 ||\n      d.margin < 0 || d.margin > 100 ||\n      d.da < 0 || d.capex < 0) {\n    error.textContent = \"Please check the percentage assumptions.\";\n    return;\n  }\n\n  const wacc = d.wacc \/ 100;\n  const terminalGrowth = d.terminal \/ 100;\n\n  if (wacc <= terminalGrowth || wacc <= 0) {\n    error.textContent =\n      \"WACC must be greater than Terminal Growth and greater than zero.\";\n    return;\n  }\n\n  const result = calculateModel(d);\n\n  if (!Number.isFinite(result.intrinsicValue)) {\n    error.textContent = \"Unable to calculate. Please check your inputs.\";\n    return;\n  }\n\n  document.getElementById(\"ev\").textContent =\n    money(result.enterpriseValue) + \" Cr\";\n\n  document.getElementById(\"equity\").textContent =\n    money(result.equityValue) + \" Cr\";\n\n  document.getElementById(\"intrinsic\").textContent =\n    money(result.intrinsicValue);\n\n  const upside = d.price > 0\n    ? ((result.intrinsicValue \/ d.price) - 1) * 100\n    : null;\n\n  const upsideElement = document.getElementById(\"upside\");\n\n  upsideElement.textContent =\n    upside === null ? \"N\/A\" : (upside >= 0 ? \"+\" : \"\") +\n    number(upside) + \"%\";\n\n  upsideElement.className =\n    upside === null ? \"\" : (upside >= 0 ? \"positive\" : \"negative\");\n\n  renderForecast(result.forecast);\n  renderValuation(result, d);\n  renderSensitivity(d);\n}\n\nfunction renderForecast(forecast) {\n  const rows = [\n    [\"Revenue\", \"revenue\"],\n    [\"EBIT\", \"ebit\"],\n    [\"NOPAT\", \"nopat\"],\n    [\"D&A\", \"da\"],\n    [\"CAPEX\", \"capex\"],\n    [\"Change in NWC\", \"changeNWC\"],\n    [\"Free Cash Flow\", \"fcf\"],\n    [\"Present Value of FCF\", \"presentValue\"]\n  ];\n\n  document.getElementById(\"forecastBody\").innerHTML =\n    rows.map(([label, key]) => `\n      <tr>\n        <td>${label}<\/td>\n        ${forecast.map(item =>\n          `<td>${number(item[key])}<\/td>`\n        ).join(\"\")}\n      <\/tr>\n    `).join(\"\");\n}\n\nfunction renderValuation(result, d) {\n  const rows = [\n    [\"Present Value of 5-Year FCF\", result.totalPV],\n    [\"Terminal Value\", result.terminalValue],\n    [\"Present Value of Terminal Value\", result.presentTerminalValue],\n    [\"Enterprise Value\", result.enterpriseValue],\n    [\"Add: Cash\", d.cash],\n    [\"Less: Debt\", -d.debt],\n    [\"Equity Value\", result.equityValue],\n    [\"Shares Outstanding (Crore)\", d.shares],\n    [\"Intrinsic Value Per Share (\u20b9)\", result.intrinsicValue]\n  ];\n\n  document.getElementById(\"valuationBody\").innerHTML =\n    rows.map(([label, value]) => `\n      <tr>\n        <td>${label}<\/td>\n        <td>${number(value)}<\/td>\n      <\/tr>\n    `).join(\"\");\n}\n\nfunction renderSensitivity(d) {\n  const baseWacc = d.wacc \/ 100;\n  const baseGrowth = d.terminal \/ 100;\n\n  const waccValues = [-0.02, -0.01, 0, 0.01, 0.02]\n    .map(change => baseWacc + change);\n\n  const growthValues = [-0.01, 0, 0.01]\n    .map(change => baseGrowth + change);\n\n  const head = `\n    <tr>\n      <th>WACC \/ Growth<\/th>\n      ${growthValues.map(g =>\n        `<th>${(g * 100).toFixed(1)}%<\/th>`\n      ).join(\"\")}\n    <\/tr>\n  `;\n\n  document.getElementById(\"sensitivityHead\").innerHTML = head;\n\n  const body = waccValues.map(w => {\n    const cells = growthValues.map(g => {\n      if (w <= g || w <= 0) {\n        return \"<td>\u2014<\/td>\";\n      }\n\n      const result = calculateModel(d, w, g);\n      return `<td>${money(result.intrinsicValue)}<\/td>`;\n    }).join(\"\");\n\n    return `\n      <tr>\n        <td>${(w * 100).toFixed(1)}%<\/td>\n        ${cells}\n      <\/tr>\n    `;\n  }).join(\"\");\n\n  document.getElementById(\"sensitivityBody\").innerHTML = body;\n}\n\nfunction resetDCF() {\n  inputIds.forEach(id => {\n    document.getElementById(id).value = demoValues[id];\n  });\n\n  calculateDCF();\n}\n\ncalculateDCF();\n<\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>DataOneSix | DCF Valuation DATAONESIX DCF Valuation Analysis | Universal Model 1. Company &#038; Financial Assumptions Company Name Current Share [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"disabled","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-61","page","type-page","status-publish","hentry"],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/dataonesix.com\/hi\/wp-json\/wp\/v2\/pages\/61","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dataonesix.com\/hi\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dataonesix.com\/hi\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dataonesix.com\/hi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dataonesix.com\/hi\/wp-json\/wp\/v2\/comments?post=61"}],"version-history":[{"count":3,"href":"https:\/\/dataonesix.com\/hi\/wp-json\/wp\/v2\/pages\/61\/revisions"}],"predecessor-version":[{"id":228,"href":"https:\/\/dataonesix.com\/hi\/wp-json\/wp\/v2\/pages\/61\/revisions\/228"}],"wp:attachment":[{"href":"https:\/\/dataonesix.com\/hi\/wp-json\/wp\/v2\/media?parent=61"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}