Methodology
Every formula, every source, and the XBRL concept this site actually used for each bank and metric — read from the database as the pages render, not restated from a config file. Where the two could disagree, this table is the one telling the truth.
The universe, and why six rather than five
The site covers JPMorgan Chase, Bank of America, Wells Fargo, Citigroup, Goldman Sachs and Morgan Stanley. At holding-company level Goldman Sachs is top five; at bank-charter level it is not. Rather than pick a definition and lose a name, all six are shown and the definition is stated here.
A trap worth naming. These six do not share an SIC code. The four commercial banks file under 6021; Goldman Sachs and Morgan Stanley file under 6211 as broker-dealers. Filtering the universe by SIC code silently drops two of the six, and the result still looks like a complete peer set. This site selects by CIK.
| JPM | JPMORGAN CHASE & CO | CIK 0000019617 | SIC 6021 |
|---|---|---|---|
| BAC | BANK OF AMERICA CORP /DE/ | CIK 0000070858 | SIC 6021 |
| WFC | WELLS FARGO & COMPANY/MN | CIK 0000072971 | SIC 6021 |
| C | CITIGROUP INC | CIK 0000831001 | SIC 6021 |
| GS | GOLDMAN SACHS GROUP INC | CIK 0000886982 | SIC 6211 |
| MS | MORGAN STANLEY | CIK 0000895421 | SIC 6211 |
Which XBRL concept was used, per bank
Bank tagging is inconsistent between filers and across years, so the ingester holds a list of candidate concepts per metric and picks the one with the best coverage of recent quarters. 13 of the resolved concepts are company extension elements, shown in a different colour — these are absent from the SEC's aggregated XBRL APIs entirely and are read from the filing's own rendered statements.
| Metric | JPM | BAC | WFC | C | GS | MS |
|---|---|---|---|---|---|---|
| Total net revenue |
us-gaap:RevenuesNetOfInterestExpense
|
us-gaap:Revenues
|
us-gaap:RevenuesNetOfInterestExpense
|
us-gaap:Revenues
|
us-gaap:RevenuesNetOfInterestExpense
|
us-gaap:RevenuesNetOfInterestExpense
|
| Net interest income |
us-gaap:InterestIncomeExpenseNet
|
us-gaap:InterestIncomeExpenseNet
|
us-gaap:InterestIncomeExpenseNet
|
us-gaap:InterestIncomeExpenseNet
|
us-gaap:InterestIncomeExpenseNet
|
us-gaap:InterestIncomeExpenseNet
|
| Noninterest income |
us-gaap:NoninterestIncome
|
us-gaap:NoninterestIncome
|
us-gaap:NoninterestIncome
|
us-gaap:NoninterestIncome
|
us-gaap:NoninterestIncome
|
us-gaap:NoninterestIncome
|
| Noninterest expense |
us-gaap:NoninterestExpense
|
us-gaap:NoninterestExpense
|
us-gaap:NoninterestExpense
|
us-gaap:NoninterestExpense
|
us-gaap:NoninterestExpense
|
us-gaap:NoninterestExpense
|
| Provision for credit losses |
us-gaap:ProvisionForLoanLeaseAndOtherLosses
|
us-gaap:FinancingReceivableExcludingAccruedInterestCreditLossExpenseReversal
|
us-gaap:ProvisionForLoanLeaseAndOtherLosses
|
us-gaap:FinancingReceivableExcludingAccruedInterestCreditLossExpenseReversal
|
us-gaap:ProvisionForLoanLeaseAndOtherLosses
|
us-gaap:FinancingReceivableExcludingAccruedInterestCreditLossExpenseReversal
|
| Net income |
us-gaap:NetIncomeLoss
|
us-gaap:NetIncomeLoss
|
us-gaap:NetIncomeLoss
|
us-gaap:NetIncomeLoss
|
us-gaap:NetIncomeLoss
|
us-gaap:NetIncomeLoss
|
| Net income to common |
us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
|
us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
|
us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
|
us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
(Q4 derived: FY − 9M)
|
us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
|
us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
|
| Diluted EPS |
us-gaap:EarningsPerShareDiluted
|
us-gaap:EarningsPerShareDiluted
|
us-gaap:EarningsPerShareDiluted
|
us-gaap:EarningsPerShareDiluted
|
us-gaap:EarningsPerShareDiluted
|
us-gaap:EarningsPerShareDiluted
|
| Weighted average diluted shares |
us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
|
us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
|
us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
|
us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
|
us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
|
us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
|
| Total assets |
us-gaap:Assets
|
us-gaap:Assets
|
us-gaap:Assets
|
us-gaap:Assets
|
us-gaap:Assets
|
us-gaap:Assets
|
| Deposits |
us-gaap:Deposits
|
us-gaap:Deposits
|
us-gaap:Deposits
|
us-gaap:Deposits
|
us-gaap:Deposits
|
us-gaap:Deposits
|
| Loans, net of allowance |
us-gaap:FinancingReceivableExcludingAccruedInterestAfterAllowanceForCreditLoss
|
us-gaap:FinancingReceivableExcludingAccruedInterestAfterAllowanceForCreditLoss
|
wfc:FinancingReceivableAndNetInvestmentInLeaseExcludingAccruedInterestAfterAllowanceForCreditLoss
|
us-gaap:FinancingReceivableExcludingAccruedInterestAfterAllowanceForCreditLoss
|
us-gaap:NotesReceivableNet
|
us-gaap:FinancingReceivableExcludingAccruedInterestAfterAllowanceForCreditLoss
|
| Allowance for credit losses |
us-gaap:FinancingReceivableAllowanceForCreditLossExcludingAccruedInterest
|
us-gaap:FinancingReceivableAllowanceForCreditLossExcludingAccruedInterest
|
wfc:FinancingReceivableAndNetInvestmentInLeaseAllowanceForLoanLossesExcludingAccruedInterest
|
us-gaap:FinancingReceivableAllowanceForCreditLossExcludingAccruedInterest
|
us-gaap:FinancingReceivableAllowanceForCreditLosses
|
us-gaap:FinancingReceivableAllowanceForCreditLossExcludingAccruedInterest
|
| Total stockholders’ equity |
us-gaap:StockholdersEquity
|
us-gaap:StockholdersEquity
|
us-gaap:StockholdersEquity
|
us-gaap:StockholdersEquity
|
us-gaap:StockholdersEquity
|
us-gaap:StockholdersEquity
|
| Preferred equity |
us-gaap:PreferredStockIncludingAdditionalPaidInCapitalNetOfDiscount
|
bac:PreferredStockRedeemableAndNonRedeemableValue
|
us-gaap:PreferredStockValue
|
us-gaap:PreferredStockValue
|
us-gaap:PreferredStockValue
|
ms:PreferredStockCarryingValue
|
| Goodwill |
us-gaap:Goodwill
|
us-gaap:Goodwill
|
us-gaap:Goodwill
|
us-gaap:Goodwill
|
us-gaap:Goodwill
|
us-gaap:Goodwill
|
| Other intangibles |
us-gaap:FiniteLivedIntangibleAssetsNet
|
us-gaap:IntangibleAssetsNetExcludingGoodwill
|
us-gaap:FiniteLivedIntangibleAssetsNet
|
us-gaap:IntangibleAssetsNetExcludingGoodwill
|
us-gaap:IntangibleAssetsNetExcludingGoodwill
|
us-gaap:IntangibleAssetsNetExcludingGoodwill
|
| Shares outstanding |
dei:EntityCommonStockSharesOutstanding
|
us-gaap:CommonStockSharesOutstanding
|
us-gaap:CommonStockSharesOutstanding
|
dei:EntityCommonStockSharesOutstanding
|
us-gaap:CommonStockSharesOutstanding
|
us-gaap:CommonStockSharesOutstanding
|
| Public float (annual, at Q2 end) |
dei:EntityPublicFloat
|
dei:EntityPublicFloat
|
dei:EntityPublicFloat
|
dei:EntityPublicFloat
|
dei:EntityPublicFloat
|
dei:EntityPublicFloat
|
A candidate list is not the same as a result. Concepts are ranked by how many
of the eight most recent quarters they actually cover, because banks leave dead concepts in
their taxonomies for years — JPMorgan still carries
LoansAndLeasesReceivableNetReportedAmount, whose last fact is from 2016. Choosing
it because it exists would produce a metric that is present, plausible, and empty.
Derived metrics
Everything below is computed by this site and labelled derived wherever it appears. None of it is reported by the banks in this form.
| Common equity | total_equity − preferred_equity |
|---|---|
| Tangible common equity | common_equity − goodwill − other intangibles |
| TBVPS | tangible_common_equity ÷ shares_outstanding |
| Efficiency ratio | noninterest_expense ÷ revenue_total |
| ACL / loans | allowance_credit_losses ÷ total_loans |
| ROTCE | (net_income_common × 4) ÷ average(TCE_t, TCE_t−1) |
| Implied price (annual) | public_float ÷ shares_outstanding |
| P / TBV at the float date | implied_price ÷ tbvps |
ROTCE is ours, not theirs. It is annualized from a single quarter on a two-point average equity base. Each bank uses its own averaging convention and its own definition of average tangible common equity, so this figure will differ from the company's reported ROTCE, typically by tens of basis points. It is never presented as the company's number.
The implied price is a year old and slightly low, by construction.
Every 10-K cover page states the aggregate market value of shares held by non-affiliates
(dei:EntityPublicFloat), measured at the last business day of the company's second
fiscal quarter — it is the one price-bearing figure in a public-domain filing. Dividing it by
shares outstanding at the same date recovers the price the filer used, with two caveats stated
wherever the figure renders: the point is up to fourteen months old by the time the next 10-K
arrives, and it understates the market price because the float excludes affiliate-held shares
while the divisor counts all shares outstanding — under one percent for these six banks, whose
insider ownership is negligible. Both sides of the P/TBV built from it are measured at the same
date, so the ratio is internally consistent for that date and is never presented as current.
Nothing is adjusted or estimated.
Strict null propagation. A derived metric with any missing input is itself missing, with one documented exception: other intangibles are deducted from tangible common equity when the filer tags them, and only goodwill is deducted when it does not. JPMorgan does not tag other intangibles in its 10-Qs at all, and treating that as a missing input would blank TBVPS and ROTCE for three quarters in four. The omitted amount was $1.3bn against $288bn of tangible common equity at Q4 2025 — 45 basis points, inside the 50bp tolerance this project sets for derived figures. Nothing is carried forward or estimated.
Q4 is recovered, not reported
Banks do not tag a 90-day duration fact for the fourth quarter; the 10-K reports the full
year. Q4 flows are therefore recovered as full year − the filer's own nine-month
subtotal, both from the same concept. Cells recovered this way are marked
† on the bank pages.
Per-share figures are excluded from this treatment. Diluted EPS and average diluted share count are not additive across quarters because the denominator moves, so Q4 is left missing rather than computed.
The nine-month subtotal is preferred over the sum of the three quarters for a specific reason. Bank of America restated its Q1 and Q2 2025 revenue in filings made after the FY2025 10-K. Subtracting the restated quarters from that full year mixes two bases and puts the entire restatement into Q4, giving 29,319 where the consistent figure is 31,180 — a 6% error that looks entirely ordinary. Where a restatement is detected the row says so.
Update cadence
| SEC EDGAR — filing history | Daily | Submissions API, per company |
|---|---|---|
| SEC EDGAR — XBRL facts | Weekly, and after each filing | companyfacts, per company |
| SEC EDGAR — rendered statements | Per filing | Fallback for what companyfacts cannot serve |
| FRED — daily series | Daily | T10Y2Y, SOFR, DFF |
| FRED — weekly series | Weekly | TOTLL, DPSACBW027SBOG, MORTGAGE30US |
| FRED — monthly and quarterly | Weekly check | UNRATE, DRCCLACBS |
Last successful sync
| Job | Last success | Rows |
|---|---|---|
| edgar_facts | 1 Sep 2026, 13:35 UTC | 24,895 |
| edgar_submissions | 31 Aug 2026, 23:22 UTC | 127 |
| filing_fallback | 1 Sep 2026, 02:35 UTC | 89 |
| fred_series | 31 Aug 2026, 23:22 UTC | 11,281 |
Macro series
| Series | Title | Frequency | Drives | Latest |
|---|---|---|---|---|
| DFF | Effective Federal Funds Rate | Daily | Deposit betas | 2026-08-28 |
| DPSACBW027SBOG | Deposits, All Commercial Banks | Weekly, ending Wednesday | Deposit balances | 2026-08-19 |
| DRCCLACBS | Delinquency Rate on Credit Card Loans, All Commercial Banks | Quarterly | Net charge-offs (leads ~2 quarters) | 2026-04-01 |
| MORTGAGE30US | 30-Year Fixed Rate Mortgage Average in the US | Weekly, ending Thursday | Mortgage banking revenue | 2026-08-27 |
| SOFR | Secured Overnight Financing Rate | Daily | Funding cost | 2026-08-28 |
| T10Y2Y | 10-Year Treasury Constant Maturity Minus 2-Year | Daily | Net interest margin | 2026-08-31 |
| TOTLL | Loans and Leases in Bank Credit, All Commercial Banks | Weekly, ending Wednesday | Loan growth | 2026-08-19 |
| UNRATE | Unemployment Rate | Monthly | CECL reserve assumption | 2026-07-01 |
This product uses the FRED® API but is not endorsed or certified by the Federal Reserve Bank of St. Louis.
Known limitations, stated plainly
- The SEC's aggregated XBRL APIs are incomplete in two ways. They contain
no company extension namespaces, so Wells Fargo's loans and allowance and Bank of America's
and Morgan Stanley's preferred equity are unreachable through them. And they can lag a filer:
Citigroup's 2026Q1 and 2026Q2 were filed with entirely standard concepts and absent from both
companyfactsandcompanyconcept. Both cases are filled from each filing's own rendered statements. - Citigroup's TBVPS and ROTCE are blank for 2026, for two different
reasons. While the SEC's aggregation lags Citi, its 2026 quarters come from the rendered
face statements, and each figure is missing one input that no face statement carries.
TBVPS lacks quarter-end shares outstanding: the balance sheet parenthetical carries shares
issued, and Citi holds enough treasury stock that the two differ by nearly half,
while the cover page dates its outstanding count at the filing date, about a month after
quarter end. ROTCE lacks net income to common, which Citi discloses in its
earnings-per-share note rather than on the income statement. Using either substitute would
be an approximation, so the figures are left out; both fill in automatically once
companyfactscatches up with Citi's filings. - Bank of America's four 2025 quarters do not sum to its reported full year, by the restatement amount described above. Each quarter is individually the most recently reported figure.
- Net interest margin, net charge-off rates, segment results and CET1 are not here. They are not reliably in XBRL; they live in each bank's financial supplement, in its own layout. Nothing on this site is parsed from those documents.
- No current prices. There is no free price source whose terms clearly permit redistribution, so a live P/TBV is not published; the valuation view shows returns and lets the reader supply the price. The one exception is the once-a-year implied price recovered from each 10-K's public float, described above — exactly dated, public domain, and up to fourteen months stale.
- No consensus estimates and no transcripts. Both are licensed.
Sources
| Fundamentals | SEC EDGAR XBRL APIs and the filings themselves. US government work, public domain. |
|---|---|
| Macro | FRED, Federal Reserve Bank of St. Louis. Third-party series inside FRED carry their own terms. |
| Filing documents | EDGAR full-text archive. |
Reconciliation against the banks' own filings is automated and re-run before every release; the current result is 18 bank-quarters checked with zero mismatches.