How to Calculate Q4 Earnings From 10-K and 10-Q
How to calculate Q4 earnings from the 10-K and Q3 10-Q: revenue, EPS, share counts, cash flow, 52/53-week quarters, and the traps that break the math.

There is no Q4 10-Q. Public companies file three quarterly reports and one annual report a year, so the fourth quarter only exists as arithmetic: the full-year number in the 10-K minus the nine-month, year-to-date number in the third-quarter 10-Q. For Apple's revenue in the quarter ended September 27, 2025, the last quarter of its fiscal 2025, that subtraction is exact. For the same quarter's earnings per share it is a cent off, for its share count it returns a negative number, and for some companies it produces cash flows that cannot exist. Building StockFit's quarterly statements, we found the subtraction is the easy part. This guide shows how to calculate Q4 earnings line by line from real filings, which line items you can subtract and which you cannot, and the filing quirks that silently break the math.
Why there is no Q4 10-Q
The rule is written into the form itself. The SEC's Form 10-Q instructions require a quarterly report within 40 days after each of the first three fiscal quarters for large accelerated and accelerated filers (45 days for everyone else), “but no report need be filed for the fourth quarter of any fiscal year.” The fourth quarter is covered by the annual report on Form 10-K, due 60, 75, or 90 days after year-end depending on filer size. If you are new to the two forms, our guide to SEC forms explained covers what each one contains.
For years that gap was papered over. Regulation S-K Item 302(a) used to require a table of selected quarterly financial data in the 10-K, fourth quarter included. Apple's fiscal 2020 10-K still tagged revenue for the quarter ended September 26, 2020 directly in XBRL: $64.698 billion. In November 2020 the SEC replaced that quarterly table with a principles-based requirement that only applies when previously reported quarters change materially. No Apple 10-K since then tags a three-month revenue, net income, or EPS figure, and neither does the latest 10-K of any of the 12 large filers we checked on October 4, 2026, from Microsoft and Amazon to JPMorgan and Coca-Cola.
Companies still announce the quarter, in an earnings release attached to an 8-K. Apple published results for the quarter ended September 27, 2025 on October 30, 2025, one day before its 10-K. But only that 8-K's cover page is tagged in XBRL; the income statement in the release is plain HTML. For structured data, the fourth quarter starts with the 10-K, and it has to be derived.
How to calculate Q4 earnings: full year minus nine months
The Q2 and Q3 10-Q income statements each carry two columns for the current year: the three months just ended and the year to date. The Q3 10-Q's year-to-date column covers nine months, so for any line that accumulates over the year:
Q4 = full year (10-K) - nine months (Q3 10-Q)
= full year - six months (Q2 10-Q) - Q3 (if no nine-month column)
= full year - Q1 - Q2 - Q3 (if no year-to-date columns)This works for flows: revenue, cost of revenue, operating expenses, operating income, net income. It does not work for anything that is an average, a ratio, or a point-in-time balance, which the next sections cover.
A worked example: Apple's quarter ended September 27, 2025
Apple's fiscal 2025 ran from September 29, 2024 to Saturday, September 27, 2025. The 10-K (accession 0000320193-25-000079) reports the full year; the Q3 10-Q (0000320193-25-000073) reports the nine months ended June 28, 2025:
| Line item | Full year (10-K) | Nine months (Q3 10-Q) | Q4 = FY - 9M | Apple's Q4 release |
|---|---|---|---|---|
| Revenue | $416.161 billion | $313.695 billion | $102.466 billion | $102.466 billion |
| Net income | $112.010 billion | $84.544 billion | $27.466 billion | $27.466 billion |
Both derived values match the three-month column in Apple's own earnings release exactly. Revenue and net income are flows, totals of activity over a period, so subtracting the nine-month total from the full-year total leaves exactly the fourth quarter's activity. Our XBRL-to-JSON guide walks through the same full-year-minus-nine-months cascade for parsers; the rest of this post is about the cases where it stops being exact.
Doing it yourself with SEC's XBRL API
SEC's free companyconcept endpoint returns every value a company has filed for one XBRL concept. A minimal Q4 function, tested against Apple and Costco:
from datetime import date
import requests
SEC_HEADERS = {"User-Agent": "Your Name your.email@example.com"} # SEC requires a contact UA
def concept(cik: int, tag: str, unit: str = "USD") -> list[dict]:
url = f"https://data.sec.gov/api/xbrl/companyconcept/CIK{cik:010d}/us-gaap/{tag}.json"
resp = requests.get(url, headers=SEC_HEADERS, timeout=30)
resp.raise_for_status()
return [f for f in resp.json()["units"][unit] if "start" in f]
def length(fact: dict) -> int:
return (date.fromisoformat(fact["end"]) - date.fromisoformat(fact["start"])).days
def q4_value(cik: int, tag: str, fy_end: str) -> float:
facts = concept(cik, tag)
# Full year: a ~12-month duration ending on fy_end, as first filed in the 10-K.
annual = [f for f in facts if f["end"] == fy_end and 350 <= length(f) <= 380 and f["form"] == "10-K"]
fy = min(annual, key=lambda f: f["filed"])
# Nine months: same start date, latest 10-Q year-to-date end before fy_end, as first filed.
ytd = [f for f in facts if f["start"] == fy["start"] and f["end"] < fy_end and f["form"] == "10-Q"]
q3_end = max(f["end"] for f in ytd)
nine = min((f for f in ytd if f["end"] == q3_end), key=lambda f: f["filed"])
return fy["val"] - nine["val"]
print(q4_value(320193, "RevenueFromContractWithCustomerExcludingAssessedTax", "2025-09-27"))
# 102466000000Two details in that function matter more than they look. First, it matches facts on their start and end dates, never on the fy and fp fields. Those describe the filing, not the fact: Apple's fiscal 2025 10-K reports three years of revenue side by side, and all three values come back tagged fy=2025, fp=FY. Filter on the tags and you can pick fiscal 2023's revenue by accident. Second, it takes the first-filed version of each number, for reasons the trap section makes concrete. What it does not handle is everything below.
Q4 EPS and share counts: never subtract them
Earnings per share is net income divided by the weighted-average share count of the same period, so annual EPS and nine-month EPS have different denominators. Subtracting them does not produce a fourth-quarter ratio. For Apple's quarter ended September 27, 2025, full-year diluted EPS of $7.46 minus nine-month diluted EPS of $5.62 gives $1.84; Apple reported $1.85. A cent sounds small until it flips an earnings-surprise sign or a growth rate in a backtest.
The share count is worse, because a weighted average is not a sum. Apple's diluted average was 15,004,697,000 shares for fiscal 2025 and 15,051,726,000 for the nine months ended June 28, 2025 (buybacks shrink the count through the year). Full year minus nine months returns -47,029,000 shares, a negative share count.
The day-weighted share count
An average over 364 days, minus an average over the first 273 of them, needs both weighted by their length:
Q4 shares = (FY shares x FY days - 9M shares x 9M days) / Q4 days
Apple, fiscal 2025 (364 days, first 273, last 91; count both endpoints):
(15,004,697,000 x 364 - 15,051,726,000 x 273) / 91 = 14,863,610,000
Q4 diluted EPS = Q4 net income / Q4 shares
= 27,466,000,000 / 14,863,610,000 = 1.8479 -> $1.85Apple's release reports 14,863,609,000 diluted shares for the quarter (disclosed in thousands), so the day-weighted result lands one rounding unit, 1,000 shares, away from the company's own figure, and the EPS matches at $1.85. Count both the first and the last day of each period. Measuring each period as its end date minus its start date, 363 and 272 days, gives 14,864,126,802 shares instead, 517,802 above Apple's figure.
When a stock split lands between the 10-Q and the 10-K
ServiceNow split its stock five for one effective December 17, 2025, after its 10-Q for the quarter ended September 30, 2025 (filed October 30, 2025) and before its 10-K (filed January 29, 2026). The nine-month diluted EPS of $6.43 is on the old share basis; the full-year $1.67 is on the new one. Subtracting them gives -$4.76 of diluted EPS for the quarter ended December 31, 2025, a quarter in which the company earned $401.0 million. Day-weighting the share counts without fixing the basis is no better: 3,531,350,054 shares and $0.11 of EPS. Multiply the pre-split nine-month count by 5 first and the same formula returns 1,046,219,185 shares and $0.38, the diluted EPS ServiceNow reported for the quarter. Detecting the split in the first place is its own problem, covered in how to detect stock splits in historical data. For a ready-made series, /api/earnings/eps-history returns quarterly EPS with Q4 included and pre-split periods restated onto the current basis.
Q4 cash flow statement and balance sheet
The balance sheet needs no math at all. Balance-sheet lines are snapshots at a date, not activity over a period, and the 10-K's year-end balance sheet is the fourth-quarter balance sheet. Subtracting the Q3 balance sheet from it gives the change during Q4, which is a different number. /api/financials/balance-sheet returns that year-end snapshot as the Q4 period: Apple's total assets at September 27, 2025 come back as $359.241 billion, the same figure as in the 10-K.
The cash flow statement is where Q4 stops being special. 10-Qs present the cash flow statement year to date: the Q2 10-Q shows six months, the Q3 10-Q nine. So Q2 is six months minus Q1, Q3 is nine months minus six, and Q4 is the full year minus nine. Of Apple's four fiscal 2025 quarters, only the one ended December 28, 2024 was filed with a discrete operating cash flow; the $29.7 billion for the quarter ended September 27, 2025 is $111.482 billion minus $81.754 billion. Across the 7 quarters in the chart, 5 of the cash flow values are derived, which is why a quarterly free cash flow series built from raw filings needs this differencing for every quarter but the first.
/api/financials/cash-flow-statement returns all four quarters discrete, with each derived quarter labeled by its method, so the inputs to a Q3 free cash flow figure are visibly nine months minus six months, not filed numbers.
52/53-week fiscal years: when Q4 is 16 weeks long
Many retailers and technology companies end their fiscal year on a fixed weekday rather than a month-end, so their years run 52 or 53 weeks and their quarters are not three calendar months. Apple ends on the last Saturday of September. Costco goes further: its first three quarters are 12 weeks each and its fourth quarter is 16 weeks, or 17 in a 53-week year like the one ended September 3, 2023. Full year minus nine months is still the correct subtraction, but the result covers a longer stretch of time than any other quarter.
In the 16 weeks ended August 31, 2025, Costco brought in $86.2 billion of revenue, 36.3% more than in the 12 weeks ended May 11, 2025. Per week, it was 2.2% more. The year-over-year view has the opposite trap: the 16 weeks ended September 1, 2024 brought in only 1.0% more than the 17 weeks ended September 3, 2023, and Costco's own release spelled out the 16-week versus 17-week comparison. Per week, revenue grew 7.3%. Divide by weeks, or compare against the same-length period, before computing any growth rate that involves a 52/53-week Q4.
Fiscal-year labels are not portable either. For years that both ended January 31, 2026, Target's 10-K tags its year as fiscal 2025 and Walmart's tags its year as fiscal 2026. Line periods up across companies by their end dates, never by the label alone.
Three filings where full year minus nine months breaks
The subtraction assumes the 10-K and the Q3 10-Q measure the same thing the same way. Real filings do not always cooperate, and the result is a number that looks precise and cannot be true:
| Filing | Quarter ended | What changed between filings | Naive Q4 | Correct Q4 |
|---|---|---|---|---|
| Sonic Automotive, capital expenditures | December 31, 2024 | Sign: 10-Q tagged +$145.9 million, 10-K tagged -$187.3 million | -$333.2 million | $41.4 million |
| General Electric, capital expenditures | December 31, 2013 | Basis: full year later restated to continuing operations | -$3.375 billion | $3.328 billion |
| ServiceNow, diluted EPS | December 31, 2025 | Share basis: 5-for-1 split between the 10-Q and the 10-K | -$4.76 | $0.38 |
Sign conventions. Capital expenditures are a cash outflow, and the XBRL concept defines that outflow as a positive amount. Sonic Automotive's 10-Q for the quarter ended September 30, 2024 tagged nine-month capex as a positive $145.9 million; its 10-K tagged the full year as -$187.3 million. The naive figure for the quarter ended December 31, 2024 is -$333.2 million of capex, which would mean the company was paid to buy property. Put both legs on the concept's defined sign first and the quarter is $41.4 million.
Restatements. General Electric's original fiscal 2013 10-K reported $13.458 billion of capex against $10.130 billion for the nine months ended September 30, 2013. After GE announced its GE Capital exit plan in April 2015 and moved most of GE Capital into discontinued operations, later filings restated fiscal 2013 on the new basis: $6.754 billion in the fiscal 2015 10-K. A dataset that keeps only the latest value for each period pairs that restated full year with the latest nine-month figure, $10.129 billion from the 10-Q filed November 4, 2014, which was never recast to the new basis, and the quarter ended December 31, 2013 comes out at -$3.375 billion. Pair the original 10-K with the original 10-Q and the quarter is $3.328 billion. This is why the Python function above takes the first-filed values, and why a point-in-time history of every filed version matters; our point-in-time fundamentals API deep dive covers how that amendment trail is stored.
Share basis. ServiceNow, covered above: per-share and share-count legs filed on either side of a split have to be restated onto one basis before any subtraction or weighting.
Two checks catch these before they reach a model. A derived Q4 that is negative on a line that cannot be negative (revenue, capex, shares outstanding) is a sign or basis break, not a number. And a fiscal-year-end change, filed on a transition-period 10-K, means the nine months may not sit inside the new fiscal year at all, so check that the nine-month period starts on the same date as the full year before subtracting.
Getting derived Q4 data from an API, with its audit trail
StockFit derives Q4 wherever a company's 10-K and 10-Qs allow it, and labels each derived value with the method that produced it. Request quarters from /api/financials/income-statement:
curl -H "Authorization: Bearer $TOKEN" \
"https://api.stockfit.io/v1/api/financials/income-statement?symbol=AAPL&period=quarter&limit=4"The entry for Apple's quarter ended September 27, 2025, trimmed to four facts:
{
"period": "2025-09-26",
"fiscalYear": 2025,
"fiscalPeriod": "Q4",
"dateFiled": "2025-10-31",
"facts": {
"revenue": 102466000000,
"netIncome": 27466000000,
"eps": 1.85,
"epsDiluted": 1.85
},
"sources": {
"0000320193-25-000079": {
"type": "10-K",
"dateFiled": "2025-10-31",
"amendment": false,
"facts": {}
},
"Q4-Recon-FY-9M": {
"type": "Q4-Recon",
"amendment": false,
"facts": {
"revenue": {},
"netIncome": {},
"eps": {},
"epsDiluted": {}
}
}
}
}Q4-Recon-FY-9Mnames the method: the full year minus the nine months. It carries nodateFiledbecause it is not a filing; the 10-K accession sits next to it as the source the quarter was completed from.- The top-level
dateFiledis the 10-K's acceptance date, the first day the quarter could be computed from filed financial statements. Backtests should key on it, as explained in point-in-time data for backtesting. periodis a period key, not the date the quarter ended. It sits on a fixed fiscal calendar anchored to September 26, the fiscal-year-end day SEC has on file for Apple, so the quarter that ended September 27, 2025 reads2025-09-26. Take exact period dates from the filing;fiscalPeriodsays which quarter of the fiscal year an entry is.
Cash flow quarters carry the same labels, so you can tell a filed Q1 from a differenced Q2 or Q3. Apple's quarter ended March 28, 2026, trimmed to three facts:
{
"period": "2026-03-26",
"fiscalYear": 2026,
"fiscalPeriod": "Q2",
"dateFiled": "2026-05-01",
"facts": {
"operatingCashFlow": 28702000000,
"capitalExpenditure": 1971000000,
"endCash": 45572000000
},
"sources": {
"0000320193-26-000013": {
"type": "10-Q",
"dateFiled": "2026-05-01",
"amendment": false,
"facts": {
"endCash": {}
}
},
"Q2-Recon-H1-Q1": {
"type": "Q2-Recon",
"amendment": false,
"facts": {
"operatingCashFlow": {},
"capitalExpenditure": {}
}
}
}
}Behind the labels, the derivation pairs the originally filed full year with the originally filed nine months. For a fixed list of lines whose sign convention is proven, with capex, long-term debt issuance and repayment, buybacks, and dividends among them, it puts both legs on their defined sign before subtracting and drops a derived value that still comes out negative. It rescales pre-split share counts when the values corroborate the split, and it computes EPS as derived net income over a derived share count instead of subtracting EPS. If a 10-K does tag a three-month fourth-quarter column, the filed number wins: Apple's revenue for the quarter ended September 26, 2020 comes straight from its fiscal 2020 10-K. On the three examples above, the API returns $41.4 million of capex for Sonic's quarter ended December 31, 2024, $3.328 billion for GE's quarter ended December 31, 2013, and $0.38 of diluted EPS for ServiceNow's quarter ended December 31, 2025.
All of these endpoints are on the free tier, which returns the four most recent quarters. and the call above works as written; for the wider quant workflow, see StockFit for quantitative research. This is data, not investment advice. All figures were verified on October 4, 2026 against SEC's XBRL data and the live API, and for Apple, Costco, and ServiceNow against the company's 8-K earnings release.
FAQ
Q.Why is there no Q4 10-Q?
Q.How do you calculate Q4 earnings from a 10-K?
Q.How do you calculate Q4 EPS?
Q.How do you calculate quarterly cash flow from a 10-Q?
Q.Do you need to calculate the Q4 balance sheet?
Q.Why is a company's fourth quarter longer than its other quarters?
Q.Are Q4 numbers audited?
Q.Where can I get Q4 financial data via API?
period=quarter on the free tier, which covers the four most recent quarters. On the income statement and the cash flow statement, each derived value is labeled with its method, such as Q4-Recon-FY-9M for the full year minus nine months, next to the 10-K accession it came from, and the quarter is dated to the 10-K filing for point-in-time use.Ready to build?
Free API key, no credit card.