Methodology: how we source and calculate our figures

Last updated  · Version 1.3 · Changes

Signed off by OffScriptBySami on

In brief

StockFactsheet's US figures come from SEC EDGAR filings, read by our own import script, and GCC figures from each issuer's own financial statements. A company hub may also quote a figure from a cited filing or release. Code computes every derived figure, and a derived quarter carries a D marker. We store no prices.

1. Data sources and coverage

We take financial-statement figures for US companies from SEC filings. Coverage is a selected list of companies listed on NYSE and Nasdaq. The table shows each source and what we do not get from it.

Data sources and coverage
MarketSourceHow obtainedUpdate timingWhat we don't have
US: NYSE, NasdaqSEC EDGAR filings: Forms 10-K, 10-Q and 10-KT with their amendments, and XBRL "company facts" from data.sec.govOur own import scriptNo fixed schedulePrices; consensus estimates; 20-F and 40-F filers
GCC: DFM, ADX, TadawulThe issuer's own financial-statement PDF, published on or linked from its investor-relations siteKeyed from the PDF with our entry tool, with AI assistance, and checked by code against the PDF's own text; each figure keeps its page numberNo fixed scheduleAnything the issuer has not published; statement figures from an exchange website
EventsCompany press releases and 8-K filingsA company hub may quote a figure from one exactly as it states it, in a sentence that ends with its citation; the page links the documentNot applicableAnything the document does not state
PricesNone storedNot applicableNot applicableEvery price-based measure

The selected list also includes companies listed on DFM, ADX and Tadawul, whose figures come from each issuer's own financial statements.

An earnings recap also shows, in a table, the guidance a company states in its earnings release, in the company's own words and figures. It is the company's statement, not our forecast, and we add no verdict on it; any change label (raised, maintained, lowered) is the company's own word. AI helps us key each statement, code checks that its quote and values are printed in the release, and a statement shows only after OffScriptBySami approves it.

1.1 US figures

For US companies we read SEC EDGAR filings only. Our import script fetches each company's filing list and XBRL "company facts" from data.sec.gov. It keeps only values from annual and quarterly reports (Forms 10-K and 10-Q), their amendments and transition reports. It declares a User-Agent that names StockFactsheet and keeps under the SEC's limit of 10 requests a second (see the SEC's page on accessing EDGAR data).

Every figure on a page traces to a filing, directly or through the inputs of a derived figure. The page's Sources and data block lists the filings behind its tables, key facts and profile rows, and each document its text cites. The filings behind a count of dividend years are kept with the page's data but not listed.

1.2 GCC figures

For DFM, ADX and Tadawul companies we use the issuer's own financial-statement PDF, published on or linked from its investor-relations site, never an exchange website. Each figure is keyed from the PDF with our entry tool, with AI assistance, and stored with its PDF page and printed label.

Code then checks each figure against the PDF's own text. It looks for the figure on the cited page and in the row of its printed label, and it does not verify a figure it cannot find there. A keyed figure starts as unverified and is not shown until code has found it there and our fact-check step has passed. A scanned PDF has no text layer, so its figures cannot pass this check.

Code also compares each figure's column with its period and its printed sign with the sign we keyed, and records the result. A mismatch of either goes on a review list, and code does not refuse the figure for it.

Where the same period is entered a second time, from the comparative column of the company's next report, our entry checks compare the two figures. A difference beyond rounding counts as a restatement, and the figure carries R, only when the later report prints a Restated, Reclassified or Re-presented flag. Otherwise the entry is blocked until the difference is resolved, and a typing error in a published figure is logged as a correction. The latest period has no second entry until the next report is out.

1.3 Update timing

We refresh the data when we run our import; there is no fixed schedule. A page states the period its figures run to ("Data as of") and the date we last updated it ("Updated"). When a company files new results, the page can show an "Update pending" notice until the new figures are imported and the page is signed off again. New financial-statement figures never go live without that sign-off.

OffScriptBySami signs off every page, in batches, after our automated checks and AI-assisted review passes. The steps are in our editorial policy.

For US companies the notice appears once our import has seen a newer 10-K or 10-Q and the site is rebuilt. The SEC's data feed can trail a filing by days to weeks, so "Update pending" can also mean the filing exists but its figures have not reached the feed.

For GCC companies the "Update pending" notice appears once the new statement's figures are in our database and the site is rebuilt. That can happen before the new figures have passed our checks, and the page shows them only once they have.

Once a page's Data as of date is 135 or more days old, the page shows a notice that a newer report may have been published. A page that already shows "Update pending" does not add this one. A page shows at most 2 notices. We set these notices when we rebuild the site, so they can lag.

1.4 Results dates

The Home page's "Results this week" lists results dates of companies we cover in the week of the site's last build. It shows only the first few, earliest first, so it is not a full calendar. "Reported" means the company's results are out, and the "Reported" label links the document. For a US company the date is the filing date of its latest SEC Form 8-K with Item 2.02, results of operations, for that period.

For a GCC company, "Reported" is the date we recorded for the issuer's own financial statements for the period.

"Estimated" means the company has not reported yet. Code takes the date of the same quarter's results a year earlier and adds 52 weeks, so the date keeps its weekday. It is not a date the company has announced, and the actual date can differ. When last year's date is not known, we show no estimate.

Code builds and estimates these dates from SEC EDGAR filings and the issuer statements we keep, and no AI step changes them. They change only when we update them and rebuild the site, so they can lag.

2. What we don't do

We set 5 limits on our data work, and a sixth, on prices, has its own heading below. We do not:

  • publish our own forecasts, ratings, targets or recommendations, apart from the estimated results dates in 1.4
  • show consensus estimates or beat or miss verdicts
  • use exchange websites or data aggregators as a source of financial-statement figures
  • convert one currency into another
  • estimate a missing figure; a table cell shows "—", and a key fact or profile row with no value is left out

2.1 No prices

We store no share prices, so we publish no P/E, P/B, P/S, EV/EBITDA or PEG ratio. We also publish no dividend yield, FCF yield, market cap, enterprise value, returns, 52-week range, beta or momentum measure. A figure that needs a price is missing by design, not by omission.

Our learn pages explain price-based terms with a fictional company only.

3. Periods and derivations

Every figure on an analysis page has a period, and code computes every derived figure. Claude, made by Anthropic, drafts the text of an analysis page from a fact pack of the page's imported and computed figures. On a company hub the text may also quote a figure exactly as a cited SEC filing or company release states it, in a sentence that ends with its citation. Our AI-assisted fact-check step checks each such figure against that document; the page on how we use AI explains the division of work.

3.1 Periods and "data as of"

"Data as of" is the latest period end among the statement figures on a page. It is never a cover-page date, a dividend date or an event date. A page whose newest statement figure is for the quarter ended 30 Jun 2026 says "Data as of 30 Jun 2026", whenever we imported it.

We identify a period by its start and end dates, never by the fiscal-year label on a filing, which can give a prior-year comparative the current year's label. Our fiscal-year label is the calendar year of the nominal fiscal year end; for a company that names its year by its start, we follow the company. We sort periods by length, in day bands wide enough for 52-week and 53-week years:

  • a quarter: 76 to 125 days
  • a half-year: 160 to 200 days
  • nine months year to date: 245 to 290 days
  • a full year: 350 to 380 days

The "Shares outstanding" key fact comes from the filing's cover page. It is labelled as such and can be dated later than "Data as of". A year-on-year comparison between periods whose lengths differ by more than 5 days, as in a 53-week year, carries a footnote giving both spans.

A transition report (Form 10-KT) covers a period after a change of fiscal year end. None of the companies we cover is known to have changed its fiscal year end in the years we keep. Our import has no separate rule for a transition period yet.

3.2 Line items and mapping

We store statements as 57 line items in 3 templates: standard, bank and insurer. For SEC filings, ordered fallback rules map XBRL tags to each line, and a filing uses the first rule it can satisfy. Where a company needs its own mapping, we record the exception.

A figure built from several tags is a combined value. It carries D, and its footnote says it was combined from line items reported in the same filing. Where a company reports a related concept in place of ours, such as dividends paid per share for dividends declared, the row label or a footnote names it.

A line a company does not print, and that none of our fixed rules can build, is left out of the tables. Its key fact reads "Not presented", with the note "not presented in the statements", and so does a profile row whose metric needs that line, such as net debt / EBITDA without operating income. A key fact whose newest figure is older than the latest period on the page is left out, not estimated.

Where an SEC filing reports the parts but not a subtotal, fixed rules build it from lines of the same filing. The table lists our default rules.

Line items and mapping
LineBuilt from
Gross profitRevenue less cost of revenue
SG&AGeneral and administrative expense plus selling and marketing expense
Net interestInterest income less interest expense
Pre-tax incomeDomestic plus foreign pre-tax income
Depreciation and amortisation (inside EBITDA)Depreciation plus amortisation of intangible assets
Cash and short-term investmentsThe filing's own cash, cash equivalents and short-term investments subtotal where it tags one. Otherwise cash and cash equivalents plus the short-term investment lines the filing tags: short-term investments and current marketable securities (both, when both are tagged), or current debt securities, or current available-for-sale debt securities; cash and cash equivalents alone when it tags none of these. Never a line tagged as equity securities.
Goodwill and intangiblesGoodwill plus the intangible assets the filing reports under the standard intangible-asset tags, or the components we map for the company. Intangible assets a company shows on separate lines under other tags, such as licences, may not be included, so for some companies the line is goodwill alone.
Short-term debt (inside total debt)Current maturities of long-term debt plus short-term borrowings
Long-term debt (inside total debt)Total long-term debt less its current portion
Total debtShort-term debt plus long-term debt, or long-term debt including its current portion plus short-term borrowings
Total liabilitiesTotal liabilities and equity less total equity, including non-controlling interests
Shareholders' equityTotal equity less non-controlling interests
Shares outstandingShares issued less treasury shares
A bank's net interest incomeInterest income less interest expense
A bank's operating incomeNet interest income plus non-interest income

Each built line is a combined value and carries D. We never build operating income for a standard company: where the statements print none, its key fact and the profile rows that need it read "Not presented".

3.3 Quarters and the Q4 derivation

Companies file 3 quarterly reports and 1 annual report, so a filing rarely carries the fourth quarter on its own. When none does, we derive it: Q4 = fiscal year − nine-month year to date, or fiscal year − (Q1 + Q2 + Q3).

When a filing gives a line only year to date, which is usual for cash flows, we derive its quarters the same way. Q2 = H1 − Q1, and Q3 = nine-month year to date − H1 (or − Q1 − Q2 where no H1 is filed). A quarter the company files as a three-month figure is kept as filed.

There is one exception. The SEC feed sometimes carries a rounded note figure for a cash-flow quarter, such as "USD 6,000 million". When it is coarser than the year-to-date subtraction and differs by more than the rounding, we show the subtraction with D and keep the filed figure on record.

We derive only additive lines: revenue, costs, profit and cash flow. We never derive EPS, dividends per share, share counts or ratios. A Q4 EPS appears only when the annual report itself reports it; otherwise it shows "—".

We derive quarters for the last 5 fiscal years only. We refuse a derivation whose inputs are on different bases, such as after a recast, and show "—" instead. For US companies these derivations are built from SEC filings.

For GCC companies we derive quarters the same way, from the interim and full-year statements the issuer prints, and a derived quarter carries D.

3.4 Trailing 12 months (TTM)

TTM is the sum of 4 contiguous quarters, each starting the day after the previous one ends. We do not sum quarters that have a gap between them. A TTM figure is labelled with its end date, for example "TTM to 30 Jun 2026", and at a fiscal year end it equals the fiscal year. A margin on a TTM basis is a ratio of 2 TTM sums, not an average of quarterly margins.

For GCC companies TTM is built the same way, from 4 contiguous quarters that the issuer prints or that we derive from its statements.

3.5 Restatements and markers

We keep each new value a later filing reports for a period, unless the filing can only report it under a less preferred concept. The latest kept value is the current one. A later value filed under a different reported concept is never marked R.

A skipped value under a less preferred concept is flagged for review when it differs beyond rounding and the 2 concepts are alternatives to each other. We also skip a later value that the same rule builds from only some of the parts behind the kept value. A later value under a more preferred concept becomes current when it differs beyond rounding, and the difference is flagged. The flag is an error, or a review item when only the tag's name changed. An open error blocks approval of the page's data until it is cleared; a review flag does not.

When a later filing changes an earlier period under the same concept, the figure carries R and its footnote cites both filings. For the fictional Example Co., a footnote reads: "Restated in Form 10-Q filed 27 Aug 2026; originally reported USD 4,402 m in Form 10-Q filed 28 May 2026."

For a GCC company, a flag of Restated, Reclassified or Re-presented printed by the issuer sets R even when the value is unchanged.

We adjust per-share values and share counts for splits and bonus shares only once the split record is marked verified. Each split record points to a filing. The footnote to an adjusted value gives the as-reported value.

For a GCC company we do not adjust per-share values. When a later report re-prints an earlier year's weighted share count more than 0.5% higher or lower, we leave out the earlier per-share figures and share counts.

D goes on a derived quarter, a combined figure and the levels we compute, free cash flow and net debt. In Key facts, a TTM figure summed from 4 quarters is labelled "derived", as is any figure that carries D and every margin or ratio we calculate. At a fiscal year end the TTM is the annual figure, and a filed one names its form, such as Form 10-K.

A derived figure built on a restated input carries R as well as D. In tables, margins, growth rates and ratios carry no D and are explained under Notes. The markers are:

  • R Restated
  • D Derived by StockFactsheet
  • A Adjusted for a split or bonus shares

A dash (—) means not available, "Not presented" means the company's statements do not print the line, and n/m means not meaningful.

3.6 Banks and insurers

Banks have their own template. A bank's printed total equity can include Additional Tier 1 (AT1) capital notes. A bank's cost-to-income ratio is our calculation.

For US banks, operating income is labelled "Total net revenue", impairment charges "Provision for credit losses" and total deposits "Deposits", the names their statements use. A bank's loans are shown net of the allowance for credit losses, and its capital row is labelled "Total capital ratio, Standardized (as reported)".

3.7 Currency

Figures are in the currency of the source document, written as ISO codes, such as USD. We do not convert one currency into another.

For GCC companies the codes we use are AED, SAR and USD, as each issuer reports.

A payout ratio whose dividends and EPS are in different currencies shows n/m. We do not convert either one to make the ratio work.

3.8 Rounding

We round half away from zero. Statement values are in millions: 0 decimals when a company's full-year top-line figure, such as revenue, is 1,000 million or more, otherwise 1 decimal. Percentages have 1 decimal; a percentage above 999% shows as ">999%" and one below −999% as "<−999%". Multiples have 1 decimal, such as 8.0×.

In tables and Key facts, per-share values have 2 decimals, or 3 when the issuer declares 3. A per-share value adjusted for a split shows as many decimals as it needs to stay exact, up to 4. In tables, the footnote to a split-adjusted value, marked A, gives the as-reported value.

Amounts in Key facts and in text use a compact form with 3 significant figures, such as "USD 4.81 bn". Totals may not add up because of rounding, and a compact amount (in Key facts or in text) is never shown finer than its coarsest input. CSV downloads carry full units, not millions.

4. Fundamentals profile

The fundamentals profile has 5 rows that describe where a company sits against a comparator. Today that comparator is the company's own last 5 fiscal years (see medians and positions). There is no band and no total.

Each row uses one metric, and the row names are metric families, not verdicts. The table names the metric behind each row, and the cards below give the formula of each metric.

Fundamentals profile
DimensionStandard companiesBanks
GrowthRevenue, 3-year CAGRNet interest income, 3-year CAGR
MarginsOperating margin, TTMNet interest margin, as reported, latest year
Leverage (banks: Capital)Net debt / EBITDA, TTMCapital adequacy ratio, as reported (US banks: total capital ratio, Standardized)
Cash flowFCF margin, TTMCost-to-income, TTM; this row is labelled "Cost-to-income"
Dividend historyConsecutive years of cash dividendsSame

The TTM rows all read one period: the latest TTM of the company's top line, or its latest fiscal year when that is later. The top line is revenue, or operating income for a bank. A row whose own figure cannot be built for that period is left out, or reads "Not presented" when the company's statements do not print a line it needs; it never takes a figure from another period.

A fictional company shows how 3 of the formulas below work: free cash flow, FCF margin and FCF cover. Example Co. has cash from operations of 10,000, capital expenditure of −2,000, dividends paid of −1,000 and revenue of 40,000. Its free cash flow is 8,000, its FCF margin 20.0% and its FCF cover 8.0×.

Our explainers on free cash flow and operating margin go further.

4.1 Year-on-year change

Formula: (value for the period / value for the same fiscal period a year earlier) - 1, matched on (fiscal year - 1, fiscal period), never on dates. For cash outflows (capex, dividends paid, buybacks) the calculation uses absolute values. n/m when either value is zero, the endpoints differ in sign or the base is negative. Never applied to percentages.

Why we use it: It compares like periods, so seasonal swings do not distort the change.

Where it appears: Financials tables, YoY % rows, and earnings recaps.

4.2 Change in percentage points

Formula: Value for the period - value for the same fiscal period a year earlier, in percentage points (percent metrics only).

Why we use it: Margins are already percentages, so we show their change in points.

Where it appears: Earnings recaps, as the change in a margin or a bank's cost-to-income ratio, in the results table and, when a company presents operating income, in the key figures at the top.

4.3 Compound annual growth rate (CAGR)

Formula (3-year): (FY value / FY value three years earlier)^(1/3) - 1; outflow rows on absolute values; n/m when either value is zero or negative.

Formula (annual table): (latest FY / earliest FY shown)^(1/(elapsed years)) - 1; outflow rows on absolute values; the header names the real endpoints; n/m when either value is zero or negative.

Why we use it: It states a multi-year change as one yearly rate.

Where it appears: Growth row of the fundamentals profile; CAGR column of the annual income statement tables.

4.4 Gross margin

Formula: Gross profit / revenue; TTM = TTM gross profit / TTM revenue (ratio of sums).

Why we use it: It shows the share of revenue left after the direct cost of revenue.

Where it appears: Financials tables.

4.5 Operating margin

Formula: Operating income / revenue; TTM = TTM operating income / TTM revenue (ratio of sums).

Why we use it: It shows how much of each unit of revenue is left after operating costs.

Where it appears: Financials tables; Margins row of the fundamentals profile; hub key facts.

4.6 Net margin

Formula: Net income attributable to the parent / revenue; TTM = ratio of TTM sums.

Why we use it: It shows the share of revenue left as profit for the parent.

Where it appears: Financials tables.

4.7 EBITDA

Formula: Operating income + depreciation and amortisation.

Why we use it: It is the earnings measure inside net debt / EBITDA.

Where it appears: Inside net debt / EBITDA.

4.8 Free cash flow

Formula: Cash from operations plus capital expenditure as stored (capex is stored as a negative outflow), i.e. CFO - |capex|. IFRS: lease principal payments (financing) are not deducted and interest paid follows the issuer's classification, so IFRS and US GAAP FCF are not like-for-like.

Why we use it: It shows the cash left from operations after capital spending.

Where it appears: Cash flow tables and key facts.

4.9 FCF margin

Formula: Free cash flow / revenue; TTM = TTM FCF / TTM revenue (ratio of sums).

Why we use it: It shows how much free cash flow each unit of revenue produces.

Where it appears: Cash flow row of the fundamentals profile.

4.10 Net debt / (net cash)

Formula: Total debt (including finance-lease liabilities where they are part of the company's debt line; operating leases excluded) - cash and short-term investments; negative = net cash. Cash and short-term investments follow section 3.2. A reported cash, cash equivalents and short-term investments subtotal is used first. Otherwise we add the lines the filing tags, never a line it tags as equity securities. A company's own subtotal, short-term investments or marketable securities line is used as tagged, and we do not check whether it holds equity securities.

Why we use it: It puts debt and cash in one figure.

Where it appears: Balance sheet tables and key facts.

4.11 Net debt / EBITDA

Formula: Net debt at period end / EBITDA for the trailing 12 months; n/m when EBITDA is zero or negative.

Why we use it: It relates debt after cash to a year of EBITDA.

Where it appears: Leverage row of the fundamentals profile.

4.12 Dividend per share (fiscal year)

Formula (US): dividends declared per share for the fiscal year as filed (XBRL), on the latest share basis. For a company that tags only dividends paid per share, that figure stands in, and its label reads "Dividend paid per share".

Why we use it: It states the cash dividend as an amount for each share.

Where it appears: Per-share and dividends table; the hub's dividend table; hub key facts.

4.13 Payout ratio

Formula: Dividend per share for the fiscal year / diluted EPS for that year (the per-share form of dividends / net income; differs with buybacks and preferred or AT1 distributions); n/m when EPS is zero or negative, or when dividends and EPS are in different currencies.

Why we use it: It compares the dividend for a share with the earnings for a share.

Where it appears: Dividend tables and charts.

4.14 FCF cover

Formula: Free cash flow / |dividends paid| for the same fiscal year, both from the cash flow statement; fiscal years only (no quarterly or TTM figure). n/m when no dividend was paid that year (dividends paid of zero) or free cash flow is zero or negative; no figure when the filing has no dividends paid line.

Why we use it: It compares free cash flow with the cash paid out as dividends.

Where it appears: Per-share and dividends table; the hub's dividend table.

4.15 Consecutive years of cash dividends

Formula (US): consecutive fiscal years, ending with the latest fiscal year, in which the filing tags a dividend per share above zero (declared, or paid for a company that tags only dividends paid per share); the tag does not separate special from regular dividends. The count is exact when it ends at a fiscal year with an explicit dividend per share of zero, or at a fiscal year with no dividend per share on record whose cash dividends paid are an explicit zero. It shows 0 when the latest fiscal year has an explicit zero after a dividend in the last five. When it ends instead at any other fiscal year the filing does not tag, or reaches our first stored year, the number is a lower bound. It is shown with a "+", for example "17+", and a note naming the fiscal year the count starts from. A lower bound is left out of medians and of the above/near/below label.

Why we use it: It counts the years in a row with a cash dividend.

Where it appears: Dividend history row of the fundamentals profile. A company with no dividend in the last 5 fiscal years shows "No dividend paid in the last 5 fiscal years"; a count that cannot be established is left out.

4.16 Net interest margin (as reported)

Formula: As reported by the bank for its latest fiscal year; not recalculated. Only like spans are compared. We do not yet enter this figure for US banks, so their pages leave it out.

Why we use it: It is the bank's own measure, so we show it as reported.

Where it appears: Margins row of the fundamentals profile, banks.

4.17 Capital adequacy ratio (as reported)

Formula: As reported by the bank on its regulatory basis; not recalculated. US bank pages label it "Total capital ratio, Standardized (as reported)". We do not yet enter this figure for US banks, so their pages leave it out.

Why we use it: It is the bank's own capital measure, shown as reported.

Where it appears: Capital row of the fundamentals profile, banks; bank key facts.

4.18 Cost-to-income ratio (our calculation)

Formula: Operating expenses / operating income (net interest income + non-interest income; "Total net revenue" on US bank pages); TTM = ratio of TTM sums.

Why we use it: It shows the share of a bank's operating income taken by operating expenses.

Where it appears: Bank income tables; Cost-to-income row of the fundamentals profile, banks; bank key facts.

4.19 Loan-to-deposit ratio

Formula (US): Loans, net of the allowance for credit losses / deposits; for a US GAAP bank, deposits are the total deposits line its balance sheet prints ("Deposits").

Formula (GCC): Loans, net of the allowance for credit losses / deposits; for an IFRS bank, deposits are its customer deposits line.

Why we use it: It compares a bank's net loans with its deposits.

Where it appears: Bank financial tables.

4.20 Medians and positions

Today each profile row compares a company with the median of its own last 5 fiscal years. The row also shows a range, low to high, across those 5 fiscal years. A value for the latest fiscal year is one of the 5, so it sits inside the range: this is always so on the Growth row, and on every row with a range when the page's latest period is a fiscal year end. A value for a later period, such as a TTM to a quarter end, is not one of the 5, so it can sit outside the range, and the strip then marks it just past the nearer end.

If a year is missing or not meaningful, the row shows the value without a comparison, and the dividend-history row never has one. The profile's subtitle names the comparator, and says so when a TTM value is compared with fiscal-year values.

A position is "Above", "Near" or "Below" the comparator's median. "Near" means within ±2.0 percentage points for percentage metrics. For ratios it means within ±0.2× when the median, ignoring its sign, is under 2.0, and otherwise within ±10%, and for every other metric within ±10%.

4.21 Why "above" is not "better"

A position describes the number and nothing else. Above the median on net debt / EBITDA means more debt for each unit of EBITDA, and above the median on cost-to-income means more of income spent on costs. Neither is a judgement, and we never call a position better or worse.

4.22 Why there is no single number

We do not combine the 5 rows into a total, a ranking or any single number. The rows measure different things in different units: a growth rate, a margin, a multiple of EBITDA and a count of years. Any total would need weights, and choosing a weight is a judgement we do not make.

5. Known limitations

Every figure has limits. These are the ones we know of.

  • We publish no consensus estimates and no beat or miss verdicts; we compare a period with earlier periods.
  • Free cash flow under IFRS and under US GAAP is not like for like, because IFRS lease principal payments are not deducted and interest paid follows each issuer's own classification.
  • Our US history starts at fiscal 2015, and our dividends per share start at fiscal 2009.
  • The years and quarters shown for a GCC company vary, and a scanned PDF without a text layer cannot pass our text check.
  • A line that a company does not print and our fixed rules cannot build, such as operating income for a standard company, is left out of the tables. No metric that needs it is calculated.

Figures can contain errors, so check the original filing. If you find one, contact us: we aim to review an error report within 5 business days, Monday to Friday, UAE time. We fix a confirmed error and record it in the corrections log. The site is for information only, as the full disclaimer sets out.

6. Terms used on this site

These terms appear on our data pages. The full rules are in the sections above.

Data as of
The latest period end among the statement figures on a page (section 3.1).
Updated
The date of the page's last logged change.
Signed off
The date OffScriptBySami signed the page off.
TTM
Trailing 12 months: the sum of the latest 4 contiguous quarters, labelled with its end date.
Own 5-year median
The middle value of one metric across a company's own last 5 fiscal years, the comparator on a profile row today (see medians and positions).

Questions about this policy?

Email support@stockfactsheet.com or contact us.

(opens in new tab)

Version history

Versions of this page, newest first
DateVersionWhat changed
1.3Republished when we added ads; the policy text did not change.
1.2Added how we key the guidance our earnings recaps show, the change in percentage points, and how we set the Home page's results dates.
1.1Added the companies we cover on DFM, ADX and Tadawul.
1.0First published version.