Value investing method
Fundamental analysis tools: 8 testable
This product filters on 125 fundamental analysis tools and will run only eight backwards over filed history. 34 need a price and 87 cannot be rebuilt.
By Javier SanzPublished Updated : The rule for what may be replayed is stated once now, on /methodology, and this page keeps the census of what it rules out. The field census was re-read after three vendor figures were retired on 2026-09-11 and two ownership fields left the filter list; every count in the piece moves and the argument does not.
Founder of ValueScreener. Built Ninety Nine, a securities services provider, and sold it to a tier-one global bank; ran operations and internationalization at Alpaca, the brokerage API.
Who writes thisEditorial processLinkedIn (opens in a new tab)X (opens in a new tab)
This product filters on 125 figures and will run only eight of them backwards over filed history, read 2026-09-13. Seven of those eight are among the 125, so 118 filterable figures have no history test at all, and the reason is the useful part.
GET /api/public/retrotest/indicators returns those eight keys.
current_ratio, debt_equity, fcf, gross_margin, net_margin,
operating_margin, rev_growth_1y, roe
GET /api/screener/fields returns 125 figures you can filter on. Seven of the
eight appear in that list. The eighth, free cash flow, is offered by the
retro-test as the currency figure from the cash flow statement, while the
screener exposes free cash flow as a yield
and a margin instead.
So of 125 filterable figures, 118 have no history test at all, and asking for one returns a refusal:
That figure has no honest test against the filings. Ask about one of the figures this tool lists.
This page is about why those 118 are refused, because the reason is more interesting than the number and it is the reason most published backtests are worth less than they look.
The first cut is price, and it is the smaller one
Of the 125 filterable figures, 34 are as of the market rather than as of a filing. Price to earnings, price to book, enterprise value to EBITDA, free cash flow yield, dividend yield, every total return, the Altman Z-Score through its market capitalisation term, and the margin of safety, which is a price against a model output.
None of those can be rebuilt for fiscal year 2016 from a 10-K, because the 10-K does not contain a share price. Rebuilding them needs a price archive that goes back as far as the statements do, and this product's does not. The coverage the retro-test returns says so directly, and by omission. Ask it about a figure that needs no price and it reports no price archive at all. Ask it about one that does and it names the span: read on 2026-09-07, 2021-08-12 to 2026-08-26, 5.04 years, beside filed accounts that run to ten. The archive is cited only where it is the thing standing in the way, and the span moves with the newest close rather than deepening.
Four more are vendor-supplied rather than computed: revenue per employee, gross profit per employee, and the two composite scores. A vendor's figure is not something we hold a filing for either.
This group used to hold seven. Forward earnings left it on 11 September 2026, along with the vendor's discounted cash flow value and the margin of safety measured against it, because none of the three could be replayed from a filing. A margin of safety is now measured against the investor's own value, a thesis target price or a saved discounted cash flow, and that has no filed history to replay either: the retro-test refuses it in those words.
The second cut is the one that matters
That leaves 87 figures that come only from filed statements. Seven of them are retro-testable. The other 80 are refused, and not one of them is refused for want of a price.
The rule that decides which is which is on the methodology page, beside the monitoring it governs, and it turns on one thing: whether an old fiscal year's value can be built with the same formula as the latest year's. This page is the count of what that rule rules out, and the three worked cases below are why the count is so much smaller than the field list.
The refusal the product stores for those figures says something narrower, and the difference matters. It does not say the history is too short: that is the wording it reserves for the figures that need a price. It says the figure is assembled from inputs it cannot rebuild year by year with the same formula, so any history drawn for it would be a different number wearing this one's name. Then it adds that this is a property of the figure and not of the company.
Three examples of what that rules out.
Return on invested capital. Invested capital is assembled across the balance sheet, and which items are included is a definitional choice: operating leases, goodwill, excess cash, deferred tax. Every one of those choices is answerable from a recent filing and not always from an older one. A ten-year ROIC series built by taking whatever was available each year is a series whose definition drifts, and its trend is partly the drift.
The Piotroski F-Score. Six of its nine signals compare this year against last, so a ten-year series of the score needs eleven years of statements, and each of the nine needs its own line item present in both years. The score is also an integer out of nine, so a missing input does not degrade the answer slightly. It removes a whole point.
The Altman Z-Score. Four terms are filed and the fifth is market capitalisation. One market term is enough to put the whole score outside a filings-only test.
What the eight have in common
Each of the eight is a single ratio of two line items that are tagged in essentially every filing, or in the case of revenue growth, one line item across two consecutive years.
Current assets over current liabilities. Total debt over equity. Free cash flow as the cash flow statement reports it. Gross profit, operating income and net income each over revenue. Net income over equity. Revenue this year against revenue last year.
There is nothing sophisticated on that list, and that is the point. The figures that survive a history test are the plain ones, and the plainness is what makes them survivable.
What the test actually does
For one company and one of the eight, it reads the annual rows from EDGAR filings only, applies the condition to each year, and returns the years it would have broken, each with the fiscal year, the value, the form, the filing date and the accession number.
Two things it publishes that most tools do not. It states how many fiscal years it evaluated and over which range, so a ten-year claim on a company with four years on file is impossible to make by accident. And where restricting to EDGAR costs years that exist from another source, it publishes the count of years withheld rather than quietly absorbing them, so the years it printed and the years the product holds are two visible numbers rather than one.
The tool is rate limited to twenty answers an hour for an anonymous caller. That is above what a person comparing companies does in a sitting and below what a scrape needs, and it is why this page contains no market-wide retro-test. A market-wide retro-test would be thousands of calls, and the honest thing is to say the study cannot be run from the public interface rather than to run it on a convenience sample and call it the market.
Why a shorter list is the more useful one
A product that offered a history test on all 125 figures would look more capable and would be lying about 121 of them. The specific lie is subtle and it is worth naming: the numbers would be real, the arithmetic would be correct, and the series would still not be the series whose name it carried. Nothing in the output would reveal that. The reader would see a clean chart and a threshold and a set of years, with no indication that the definition underneath had moved.
Eight figures with a filing behind every year is a smaller claim and it is one that survives being checked.
What this leaves out
The counts here describe this product's public interface as of 2026-09-13: 125
filterable figures from GET /api/screener/fields, of which 87 are as of a
filing, 34 as of the market and 4 from a vendor, and eight retro-testable
figures from GET /api/public/retrotest/indicators.
Retro-testable does not mean tested. It means the yearly value is rebuilt with the live formula from a filing we hold. Whether the answer is useful depends on how many years that company has on file, which the tool states with every answer and which is often fewer than ten.
Accounts filed before a company began tagging its statements in XBRL are not machine-readable and are outside every one of these tests, whatever the figure.
A retro-test is a computation on public filings. It is not a backtest of a strategy, it produces no return, and past filings do not indicate future results.