Blog · · Ashutosh Agarwal

A bank model is not a steel model: How Matterfact builds financial models industry by industry

Hoping Claude will give you an investing edge is not a strategy: every fund has the same model, and the last mile is specific to each industry, so Matterfact's agent builds every model in a harness of industry skills, data tools and checks that catch what a fluent model gets wrong.

Ask Claude, or any frontier model, to build a model of a regional bank, and you will usually get something that looks right: net interest income built from loans and deposits, a provision for credit losses, a valuation on tangible book. The model knows the textbook. What it does not reliably know is the last mile: which kind of bank this is, which lines management has already guided, which line will carry the quarter's surprise, and whether its own valuation left something out. The workbook balances either way, so nothing tells you which parts are wrong. And every fund can ask the same model the same question. Hoping Claude will give you an investing edge is not a strategy.

We have measured the gap in our own work. The same Claude model was 17 points more accurate on a public set of finance tasks inside Matterfact's agent than in the benchmark's own harness. And when Claude drafted our first bank workbook, it balanced and passed every formula check while leaving five years of dividends out of the valuation.

Matterfact's agent therefore builds every financial model inside a harness tuned to the industry: a model skill for each of the 163 GICS sub-industries, part of a library of more than 5,000 skills; data tools that fetch every number instead of recalling it; and checks on the finished workbook that test the finance as well as the formulas.

This article sets out why, using a steel producer and a bank: what drives each model, what a one-size template misses, how each skill decides which kind of company it is facing, and where each quarter's surprise comes from. It then sets out how we check the workbooks, what the checks caught, why the last mile of fine-tuning belongs in the harness, and the gaps that remain.

TL;DR

  • Hoping Claude will give you an investing edge is not a strategy. Every fund has the same model, and the same Claude model was 17 points more accurate on finance tasks inside our agent than in the benchmark's own harness, and a bank workbook Claude drafted balanced while leaving 12.4% of its value out.
  • A bank and a steel producer share almost none of their model's drivers, and a one-size template gets both wrong without raising an error. A steel mini-mill is modelled from tons shipped and the spread over scrap; a bank from its balance sheet, with deposit costs that follow policy rates.
  • The skill decides which kind of company it is facing, and looks for what the company's own guidance leaves out. Steel holds six kinds of producer and regional banks three; at a mini-mill the surprise is the price move after the mid-quarter guide, at a regional bank the reserve build.
  • Formula checks prove the arithmetic; only an analyst's review proves the finance. The missing dividends passed every formula check; a reviewer briefed as a bank analyst found them, along with a reserve that did not move under 2009-level losses.
  • The last mile of fine-tuning decides whether a model is right, and it belongs in the harness. Skills tuned by hand for each of the 163 sub-industries, data tools instead of memory, a fine-tuned router, and checks on every workbook.

Hoping Claude will give you an investing edge is not a strategy

Claude is the model our agent runs on, and in our view the best engine for investment research. It is also available to every fund, so on its own it cannot be an edge: the edge is in what your model knows and checks that a competitor's does not. And Claude is fluent enough that its mistakes in a financial model look like finished work. A workbook built on the wrong bar, the wrong kind of company or a missing cash flow still balances, and nothing in it raises an error. Four results from our own work show how wide the gap between a fluent model and a correct one can be:

  • The same model is more accurate inside a harness built for finance. On Vals AI's Finance Agent tasks, Claude Opus 5.5 scored 75.6% inside our agent, against 58.6% in Vals AI's own harness. All four frontier models we tested scored 7 to 17 points higher in our agent.1
  • A bank workbook drafted by Claude balanced while leaving out 12.4% of its value. The valuation discounted a terminal share price and dropped the five years of dividends paid before it. The workbook passed every formula check; a reviewer briefed as a bank analyst found the error (Exhibit 5).
  • Industry knowledge drafted by Claude from research still needed a specialist's corrections. When Claude wrote our short-selling industry skills, the median draft needed 15 changes in review, and more than half of them corrected a fact.
  • Without a harness, our agent rebuilt every model from scratch. It wrote a new script for each request, with thin history, forecasts typed in as numbers instead of formulas, and nothing checking that the balance sheet balanced.

None of these errors announced itself. Each was found because something outside the model was built to look for it: graded tasks, a reviewer with a brief, a check on the workbook. That is what a harness is. The rest of this article shows what it has to contain for two industries that share almost nothing.

A bank and a steel producer share almost none of their model's drivers

A steel mini-mill and a regional bank both report revenue, costs and earnings, and that is about all their models have in common (Exhibit 1). A mini-mill melts scrap in an electric-arc furnace and sells sheet, bar and plate. Its model starts with tons shipped by product, prices each ton, and subtracts the cost of the metal and of turning it into steel.

A bank's model starts on the other side of the statements. It projects the loans and securities the bank holds and the deposits that fund them; interest income and interest expense come from those balances, and the rest of the income statement follows. The cost of deposits moves with policy rates through a deposit beta: the share of a rate change the bank passes on to its depositors, set separately for each type of deposit.

Exhibit 1
A steel model starts from tons shipped and the spread per ton; a bank model starts from the balance sheet.

Steel mini-mill Regional bank
What the model projects first Tons shipped, by product (sheet, bar, structural, plate) Loans and securities, and the deposits and borrowings that fund them
Where revenue comes from Tons shipped times the realised price per ton Net interest income (average earning assets times the net interest margin), plus fees
What sets the margin The spread between the steel price and the scrap it is made from, less the cost of power, electrodes and alloys The yield on loans and securities, less the cost of deposits as it follows policy rates
What limits cash returned to shareholders Free cash flow at a mid-cycle spread, not a peak one The CET1 capital ratio: buybacks are what is left after holding it at target
How it is valued EV/EBITDA on a mid-cycle spread, with enterprise value per ton of capacity as a floor Price to tangible book, set against return on tangible common equity

Note: The steel column describes a US mini-mill that melts scrap in an electric-arc furnace; the bank column describes a super-regional bank. Both skills also cover other kinds of company in their industry (Exhibit 3).
Source: Matterfact model-construction skills for Steel (GICS 15104050) and Regional Banks (GICS 40101015), October 2026

The valuation follows the drivers. A steel stock is valued on EV/EBITDA, but only on a mid-cycle spread taken from the company's own ten-year history; the same multiple applied to a peak spread is the sector's classic value trap. A bank has no enterprise value in the usual sense, because the money it borrows from depositors is what it lends. It is valued on price to tangible book, set against the return it earns on that book.

A one-size template gets both wrong, and nothing in the workbook says so

A one-size template, whether an analyst, a vendor or a model wrote it, carries its assumptions into every industry it touches. For a bank, it computes lines that do not exist; for a steel producer, it misses the lines that decide the quarter. None of these mistakes breaks a formula, so none of them shows up as an error (Exhibit 2).

Exhibit 2
In each industry, the line that decides the model is one a generic template does not have.

A generic template assumes Matterfact's industry skill builds Where it is filed
Revenue grows at a rate Steel. Revenue is tons shipped by product times the realised price. Sheet, plate and long products are priced off different series, so a shift in mix moves revenue without any change in the spread. Tons and price per ton by product, in each quarterly report
One cycle runs through the whole company Steel. The fabrication segment buys the mills' steel, so its margin rises when the mills' spread falls. It runs on a non-residential construction backlog two to four quarters behind, and in a downturn it can supply most of the profit. Segment results and backlog commentary in the 10-Q
Quarters are calendar quarters of equal length Steel. The largest US mini-mill's fiscal quarters end on a fixed weekday, so they differ in length and some years carry an extra week. Tons are compared per shipping day. The period-end date in each earnings release
Profit is measured as EBITDA Banks. A bank has no EBITDA, because the provision for credit losses is an operating cost. The model builds pre-provision net revenue, then subtracts the provision. The bank's income statement
Working-capital days drive cash flow Banks. Deposits are the bank's raw material. Their cost follows policy rates through a separate beta for each type of deposit, and when rates are cut, deposit costs at first fall by less than they rose. Deposit mix and rate-sensitivity tables in the 10-K
The margin is an input Banks. Net interest income and the margin can move in opposite directions: buying low-yielding securities adds income and dilutes the margin. The model projects income and earning assets, and derives the margin from them. Average balance sheet and yield tables in the 10-K

Source: Matterfact model-construction skills for Steel and Regional Banks, October 2026

This was our own agent's problem until October. Of the 163 sub-industries, 93 had no model skill and were served by broad industry-group files. The steel file named the metal spread but not how to build it, carried a page of hard-coded price, spread and utilization bands, and said nothing about the company's own guidance. The banks file treated a regional bank as a large bank without a trading desk and carried its margin, deposit beta and efficiency ratio as constants.

We wrote 95 new model skills and brought 23 older ones to the same standard, so that every sub-industry has its own. Each follows one layout, from the revenue identity and what can be observed before the print to the checks and the sheet layout. None carries a cyclical level: margins, prices, multiples and working-capital days are fetched for the company when the model is built. Every model carries at least five fiscal years of actual results, ten for cyclicals and banks, and twelve quarters wherever our data has them, so each forecast driver sits beside its own historical mean, low and high.

The skill decides which kind of company it is facing before it builds anything

An industry code is still too coarse to model. The steel code holds six kinds of producer and the regional-bank code three, and their models do not mix (Exhibit 3). Each skill opens with a set of tests that decides which kind of company it is facing, builds that model, and routes the others to theirs.

Exhibit 3
Within one industry code, the steel skill separates six kinds of producer and the regional-bank skill three.

Industry Kind of company What its model is built on
Steel Scrap-based mini-mill that posts its own weekly price and guides mid-quarter Tons shipped times the spread over scrap; the company's own guide is the bar
Steel Integrated blast-furnace producer Iron ore and coking coal; annual automotive contracts that delay a price move by one to four quarters; pension costs
Steel Stainless and specialty producer A base price plus an alloy surcharge that resets monthly on lagged nickel, chromium and molybdenum prices
Steel Fabrication-weighted producer Backlog times burn rate, driven by non-residential construction
Steel Non-US integrated producer Regional prices, energy and carbon costs, never a US price signal
Steel Pipe and tube for energy Rig counts, well completions and import quotas
Regional banks Super-regional bank with a published outlook page The guided lines, the deposit franchise and the reserve build
Regional banks Community bank or thrift No guide and little coverage, so no surprise model: the balance sheet, deposits and credit, valued on tangible book
Regional banks Specialty regional bank Gain-on-sale or program fees, with a concentrated deposit base as the central risk

Source: Matterfact model-construction skills for Steel and Regional Banks, October 2026

The tests are questions an analyst can answer from the filings. Does the producer post its own weekly sheet price and guide its earnings in the middle of the quarter? Does the bank publish an outlook page that guides each line? A preview built on a mini-mill's weekly price and mid-quarter guide does not apply to a producer that publishes neither, and an average of the two is a model of a company that does not exist.

The skill also knows when its own frame stops applying. When a regional bank's commercial real estate book becomes the question, the reserve decision dominates the quarter; the skill says so, and models the refinancing schedule of that book as the whole model.

In both industries the company sets most of the bar, so the model looks for what its guidance leaves out

A generic model scores a quarter against the sell-side consensus. In steel and in regional banking, the company publishes most of that bar itself, and consensus follows it. The useful question is what the company's guidance does not cover, and the two industries answer it differently (Exhibit 4).

At a mini-mill, the quarter is largely known before it is reported. The largest US mini-mills guide their quarter's earnings per share about three weeks before it ends, and consensus moves to the guide within a day. What remains is the gap between the guide and the result, and its sign is set mostly by the posted sheet price in the weeks after the guide: a rising price makes a positive gap likely, a falling one a negative gap. The steel skill fits the company's history of these gaps separately for rising and falling weeks, because an unconditional "usually beats its guide" averages the two and tells the analyst very little.

The stock trades on the spread expected for the coming quarters. A mini-mill that beats its own guide after the posted price has already turned down often falls on the day. The model therefore treats the forward spread as the number to estimate, and the reported quarter as largely settled.

At a super-regional bank, the outlook page rebuilds most of the income statement. The page guides average loans, net interest income, fee income, expenses, net charge-offs and the tax rate for the next quarter and the year. Applying last quarter's guide, adjusted for how far each line has historically landed from its guide, rebuilds most of the income statement before the bank reports. Net interest income is then adjusted, through the bank's own disclosed rate-sensitivity table, for any change in the rate path since the guide was given.

The guide covers charge-offs but not the provision, so the reserve build carries the surprise. The model spends its effort there: the commercial real estate maturity schedule, criticized loans, and the delinquency and vacancy series that lead them by a few quarters.

Exhibit 4
Both companies publish most of their own bar; the surprise comes from what each guide leaves out.

Steel mini-mill Super-regional bank
Who sets the bar The company's mid-quarter EPS guide, on GAAP and adjusted bases; consensus moves to it within a day The company's outlook page, which guides loans, net interest income, fees, expenses, charge-offs and the tax rate
What the model can see before the print The weekly posted sheet price, monthly scrap settlements, mill lead times and steel import licences Last quarter's guide and each line's record against it, the Federal Reserve's weekly data on bank balance sheets (H.8), and the bank's rate-sensitivity table
Where the surprise comes from Price and scrap in the weeks after the guide; quarter-end inventory adjustments and one-off items The reserve build (the provision less guided charge-offs), capital-markets fees and securities gains

Source: Matterfact model-construction skills for Steel and Regional Banks, October 2026

Formula checks prove the arithmetic; only an analyst's review proves the finance

The agent delivers the model as an Excel workbook built from a written specification. Every historical figure links to a data sheet that names its source, and every forecast cell is a formula on a labelled assumption. The workbook is delivered only after its own checks pass: the balance sheet balances in every period, cash flow ties to the balance sheet, quarters add up to years, the sensitivity table's centre equals the valuation, switching scenarios changes the answer, and no cell holds an error.

Those checks catch a broken workbook. They do not catch wrong finance, so we tested the engine that writes the workbooks four ways, and each test found errors the other three could not (Exhibit 5).

Exhibit 5
Each of the four checks caught errors the other three could not.

Check When it runs What it asks What it caught
The workbook's own checks Every model, before delivery Does the balance sheet balance, does cash tie, do quarters sum to years, do scenarios change the answer, is any cell an error? Broken builds; a model that fails is not delivered
An independent recalculation In the engine's test suite, on every change Does every cell equal what a separate implementation, written from textbook definitions, computes? Two engine errors, found where the two implementations disagreed; on six bank workbooks, no mismatch in 49,728 cells
A reviewer briefed as an analyst When each template was built Is the finance right, and could this company exist? A bank valuation missing five years of dividends, 12.4% of value; working-capital ratios set on annual figures but applied to quarters, which invented cash; a bank bear case whose deposit costs fell faster when rates were cut
Live builds on real companies When each template was built, re-run rather than taken on report Does it hold on real data? Three of six bank workbooks reading "Model checks: OK" on a broken model; a checker reporting no warnings while each workbook carried 13 to 20

Note: The independent recalculation shares no code with the part of the engine that writes the workbook and never reads its formulas. The six banks are large US banks, built from their reported data with the default command.
Source: Matterfact valuation-model engine and its test records, September 2026

The third row holds the main lesson. The first two checks prove that a workbook computed what its specification asked for, and they did that well. Neither asks whether the resulting company could exist. The bank valuation discounted a terminal share price and dropped the five years of dividends paid before it, 12.4% of the value, while every formula computed exactly what it was told. When the reviewer set charge-offs to their 2009 level, the model held its reserve flat, enough to cover seven months of losses, and reported a pass. Only a reviewer reading the model as a bank analyst would find either.

The fourth row shows why a summary line cannot be trusted on its own. Three of the first six bank builds showed a broken model whose summary read "Model checks: OK". The summary counted the checks that read FAIL, and a check that ends in a divide-by-zero error does not read FAIL. Every workbook now counts its own failures, and an error cell forces a failure.

Live builds also showed why a sanity band has to come from the company's own history. A fixed range of 4% to 25% for return on tangible equity let two of the six bank forecasts run 2 to 3 points above the best year either bank had recorded in a decade. The check now compares each forecast with the bank's own record. The two forecasts it flagged were also the two with the most upside, so the check points at the assumption the valuation rests on.

On the six banks, the modelled net interest margin matched each bank's reported margin to within a few basis points. Capital ratios matched on five of the six; for the sixth, our data mixes two regulatory bases, which the model flags. Two separate valuation methods, price to tangible book and residual income, agreed within 5% on all six.

The last mile of fine-tuning decides whether a model is right, and it belongs in the harness

A general model is trained on everything, so it is tuned for no industry in particular. On its own it gets a financial model most of the way. The last mile, tuning it to how a steel producer guides, how a bank reserves and which data still publishes, is where the model becomes right or wrong, and no general model ships with it (Exhibit 6).

Exhibit 6
A general model supplies the reasoning; the harness supplies the industry, the numbers and the checks.

A general model on its own Inside Matterfact's harness
Industry method Knows finance as a well-read generalist does, and builds the structure it has seen most often A model skill for each of the 163 GICS sub-industries: the drivers, the kind of company, the bar and the traps
Numbers Fills a missing figure from memory, with precision it does not have Data tools fetch every level for the company when the model is built; a number that cannot be found is marked as a gap
The workbook A new script for each request, with forecasts typed in and no balance check One engine builds every workbook from a specification: history linked to its source, every forecast a formula
Checking Reports the work as finished The workbook checks itself before delivery; the engine was tested by independent recalculation, an analyst's review and live builds
Which model does the work One model for every step A fine-tuned router picks the model for each task; small models we fine-tune ourselves handle high-volume classification

Note: The left column describes what we saw from our own agent before the harness was built, and from drafts Claude wrote before review.
Source: Matterfact analysis

We do most of that tuning outside the model's weights, for a practical reason: the knowledge changes. A price series stops publishing, a producer changes its inventory method, a court approves a settlement. A skill can be corrected the day a fact changes, and the next model the agent builds uses the correction. Our analysts and data scientists tune each skill by hand, and where tuning a model itself pays, in routing and in high-volume classification, we fine-tune our own.

For a fund, the choice is not between Claude and another model. It is between hoping Claude will give it an edge, and running Claude inside a harness that knows the industry and checks the work.

The models mark what the data cannot supply instead of estimating it

A skill that cannot find a number says so. Each one ends with a register of what must be fetched and which disclosures do not exist, and a missing number appears in the model as a stated gap rather than an estimate. Three gaps matter most for these two industries:

  • Bank workbooks are annual for now. Our financial data does not yet carry quarterly bank history, so bank workbooks forecast years rather than quarters until it does. Deposit costs by type are missing too, so each type of deposit starts from the bank's blended rate and moves away from it only through its own beta.
  • The bank workbook does not mark held-to-maturity securities to market. It cannot reproduce the capital arithmetic behind Silicon Valley Bank's failure in 2023; the bank skill covers those marks in its written analysis instead.
  • Some steel inputs are published nowhere. There is no public archive of the largest mini-mill's weekly price, so its history is assembled week by week; the date of the mid-quarter guide is not a field in any earnings calendar; and the split between spot and contract tons is not disclosed.

What to ask of any model an AI builds

Portfolio managers and research heads can test any model, from an analyst or an agent, with four questions:

  1. Is revenue built from the drivers the company reports? Tons and spread, or loans and deposits, rather than a growth rate on the top line.
  2. Which kind of company did it assume? And what would change if the company were the other kind in the same industry?
  3. What is the bar? The company's own guidance or consensus, on which earnings basis, and what the guidance leaves out.
  4. Who checked the finance, not only the formulas? And are failures counted in the workbook itself, or read off a summary line?

If the honest answer to any of them is that you hope so, the model is not ready for a portfolio manager.

Matterfact's agent builds models this way for every one of the 163 GICS sub-industries. The model skills sit in the same library as our short-signal skills, which read the same filings for a different question.

FAQ

Can an analyst just ask Claude or ChatGPT to build the model?

They can, and the result will usually balance and read well. What a general model does not bring on its own is the last mile: the drivers and traps of the company's industry, the bar the stock is judged on, every number fetched from the company's data rather than recalled, and a check on the finance as well as the formulas. Matterfact runs Claude inside a harness that supplies those, which is why the same model was 17 points more accurate on finance tasks inside our agent.

Why isn't a bank valued with a discounted cash flow model?

Because the money a bank borrows from depositors is what it lends, so there is no meaningful enterprise value or free cash flow to discount. Banks are valued on price to tangible book against the return they earn on tangible equity, cross-checked against a residual income model.

What is the metal spread in a steel model?

The realised steel price per ton less the cost of the metal that goes into it, which for a mini-mill is mostly scrap. It has to be built in consistent units: scrap is quoted per gross ton of 2,240 pounds and steel per short ton of 2,000 pounds, and more than one ton of metal goes into each ton shipped.

Does the agent deliver the model in Excel?

Yes. It writes a workbook from a specification: historical figures link to data sheets that name their source, every forecast cell is a formula on a labelled assumption, and Base, Bull and Bear scenarios set their own drivers. The workbook is delivered only after its own checks pass.

Footnotes

  1. Vals AI Finance Agent v2 leaderboard, October 12, 2026, and Matterfact analysis. Vals AI's figure is on its 450 private questions; ours is on the 27 public ones, graded with the benchmark's own rubrics. The full method is in our eval report. ↩