Methodology
Last updated: July 27, 2026
Every number on Veko comes from a document a company filed with the U.S. Securities and Exchange Commission. Nothing is estimated, crowdsourced, or bought from a third-party aggregator. This page explains exactly what happens between a company filing a report and a figure appearing on its page here — including the places where we deliberately show nothing.
In this section
1. Where the data comes from
We read two SEC EDGAR APIs, both public and free of licensing restrictions:
- Company Facts (XBRL) — the structured, machine-readable version of a company's financial statements. Since 2009 US public companies have been required to tag their statements in XBRL, so each line item arrives as a named concept with a value, a unit, a period, and the accession number of the filing it came from.
- Submissions — the company's filing history and identifying metadata: legal name, CIK number, exchange, and SIC industry code. The SIC code is what drives our business-model classification, and it is only available here — not in the financial data — which is why company profiles and financials are synced separately.
We parse the us-gaap taxonomy. That is a real limitation and we state it plainly on the coverage page: foreign private issuers that report under IFRS are out of scope.
2. Choosing the right tag
The hard part of reading XBRL is that there is rarely one correct tag. Revenue
is the clearest example: depending on the issuer and the year, the same
economic quantity may be filed as Revenues,
RevenueFromContractWithCustomerExcludingAssessedTax,
SalesRevenueNet, or several others. Companies also change which
tag they use between years, which is how naïve parsers produce a revenue line
that appears to collapse to zero and recover.
For each metric we maintain an ordered list of acceptable tags and take the first one that reports a value for the period being computed. The order is chosen so the most specific, most current concept wins, with older or broader concepts as fallbacks. Where a fallback is unusual we note it in the metric glossary — for instance, dividends per share prefer the board's declared rate but fall back to cash paid, because many large issuers stopped tagging the former.
A derived metric is only computed when all of its inputs are present for the same period. We never mix a numerator from one year with a denominator from another to fill a gap.
3. Fiscal periods and comparability
Companies do not share a calendar. A retailer's "fiscal 2025" may end in January 2026; a tech company's may end in September. We store each figure against the fiscal period the filing assigns it, not the calendar year it happens to fall in.
This matters most for growth. Year-on-year figures compare annual against annual and a quarter against the same quarter of the prior year, so a seasonal business cannot appear to grow simply because a stronger quarter is being compared with a weaker one. Multi-year CAGRs require an actual observation at both endpoints — if the year three back is missing from a company's filing history, we publish no 3-year CAGR rather than silently substituting the nearest available year.
4. Stock splits
Per-share figures as filed are stated in the share count of the time. A company that split 4-for-1 in 2020 filed 2019 earnings per share on the pre-split share base, so an unadjusted ten-year EPS chart shows a cliff at the split that has nothing to do with the business.
We adjust per-share metrics — EPS, revenue per share, dividend per share and
the rest — for known splits, using the split's effective date against the
fiscal period end to decide whether it applies to that period. Adjusted
values are marked with an asterisk (*) in the interface so you
can always tell an adjusted figure from an as-filed one.
The honest caveat: this relies on a maintained list of split events. It covers the large-cap universe well; a split we have not recorded will leave that company's per-share history unadjusted. Aggregate figures — revenue, net income, cash flow — are unaffected by splits and need no adjustment.
5. Restatements and amended filings
When a company restates a prior period, the SEC's Company Facts API serves the restated value. Because we re-read the full fact history on each sync rather than appending only new periods, a restatement propagates through our stored history the next time that company is synced. The consequence worth knowing: a figure you saw last month can legitimately change, because the company changed it.
Where a filing's own balance sheet does not internally balance — assets against liabilities plus equity — we run an identity check at sync time and record the discrepancy rather than papering over it.
6. When we publish nothing
The most common failure mode in automated financial data is a confidently wrong number. We would rather show a gap, so several checks sit between a computed value and a published one:
- Missing inputs — a derived metric with an unavailable input is not published. No imputation, no interpolation.
- Implausible ratios — margins, returns and per-share figures are bounded by sanity limits. A "profit margin" of 40,000% is a tagging artefact, not a discovery, and is discarded.
- Near-zero denominators — an effective tax rate against a pretax income near zero, or a payout ratio against an EPS near zero, produces a huge meaningless number. Those are suppressed.
- Sign changes — percentage growth from a loss to a profit has no meaningful value. We label these N/M (not meaningful) instead of printing a number.
- Structurally inapplicable — a metric that does not apply to a company's business model is labelled N/A, which is a different statement from a blank. See business models.
A blank cell on Veko means "the filing does not give us this". An N/A means "this measure does not apply to this kind of company". They are not the same and we do not use them interchangeably.
7. Peer benchmarks and rankings
Where a company page ranks a metric against peers, the comparison is drawn against companies in the same business-model group, using the distribution of our own computed values. Rankings are withheld when the comparison sample is too small to be defensible — a percentile against four other companies is a number, not evidence. In that case the page shows the absolute figure and says the peer comparison is unavailable.
8. What this is not
Veko is a data and research tool. It does not provide investment advice, does not make recommendations, and does not know your circumstances. The health scores and rankings on company pages are summaries of historical accounting data — they are not forecasts and they say nothing about valuation or price.
Accounting data also has inherent limits: it is backward-looking, it reflects management's estimates and accounting policy choices, and it can be restated. Read it as one input among several, and always alongside the original filings, which we link from every company page.
Questions or corrections
If a figure on Veko looks wrong, we want to hear about it — the specific company, metric and period is enough for us to trace it back to the tag it came from. Email [email protected].