Methodology
FinSavoir turns companies' official SEC filings into consistent financial statements and ratios. This page explains where the data comes from, how it is organized, and what FinSavoir does not do yet.
Where the numbers come from
All financial figures come from SEC EDGAR's XBRL company facts: the machine-readable values companies tag in their 10-K, 10-Q, 20-F and 40-F filings. FinSavoir stores every reported value together with the filing it came from and the date that filing became public. Nothing is typed in by hand, and missing values are shown as missing, never filled in. Select any figure in a report to see its source filing.
Periods: annual, quarterly and TTM
- Every value is placed in a fiscal period using its own reported start and end dates. Statements are never lined up by row position.
- Fiscal years follow each company's own labelling (for example, NVIDIA's fiscal 2026 ended in January 2026).
- Companies rarely report a fourth quarter directly. FinSavoir derives it as full year − nine months, and derives quarterly cash flows from year-to-date totals. Derived values are marked d and say how they were computed.
- TTM (trailing twelve months) is the sum of the last four consecutive quarters. If any quarter is missing, no TTM value is shown.
- A Quarterly or TTM view is offered only when the company reports quarterly income or cash-flow data. Year-end balance sheets alone never create a “quarterly” view. Views with gaps are labelled partial.
- Balance-sheet items are shown as of each period end.
Restatements and point-in-time data
Companies sometimes revise past figures. FinSavoir keeps both the originally reported value and the revision and shows the latest by default. Accounting restatements are marked r; retroactive stock-split adjustments are marked s and are not restatements. Growth in EPS and share counts is computed from a filing that reports both periods on the same share basis. Because every value records when it became public, FinSavoir can reconstruct exactly what was known on any past date. Future forecast evaluation will rely on this so that it never uses information that wasn't available at the time.
Dates on a report
- Latest financial period: the most recent quarter or year with income or cash-flow data.
- Financial data from: the newest filing that contributed financial statements.
- Latest SEC filing: the newest filing of any type (it may contain no financial statements).
- Last checked with SEC: when FinSavoir last looked for new data. A recent check does not mean the financial data is recent.
Why a figure can be missing
- Not reported: the company tags the item, but not for that period.
- Not in SEC data: the company never tags it under a standard XBRL tag FinSavoir maps.
- Inputs missing: a calculated figure (e.g. free cash flow) lacks one of its inputs.
- Withheld: the value failed a data-quality check (for example, a share count tagged in thousands).
- Not applicable: the metric is not meaningful for the industry (e.g. gross margin for a bank) and is hidden.
Key definitions
- Free cash flow
- Operating cash flow − capital expenditure, both for the same period.
- Total debt
- Current borrowings + non-current long-term debt, excluding lease liabilities. Not shown if the company doesn't tag its long-term debt in a way FinSavoir recognizes.
- Debt / equity
- Total debt ÷ shareholders' equity (not shown when equity is negative).
- Effective tax rate
- Income tax ÷ income before taxes (only when pre-tax income is positive).
- ROE / ROA
- Net income ÷ average equity (or assets) at the start and end of the period.
- Growth
- Compared with the prior fiscal year, the same quarter a year earlier, or the prior TTM. Not shown when the earlier value is zero or negative.
- Revenue CAGR
- (latest ÷ value n fiscal years earlier)^(1/n) − 1, using the actual number of years elapsed.
Which companies are covered
FinSavoir covers companies registered with the U.S. Securities and Exchange Commission: about 8,000 companies and 10,000 listings on Nasdaq, NYSE, Cboe and over the counter, from SEC's company ticker list, refreshed daily. That includes foreign companies with U.S. listings that file annual reports with SEC (Form 20-F or 40-F), for example Japanese, European, Indian, Brazilian, Chinese, Korean and Canadian companies. Companies that file only outside the U.S. are not covered in this release.
- Searchable means the company is in SEC's list. Its report is built from SEC data the first time anyone opens it, which takes a few seconds. Former company names and the industry come from SEC's bulk submissions data, so they are searchable before that.
- Loads from SEC on first visit means SEC's bulk company-facts data confirms machine-readable financial statements. SEC data not confirmed means that data did not list the company; FinSavoir still checks SEC when the report is opened, and only then says whether there is financial data.
- No usable SEC financial data means SEC publishes no XBRL financial statements FinSavoir can use: many funds, trusts, shells and depositary-receipt programs, and new registrants (such as recent spin-offs) that have filed quarterly reports but no annual report yet, because fiscal years are built from annual reports. The company page gives the reason. FinSavoir says so instead of showing an empty report.
- A report is shown when SEC data gives at least one reported value. Lines a company does not report (for example revenue for some financial companies) are shown as missing with the reason; the rest of the report is kept.
- A company that stopped filing with SEC keeps its last reported years, marked as out of date.
Industry-aware analysis
Some ratios mislead for some industries: gross margin or current ratio for a bank, for example. FinSavoir chooses an analysis module from the company's SEC industry code and hides metrics that don't apply. Coverage today:
- Full: technology, industrial, consumer, healthcare, energy and other operating companies.
- Partial: banks (efficiency ratio and provision to average loans; capital ratios only where tagged; no net interest margin, because average earning assets are not tagged), insurers (loss, expense and combined ratios for property & casualty insurers only, where the underwriting lines are tagged; no reserves or float), REITs (no FFO/AFFO, which are non-GAAP and not in SEC XBRL; debt often unavailable), other financial services.
- Limited: foreign companies filing 20-F/40-F have annual data only, in their reporting currency. SEC holds no quarterly XBRL data for them.
Automatic updates
FinSavoir checks SEC's filing feeds every 30 minutes and re-processes any tracked company that files a new 10-K, 10-Q, 20-F or 40-F. If SEC's machine-readable data for a new filing is not available yet, FinSavoir checks again later. Company listings refresh daily, and companies nobody has viewed are re-checked periodically. Opening a report also asks SEC for anything newer.
Data-quality checks
FinSavoir checks every company for balance-sheet identity (assets = liabilities + equity), quarters that don't add up to the year, sudden unit jumps (a possible thousands/millions error), impossible negative values, conflicting values in one filing, stale data, and restatements. Warnings are shown on the report. Clearly impossible values are withheld.
Forecasts, backtesting and the prediction ledger
Reports show revenue forecasts for the next one to two fiscal years and, where a company reports consecutive quarters, the next four quarters. They come from simple, transparent models (last value, average growth, damped recent growth, damped trend, same quarter last year) fitted to the company's own reported revenue. They are mechanical extrapolations, not predictions of how a company will do, and not investment advice.
- Which model is shown. Each model's settings, and one challenger per target, were chosen using only outcomes known before 2019. The challenger replaced the simple benchmark only if it then did better on 2019–2026 forecasts under rules written down in advance (consistent across companies and years, not driven by a few companies). Otherwise the benchmark is kept.
- Prediction intervals. An 80% prediction interval shows the range in which 80% of the model's past forecasts (across all companies, using only outcomes known at each forecast date) landed. It is shown only when that held up on later, separate forecasts. It is not a confidence interval for a model parameter, and not a probability for this particular company.
- When there is no forecast. FinSavoir does not forecast from stale data, after a failed data refresh, or without enough consecutive history, and says which applies.
- Backtest. FinSavoir replays history: on each date a company filed an annual report, it rebuilds the data exactly as it was public that day (later filings and restatements are invisible), makes the forecasts, and later compares them with the revenue the company first reported, and with the restated figure.
- Scoring. Errors are scaled by each company's typical year-to-year revenue change (MASE), so companies of different sizes count equally. A model is only called better than “same as last year” when the difference holds up in a 95% interval that resamples whole companies.
- Error ranges are shown only if a range calibrated on earlier years achieved its stated coverage on later, separate years.
- Prediction ledger. Forecasts FinSavoir actually issues are stored with a timestamp, their exact inputs and the model version, can never be edited, and are scored once the company reports. They are kept separate from the simulated backtest.
Results, sample sizes and limitations (including survivorship bias from using today's index members) are on the model performance page.
Total debt
Total debt is current plus non-current borrowings; operating lease liabilities are excluded. Companies tag debt in many ways, so FinSavoir adds only lines that cannot overlap: commercial paper is not added when it may already be inside short-term borrowings, and REIT debt lines (secured, unsecured, senior notes, credit lines) are added only when their relationship is unambiguous. When a company also reports its own total and the parts disagree by more than 2%, or the lines could overlap, total debt is withheld and the report says why. Where long-term debt is only tagged together with finance-lease obligations, the value says so.
Quant tools (model values, not reported facts)
The Quant tools area computes theoretical values from inputs you enter: Black–Scholes–Merton prices and Greeks, Cox–Ross–Rubinstein binomial and trinomial trees (European and American exercise), implied volatility by Brent's method inside the no-arbitrage bounds, a risk-neutral Monte Carlo estimate of a European payoff with its standard error, and a GARCH(1,1) fit to a series you supply. Every result carries its model version and assumptions and is framed with a dashed border so it is never read as a filing figure. The only market data behind the tools is the U.S. Treasury daily par yield curve (public domain), used to pre-fill the risk-free rate: the par yield for the option's maturity, interpolated linearly between tenors, converted to continuous compounding as 2·ln(1 + y/2), shown with its date and labelled stale after a week. FinSavoir stores no share prices: company-linked volatility waits for a price source whose terms permit display on a hosted site.
What FinSavoir is not
FinSavoir is a research tool for understanding historical financial statements. It is not investment advice, does not recommend securities, and has no market price data yet.