Seven database calls, no forecast: what our AI valuation agent actually does
Ask a general-purpose chatbot what a company is worth and you will usually get a number. What you will not get is the thing that decides whether the number means anything: which figures went in, which period they came from, and which assumption is doing all the work. The number arrives with no receipt. You cannot check it, so you either believe it or you don't — and believing a number you cannot check is the costliest habit in retail investing.
Our AI valuation agent is built the other way round. It is not allowed to recall financial data from training. Every figure in its answer has to come from a tool call against EvidInvest's standardized statements, which are built from SEC filings, and it has to explain what it found afterwards. It reads filed numbers. It does not know the future, and it will not pretend to.
Below is one real run — pulled out of production, not reconstructed — followed by the protocol we actually recommend for using it.
What the agent is, mechanically
One model, a budget of up to ten tool-call rounds, and a toolbox in five groups: data retrieval (statements, growth rates, P/E history, peers, prices, enterprise value, dividends, revenue segments, financial health), multiples and comparables, market reference (risk-free rate, beta, volatility), valuation calculation (margin of safety, DCF, DCF with sensitivity, comparables, dividend discount), and your own account (watchlists, portfolio optimisation, saved valuations, theses).
Three rules in the agent's own instructions are worth repeating, because they are the product:
Do not make assumptions about financial data - always fetch it using tools.
When doing valuations, use multiple methods and compare results.
Never stop after just making tool calls - always follow up with a clear explanation for the user.
There is a fourth that people are surprised by: the account tools change real account data — a watchlist, a saved scenario — but they never place trades and never move money, and the agent is told never to imply otherwise.
One more piece of plumbing that matters for trust: the tool that reports saved DCF ranges is re-bound to you before every run. The range the agent quotes back is your own saved work, never another user's. There is a test in the repo whose only job is to fail if that binding is ever reversed.
One real run: Amazon, 13 September 2026
This came out of the production response cache — the record of a live answer, including every tool call and every tool result the model saw. The question was about Amazon's growth prospects. The agent made seven calls, in this order:
getGrowthRates → getFinancialStatements → getRevenueSegments →
getGrowthTrajectory → getFinancialHealthMetrics → getBenchmarkComparison
→ getCurrentPrice
Seven calls, all against our own tables. No web search, no news, no analyst notes. Here is what came back.
The filed statements. FY2025, period ended 31 December 2025: revenue
$716.9bn, gross profit $360.5bn (a 50% gross margin, against 49% in FY2024),
operating income $80.0bn at an 11% margin, net income $77.7bn, diluted EPS
$7.17 on 10.83bn weighted-average diluted shares. Those rows trace to Amazon's
FY2025 Form 10-K, accession 0001018724-26-000004, filed 6 February 2026.
The growth history. Revenue CAGR of 12.4% over one year, 11.7% over three, 13.2% over five, 21.0% over ten. Net income CAGR of 31.1% over one year and 59.8% over two; diluted EPS CAGR of 57.2% over two.
The segments. FY2025: Online Stores $269.3bn, Third-Party Seller Services $172.2bn, AWS $128.7bn, Advertising Services $68.6bn, Subscription Services $49.6bn, Physical Stores $22.6bn.
The balance sheet. Debt-to-equity 0.41, current ratio 1.05, interest coverage 35.2× ($80.0bn of EBIT against $2.27bn of interest expense), cash and equivalents $86.8bn, ROE 18.9%, ROIC 11.1%. Free cash flow of $7.7bn on $716.9bn of revenue — a 1.1% FCF margin, which the agent correctly read as heavy capital spending suppressing cash flow rather than as a margin problem.
The trajectory model. It classified Amazon as DECELERATING — the model's
own label for "past peak: near-term growth slower than medium and long-term" —
with near-term growth of 28.5% and a long-term rate of 11.9% (the industry
median), and produced a three-point range: conservative $299.43, moderate
$394.81, bull $650.72, against a close of $256.78 on 11 September. The note
attached to that range says exactly what each end assumes: "Conservative
assumes 12%/yr (industry median); bull assumes 29%/yr (near-term pace)
sustained."
The benchmark leg. P/E 32.2×, forward 27.6×, against a Specialty Retail median of 19.6× — the 71st percentile of 492 companies — and a Consumer Cyclical sector median of 18.8×. Peer set: JD, PDD, SE, MELI, BABA, VIPS, JMIA, GLBE, ETSY. Read the small print on that 32.2×: the tool stamps it "as of 31 December 2025", so it is FY2025 diluted EPS of $7.17 against the year-end price, while the forward figure uses the current price against a $9.30 estimate. The valuation page, meanwhile, puts today's $256.78 against the trailing twelve months and gets 20.4×. None of the three is wrong; they are different prices and different periods, and the next section is about exactly that.
The risks it named itself, unprompted: maturing core retail, the capital spending programme limiting near-term free cash flow, cloud and retail competition, antitrust exposure in several jurisdictions, and consumer-spending sensitivity.
The whole run cost about 44,000 tokens.
The most useful thing in that run is a disagreement
Three EPS numbers appeared in one answer. The income statement reported FY2025 diluted EPS of $7.17. The benchmark tool reported a forward estimate of $9.30. The trajectory model — the thing that produced the $299 / $395 / $651 range — was working from $12.60.
None of those is an error. They are three different periods, and the gap between them is Amazon's own filed arithmetic.
$7.17 is the annual figure from the FY2025 10-K. $12.60 is the trailing twelve
months to 30 June 2026 on a basic share count ($12.43 diluted), and the reason
it is nearly double the annual number is one quarter. In the three months to 30
June 2026, Amazon reported net income of $62.6bn and diluted EPS of
$5.75 — against $18.2bn in the same quarter a year earlier — on a
non-recurring investment gain. Trailing-twelve-month net income for the year to
30 June 2026 comes to $135.3bn. Every one of those figures is in the Q2
FY2026 Form 10-Q, accession 0001018724-26-000026, filed 31 July 2026, and
tagged in Amazon's own XBRL.
So the range is seeded on a trailing period that carries a one-quarter gain. That is not a defect, and it is not hidden — but it is a choice, and it is yours to accept or reject. A ten-year projection built off a twelve-month window containing a gain that will not repeat is a different object from one built off the annual figure, and it is the reader's job, not the model's, to decide which window belongs in a long-run valuation.
One inconsistency we are aware of and are working through: the trailing P/E on the valuation page (20.4× as we write) is computed on the diluted trailing figure of $12.43, while the trajectory range is seeded on the basic $12.60. Same period, different share count, two numbers that ought to agree on which one they use.
Every one of those numbers arrived labelled, from a named tool, in the same answer — but in that run nothing reconciled them for you. Read only the range and you learned nothing; read the inputs and you learned the one thing that decides whether the range is usable, which is the twelve months it was standing on. That is the pattern, not the exception, and as of today the agent's own instructions require it to name the EPS basis behind every range it quotes and to reconcile two bases rather than average them.
Where it runs
The full agent lives in the AI analysis on the site — reachable from the sidebar, from any search result, and from the valuation page for the same symbol — and, from version 1.3 of the iOS app, in the spoken answer, where Siri returns a single paragraph of at most 120 words.
The spoken version has a stricter contract than the web one, written into the code rather than a style guide: open with what today's price already implies, add one or two supporting facts with numbers, name the fiscal year and the filing, and close with "Research, not investment advice." Recommendation verbs and the adjectives that pass judgement on a price are forbidden outright, by name, in the code itself.
Over MCP and the REST API you get the tools rather than the agent — run_valuation,
get_implied_assumptions, get_valuation_parameters, save_valuation — so
your own agent, in Claude or anywhere else that speaks MCP, can do the same
work with the same filed inputs. Details on /developers and
/mcp. Free to start, from $10, no subscription.
What it does not do
It does not know the future. Every number it produces is a filed number or an arithmetic consequence of one plus an assumption that is stated on screen.
It does not print an accession number in every sentence. The web chat quotes dated filed rows; the accession-level citation — form, fiscal year, period end, filing date, a link straight to sec.gov — lives under The filing behind these numbers on the valuation page, and is required in the spoken answer. When you want the receipt, that is where it is.
Until today it could also close an answer with a summary label — a score, an adjective passing judgement on the price. That line was always the least useful thing in the output, because it is the one part that is not a filed number. As of today the written-answer instructions forbid scores and judgement words outright, the growth-trajectory tool no longer hands the model a label to quote, and the agent is required to name the EPS basis behind every range it gives you and to reconcile two bases rather than average them. The protocol below is written so that you never need a label anyway.
And it costs money to run, which is why it is metered: the charge scales with the tokens a run actually uses, with a one-credit minimum. A full analysis on a large filer lands in coffee territory. Credits are deducted as the answer is written, so a short question genuinely costs less than a deep one.
How we recommend using it
This is the part that took us longest to work out. Eight steps, each of them grounded in what the agent actually does.
1. Run it on something you already hold, before something you are eyeing. You have context on a position you own — you know why you bought it. That context is what turns the agent's output from trivia into a check. On a position you do not own, you have nothing to test the answer against.
2. Read the risks and the caveats first, from the bottom up. The Amazon run named five risks and flagged the free-cash-flow compression before it produced a range. Those paragraphs are where a filed problem shows up. Read them before the numbers set your expectations.
3. Check which period each number was built on. The agent now states the basis behind every range without being asked, but read it rather than skim it, and push if it is vague: which EPS is that range using, and which twelve months? It has the tool output in front of it. A trailing figure that contains a one-off gain, an annual figure, and a forward estimate are three different starting points for the same projection, and the difference between them is usually larger than any slider you will move afterwards.
4. Build your own range and compare it against the default. Do not accept the model's preset. Open the same symbol on the valuation page, put your own growth rate in, and see where your number lands relative to the agent's. Two ranges from different assumptions bracket the question better than one range from someone else's.
5. Use implied-assumption mode to see what the price already assumes. Ask the agent what today's price implies, or open the valuation page, where every method now solves backwards for its own key assumption by default. We wrote that up separately in what the price implies. It is the fastest way to turn "is this a good number?" into "is this a reasonable assumption?", which is a question you can actually answer.
6. Treat disagreement between methods as the finding. The agent is instructed to use multiple methods and compare them. When a comparables read and a cash-flow read land far apart, that gap is the information — it usually means one of them is being driven by something structural (an asset-light balance sheet, a capital-spending cycle, a sector median made of different businesses). A single converged number tells you much less than a spread you can explain.
7. Re-run after each 10-Q — and do not re-ask the identical question. Identical opening questions on the same symbol can replay a cached answer for up to a day, which is fine for reading twice and useless after a new filing. Word the question differently, or better, set a Thesis Monitor on the position so the filing comes to you instead. Anything that touches your own saved valuations, watchlists or theses is never cached at all.
8. Never let one number replace reading the filing. The agent is a fast, patient reader of standardized statements. It is not a substitute for the risk factors, the segment footnote, or the language management chose. Use it to decide which twenty pages are worth your evening.
Run it on one position tonight
Take a single holding you have an opinion about. Open its AI analysis and ask one question: which EPS is your fair-value range built on, and which twelve months does it cover? Read the answer, then open the same symbol's valuation page and check it against the filing block. Two minutes, one position, and you will know whether the number you were about to rely on was standing on the period you thought it was.
Research, not investment advice.
Working with this data from an AI agent? The EvidInvest MCP server gives Claude, Cursor, and any MCP client access to 46 financial data, valuation, and SEC intelligence tools.
Fair Value Weekly
Get DCF breakdowns, fair value updates, and portfolio ideas for serious investors. No spam, no paywalled teasers.