InsightDCF: Open-model DCF analysis

Institutional-grade discounted
cash flow, for everyone.

Enter any public ticker. The model auto-detects industry terminal assumptions from Damodaran's NYU datasets, scores moat durability, and builds a 10-year DCF — all visible, all editable, all explainable.

— By Seymur Mammadov

DCF vs Market
QBTS$11→$2▼-78.8%WKRCF$28→$83▲+195.4%QUBT$6→$1▼-78.7%CNC$70→$206▲+195.1%MXCT$1→$0▼-78.7%KEQU$34→$101▲+194.9%DE$672→$143▼-78.7%HLFFF$3→$9▲+194.6%BDX$212→$45▼-78.7%AMN$36→$107▲+194.4%FLNCF$0→$0▼-78.5%LNNGF$2→$6▲+194.3%MPZAY$24→$5▼-78.4%TRATF$38→$111▲+194.2%DCO$135→$29▼-78.3%MITFY$11→$33▲+194.1%SKBL$2→$1▼-78.3%JGLCF$0→$1▲+194.1%SCTQ$2→$1▼-78.2%PBTHF$1→$2▲+193.8%AISXF$0→$0▼-78.1%PEFDF$1→$2▲+193.8%PLOW$36→$8▼-78.1%NJDCY$3→$7▲+193.6%JL$4→$1▼-78.1%KWHIF$13→$37▲+193.3%AFGYF$0→$0▼-78.0%AOCIF$20→$59▲+193.2%COGNY$0→$0▼-78.0%TALN$0→$0▲+192.8%SNTMF$0→$0▼-78.0%ANPDY$255→$746▲+192.8%ITOC$2→$0▼-77.9%PAY$33→$98▲+192.6%MAIR$23→$5▼-77.9%JMHLY$61→$178▲+192.4%ADI$364→$81▼-77.8%RPKIF$21→$60▲+192.4%CVGI$3→$1▼-77.8%CCTG$0→$1▲+192.2%AMBA$59→$13▼-77.8%BSEAF$3→$9▲+192.2%FROG$101→$22▼-77.7%SYZLF$2→$6▲+191.4%INEO$1→$0▼-77.7%BRRLY$15→$44▲+191.1%SIBN$24→$5▼-77.7%ICHR$31→$90▲+191.0%IMAX$48→$11▼-77.7%PZCUY$3→$7▲+190.8%SWISF$0→$0▼-77.6%LFDJF$24→$70▲+190.5%ILMN$213→$48▼-77.6%FKDSF$43→$124▲+190.5%A$175→$39▼-77.6%FNCNF$13→$38▲+190.5%ALNT$81→$18▼-77.5%CABGY$31→$89▲+190.3%WING$163→$37▼-77.5%BOSC$4→$11▲+190.1%

Browse the full lists: most undervalued · most overvalued

DCF VALUATION→Compute one value, transparently

SCREENER & COMPARE→Find where price and value diverge

PORTFOLIO & WATCHLIST→Turn that gap into weights

1 / 3

Damodaran-anchored terminal assumptions

Industry terminal margins, WACC, D/E, and betas pulled live from NYU Stern datasets — the same source used by professional valuation practitioners.

Moat-scoring convergence detector

ROIC-WACC spread, gross margin trends, and reinvestment efficiency combined into a scoring system that determines when a given company's financial metrics start converging towards the industry average.

Fully editable projections

Every assumption is surfaced and editable. Change year-by-year growth rates, margins, or capital structure — the model re-runs instantly.

Monte Carlo + sensitivity analysis

5,000-draw simulation with correlated growth/margin shocks. Three sensitivity heatmaps across WACC, terminal growth, ERP, margin, and tax.

AI-generated plain-English explanation

Claude Haiku reads the model's own computed outputs and explains why the numbers came out the way they did — no hallucinated facts.

Equation flowcharts

Every major calculation chain visualised as an interactive flowchart: beta → WACC, EBIT → FCFF, Gordon growth, equity bridge, and more.

Screen on the intrinsic-value gap

DCF upside and computed WACC are screenable columns, so the model's own output filters the market alongside conventional metrics. Find companies trading below estimated value, then narrow on quality or balance-sheet strength in the same pass.

Forty-five metrics, five families

Valuation multiples (P/E, forward P/E, PEG, P/B, P/S, EV/EBITDA, EV/Revenue, EV/FCF), growth, profitability and efficiency (ROIC, ROE, ROA, the full margin stack, asset turnover, capex intensity), balance-sheet risk (Altman Z, current and quick ratios, leverage and coverage, FCF against debt), and price behavior.

A nightly valuation universe

Every tracked US stock carries a stored fair value and verdict, refreshed as new filings land. The most-undervalued and most-overvalued leaderboards are drawn from it, with structurally unreliable sectors and implausible gaps excluded rather than shown.

Football field against price and value

Relative-valuation ranges across P/E, forward P/E, PEG, P/S, P/B, EV/EBITDA, and EV/Revenue plotted against both the current price and the DCF intrinsic value. Multiple-based and cash-flow-based valuations read on a single axis.

DuPont ROE decomposition

ROE broken into net margin, asset turnover, and equity multiplier, charted per component. Two companies posting identical returns on equity separate immediately into pricing power, capital efficiency, or leverage.

Relative performance on any fundamental

Price return against the S&P 500, or any quarterly trailing-twelve-month fundamental, over one, three, or five years. Watch revenue, margin, or ROIC diverge between competitors on the same timeline.

Watchlists that carry your own DCF

Named lists with nightly-refreshed fair value and upside, plus any metric column. A saved valuation of your own attaches to a row so your modified DCF sits beside the model default, with a written thesis and catalysts per position.

Expected returns from the model, not the past

The default expected return is the annualized return if price converges to intrinsic value over three years, plus dividend yield. Allocation follows estimated value, and implied upside is clamped at both ends so one blown-up DCF cannot dominate the tangency portfolio.

Black-Litterman blending

Raw DCF views feed straight into an optimizer as concentrated, unstable weights, so they are blended against a CAPM market-equilibrium prior. One absolute view per asset, with a single confidence parameter sliding the result continuously from pure market equilibrium to pure DCF conviction.

Risk estimation built to stay stable

Three years of daily log returns, annualized, with 5% diagonal shrinkage on the sample covariance matrix so collinear histories cannot make it singular. Near-perfect duplicates such as dual share classes are detected by correlation and dropped, and thin histories are excluded.

Frontier, tangency, and the security market line

The efficient frontier traced by minimizing variance across target returns, the maximum-Sharpe portfolio against the live risk-free rate, the capital allocation line, and a security market line where DCF-implied alpha is the residual. Weights are draggable and recompute live.

Stress tests and attribution

Realized peak-to-trough shocks from 2008, COVID, and the 2022 rate move applied to current weights, with the share of weight actually priced disclosed against the share estimated by beta proxy. Brinson-Hood-Beebower decomposition against the S&P 500, and factor regressions from Fama-French 3 through 6.

About Me

Seymur Mammadov

Seymur Mammadov

From my first DECA competition as a high school sophomore, I knew I was interested in finance. What started as a senior year project made to combine my interests in computer science and valuation quickly became something much more personal: building a DCF engine I could actually trust.

Every edge case I encountered showed me how much more there was to refine. Assumptions had to be tested, outputs had to be challenged, and every improvement revealed another layer of complexity behind what seemed to me at first as a mathematically simple model. After hundreds of hours of development, iteration, and testing, this platform became the result of that process.

Seeing the gap between market prices and underlying business value grow in recent years pushed me to share my work beyond a personal project. My goal is to create a tool that gives students an interactive way to learn financial modeling, provides investors with an accessible valuation framework that is as automated as they want it to be, and gives professionals the flexibility to build their own assumptions into a rigorous system.

For educational and informational purposes only. Output is a model estimate, not investment advice. Past financial performance does not guarantee future results. Always do your own research before making investment decisions.

Recent updates

View all →

2026-07-03

Analyst consensus revenue growth replaces trailing average as the default anchor

The model's starting-point revenue growth rate used to be a trailing three-year average, which is backward-looking by construction and lags any real change in a company's trajectory. Apple's trailing growth came out near 1.9% a year, even though the market and sell-side analysts both expect something closer to 12%. Holding a ten-year forecast to the trailing figure made a normal, growing business look permanently stagnant and priced it far below where almost any other reasonable observer would. The engine now anchors on analyst consensus by default — the compounded annual growth rate implied by forward revenue estimates from the data provider's earnings trend data — and only falls back to the trailing average when no analyst estimates exist. Because a forecast error compounds across ten years, a raw consensus figure at the extreme end (some semiconductor and high-growth names implied over 100% a year) would blow up the model just as badly as understating growth did, so both the analyst and trailing figures are bounded to a plausible range before they're used. Every result now shows which anchor was used and what the other one would have implied, and a toggle lets you re-run the same company on trailing history instead, since for some companies — mature, cyclical, or thinly covered by analysts — trailing data is still the more defensible anchor.

2026-07-03

Recency-weighted EBIT margin anchor replaces flat multi-year mean

The write-off filter that strips impairment-contaminated years from the EBIT margin anchor was averaging whatever years survived the filter with equal weight, regardless of how old they were. That works fine for a stable business, but it badly lags a company moving through a cycle. Micron's clean-year average came out near 11%, dragged down by trough years years back, while the business was running close to 25% margins at the point the valuation was actually run. The anchor now weights clean years by recency, with roughly a two-year half-life, so a company's most recent margin performance dominates the anchor while older years still contribute and dampen single-year noise. The write-off detection is unchanged — contaminated years are still identified and dropped the same way — only the averaging of what's left has shifted from flat to recency-weighted. Since this anchor sets the starting point for the entire ten-year margin trajectory, getting the recent regime right matters most for cyclical and fast-changing businesses, which is exactly where the flat average was furthest off.

2026-07-03

Beta sanity clamp and short-term-investments cash guard

Two data-quality gaps in the inputs feeding cost of capital and invested capital. First, the data provider's reported beta occasionally comes back as an obvious outlier — Kraft Heinz showed a beta of 0.077, which is not a plausible risk estimate for a public equity and, left unclamped, drove the cost of equity down to levels close to the risk-free rate itself. Beta now clamps to a plausible band before it's used, with a fallback to a market beta of 1.0 when the field is missing entirely, and a note whenever the clamp fires. Second, cash was previously read from a single balance-sheet field that excludes short-term investments — money-market funds and short-duration securities that are functionally cash for a company's capital structure. Apple alone was short nearly $19 billion of what a market participant would count as cash on hand, which understates cash-rich companies' equity value and overstates their invested capital. Cash now includes short-term investments where the data provider supplies them, netting against debt the same way an equity research analyst would.

2026-06-30

Lease and pension obligations folded into invested capital

Reported financial debt only counts money the company borrowed outright. But a long-term lease is debt in everything but name: the company has locked itself into a stream of fixed payments to use an asset, exactly as it would servicing a loan to buy that asset. Since 2019 accounting rules put those leases on the balance sheet, yet the data provider's debt figure still leaves them out. The same is true of an underfunded pension, which is a senior claim the company owes its retirees. For a retailer, airline, or restaurant chain that leases its stores, planes, or kitchens, this is not a rounding error — it can be a large share of the real capital the business runs on. Leaving these out understated invested capital and therefore overstated return on capital, because the model divided profit by too small a capital base. The engine now adds capitalized leases and any net pension deficit (after tax, since the shortfall is deductible as it's funded) into the debt base, so they flow consistently into invested capital, the debt-to-equity ratio, and the cost of capital. The subtle part is keeping the return calculation honest. A lease payment bundles two things: rent for using the asset, and an implicit interest charge for financing it over time. Once the lease sits in the capital base, that interest portion no longer belongs in operating costs — it's a financing cost, like interest on any loan. So the model adds the imputed interest back to operating profit before computing return on capital. Without that step, capital would rise while profit stayed artificially depressed, and the fix would overshoot, turning an overstated return into an understated one. Adding it back lets the numerator and denominator move together, so return on capital settles at its true economic level rather than swinging to either extreme. The interest-coverage check that sets the cost of debt deliberately stays on the reported figures, so the credit rating isn't flattered by the add-back. Each valuation now carries a note showing whether the adjustment fired and how much debt it pulled in, or stating plainly when the provider supplied no lease or pension data. The one piece that remains outside the model is contingent liabilities — litigation and guarantees that live only in financial-statement footnotes and can't be read from structured data; those are left to the manual debt override.