GRAHAM HOLDINGS CO: operating cash flow
Operating cash flow for GRAHAM HOLDINGS CO. Inspect selected reporting periods, original units and SEC filing links; download the financial history.
All GRAHAM HOLDINGS CO financial histories
What this measure means
Cash generated or used by operating activities. Working-capital timing can make this differ substantially from reported income.
Exact concept: us-gaap:NetCashProvidedByUsedInOperatingActivities. Each value covers an annual-duration reporting interval, shown with both start and end dates. Different units remain separate; no currency conversion or interpolation is applied.
Coverage of this history
Selected reporting periods run from 2007-12-31 to 2025-12-31. The SEC response was captured on 2026-09-19.
Selected filing history
| Period start | Period end | Value | Unit | Filed | Source filing |
|---|---|---|---|---|---|
| 2025-01-01 | 2025-12-31 | 347,185,000 | USD | 2026-02-25 | 10-K · 0001628280-26-011405 |
| 2024-01-01 | 2024-12-31 | 406,988,000 | USD | 2026-02-25 | 10-K · 0001628280-26-011405 |
| 2023-01-01 | 2023-12-31 | 259,875,000 | USD | 2026-02-25 | 10-K · 0001628280-26-011405 |
| 2022-01-01 | 2022-12-31 | 235,604,000 | USD | 2025-02-26 | 10-K · 0000104889-25-000022 |
| 2021-01-01 | 2021-12-31 | 202,426,000 | USD | 2024-02-23 | 10-K · 0000104889-24-000010 |
| 2020-01-01 | 2020-12-31 | 210,663,000 | USD | 2023-02-24 | 10-K · 0000104889-23-000021 |
| 2019-01-01 | 2019-12-31 | 165,164,000 | USD | 2022-02-25 | 10-K · 0000104889-22-000011 |
| 2018-01-01 | 2018-12-31 | 287,019,000 | USD | 2021-02-24 | 10-K · 0000104889-21-000018 |
| 2017-01-01 | 2017-12-31 | 268,055,000 | USD | 2020-02-26 | 10-K · 0000104889-20-000007 |
| 2016-01-01 | 2016-12-31 | 261,256,000 | USD | 2019-02-25 | 10-K · 0000104889-19-000013 |
| 2015-01-01 | 2015-12-31 | 70,651,000 | USD | 2018-02-23 | 10-K · 0000104889-18-000011 |
| 2014-01-01 | 2014-12-31 | 313,499,000 | USD | 2017-02-24 | 10-K · 0000104889-17-000010 |
| 2013-01-01 | 2013-12-31 | 310,228,000 | USD | 2016-02-26 | 10-K · 0000104889-16-000088 |
| 2012-01-01 | 2012-12-31 | 483,907,000 | USD | 2015-02-27 | 10-K · 0000104889-15-000017 |
| 2011-01-03 | 2011-12-31 | 393,291,000 | USD | 2014-02-28 | 10-K · 0000104889-14-000013 |
| 2010-01-04 | 2011-01-02 | 693,716,000 | USD | 2013-02-28 | 10-K · 0000104889-13-000009 |
| 2008-12-29 | 2010-01-03 | 651,386,000 | USD | 2012-02-29 | 10-K · 0000104889-12-000006 |
| 2007-12-31 | 2008-12-28 | 536,065,000 | USD | 2011-03-02 | 10-K · 0001193125-11-053497 |
Related financial histories
- GRAHAM HOLDINGS CO: total assets
- GRAHAM HOLDINGS CO: total liabilities
- GRAHAM HOLDINGS CO: stockholders equity
- GRAHAM HOLDINGS CO: cash and cash equivalents
- GRAHAM HOLDINGS CO: net income or loss
- GRAHAM HOLDINGS CO: capital expenditure payments
- GRAHAM HOLDINGS CO: revenue
- GRAHAM HOLDINGS CO: contract revenue excluding tax
- GRAHAM HOLDINGS CO: financing cash flow
- GRAHAM HOLDINGS CO: investing cash flow
- GRAHAM HOLDINGS CO: retained earnings or deficit
- GRAHAM HOLDINGS CO: basic weighted-average shares
- GRAHAM HOLDINGS CO: diluted weighted-average shares
- GRAHAM HOLDINGS CO: basic earnings per share
- GRAHAM HOLDINGS CO: diluted earnings per share
- GRAHAM HOLDINGS CO: income tax expense or benefit
- GRAHAM HOLDINGS CO: net property, plant and equipment
- GRAHAM HOLDINGS CO: share-based compensation expense
- GRAHAM HOLDINGS CO: operating income or loss
- GRAHAM HOLDINGS CO: current assets
- GRAHAM HOLDINGS CO: interest expense
- GRAHAM HOLDINGS CO: current liabilities
- GRAHAM HOLDINGS CO: current accounts payable
- GRAHAM HOLDINGS CO: goodwill carrying amount
- GRAHAM HOLDINGS CO: net finite-lived intangible assets
- GRAHAM HOLDINGS CO: net current accounts receivable
- GRAHAM HOLDINGS CO: common-stock repurchase payments
- GRAHAM HOLDINGS CO: net inventory
- GRAHAM HOLDINGS CO: selling, general and administrative expense
Inspect the source
- Entity
- GRAHAM HOLDINGS CO / CIK 0000104889
- Captured
- 2026-09-19T14:54:19.945Z
- SEC response SHA-256
bec011f30e31806c1ca9a0df9f63f8fde8c1f8b1f259bae97f374140195e66cc
Current SEC company facts · Download the original response snapshot (gzip) · Download the selected JSON
Latest-filed annual-report facts per unit and reporting period at capture time. Duration facts cover 300 to 400 days. This selection can include restatements and is not a point-in-time backtest dataset. Missing concepts are omitted, never zero-filled. Values retain original units and are not currency converted. Extended concepts require compatible unit shapes and at least three reporting ends with changing values within one unit. Constant or incompatible added histories are omitted.
Public company accounting reference, not market prices, returns, an investment recommendation, or ALPHAC performance. Validate a separately constructed return series with the validation API; accounting values are not returns.
Use this in research
A financial period ends before its results become public. Use the filing date as a minimum availability boundary, inspect amendments, and retain the original filing vintage when testing historical signals. This latest-filed selection can contain information unavailable at the time.
These pages do not supply prices, total-return histories, corporate-action adjustments or a tradable universe. Build those inputs separately before evaluating a strategy. A profitable backtest can still reflect selection bias or costs that were left out.
Research methodology · Execution and cost assumptions · Check backtest overfitting
Build with the open-source tools
Use these accounting records as inspectable inputs. When you have constructed a return series, the validation tools can help test its statistical evidence and preserve the result with its limitations.
- Get an API key and run your first validation
- Connect the MCP server to your coding assistant
- Inspect the ALPHAC engine on GitHub
- Read the MCP server source and integration examples
Read the published dataset with Python
import json
from urllib.request import urlopen
with urlopen("https://canlicapital.com/company-data/0000104889.json") as response:
record = json.load(response)
print(record["fetched_at"])
print(record["policy"])
for concept in record["concepts"]:
print(concept["tag"], next(iter(concept["observations"])))