CLOROX CO /DE/: basic weighted-average shares
Basic weighted-average shares for CLOROX CO /DE/. Inspect selected reporting periods, original units and SEC filing links; download the financial history.
All CLOROX CO /DE/ financial histories
What this measure means
Time-weighted shares used for basic earnings per share. This denominator differs from shares outstanding at a single reporting date.
Exact concept: us-gaap:WeightedAverageNumberOfSharesOutstandingBasic. 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-07-01 to 2025-06-30. The SEC response was captured on 2026-09-19.
Selected filing history
| Period start | Period end | Value | Unit | Filed | Source filing |
|---|---|---|---|---|---|
| 2024-07-01 | 2025-06-30 | 123,525,000 | shares | 2025-08-08 | 10-K · 0000021076-25-000039 |
| 2023-07-01 | 2024-06-30 | 124,174,000 | shares | 2025-08-08 | 10-K · 0000021076-25-000039 |
| 2022-07-01 | 2023-06-30 | 123,589,000 | shares | 2025-08-08 | 10-K · 0000021076-25-000039 |
| 2021-07-01 | 2022-06-30 | 123,113,000 | shares | 2024-08-08 | 10-K · 0000021076-24-000030 |
| 2020-07-01 | 2021-06-30 | 125,570,000 | shares | 2023-08-10 | 10-K · 0000021076-23-000037 |
| 2019-07-01 | 2020-06-30 | 125,828,000 | shares | 2022-08-10 | 10-K · 0000021076-22-000026 |
| 2018-07-01 | 2019-06-30 | 127,734,000 | shares | 2021-08-10 | 10-K · 0000021076-21-000016 |
| 2017-07-01 | 2018-06-30 | 129,293,000 | shares | 2020-08-13 | 10-K · 0000021076-20-000016 |
| 2016-07-01 | 2017-06-30 | 128,953,000 | shares | 2019-08-14 | 10-K · 0000021076-19-000012 |
| 2015-07-01 | 2016-06-30 | 129,472,000 | shares | 2018-08-14 | 10-K · 0000021076-18-000011 |
| 2014-07-01 | 2015-06-30 | 130,310,000 | shares | 2017-08-15 | 10-K · 0001628280-17-008700 |
| 2013-07-01 | 2014-06-30 | 129,558,000 | shares | 2016-08-16 | 10-K · 0001206774-16-006893 |
| 2012-07-01 | 2013-06-30 | 131,075,000 | shares | 2015-08-21 | 10-K · 0001206774-15-002800 |
| 2011-07-01 | 2012-06-30 | 130,852,000 | shares | 2014-08-25 | 10-K · 0001206774-14-002682 |
| 2010-07-01 | 2011-06-30 | 136,699,000 | shares | 2013-08-23 | 10-K · 0001206774-13-003034 |
| 2009-07-01 | 2010-06-30 | 140,272,000 | shares | 2012-08-24 | 10-K · 0001206774-12-003688 |
| 2008-07-01 | 2009-06-30 | 139,015,000 | shares | 2011-08-26 | 10-K · 0001206774-11-001954 |
| 2007-07-01 | 2008-06-30 | 139,633,000 | shares | 2010-08-26 | 10-K · 0001206774-10-001891 |
Related financial histories
- CLOROX CO /DE/: total assets
- CLOROX CO /DE/: total liabilities
- CLOROX CO /DE/: stockholders equity
- CLOROX CO /DE/: cash and cash equivalents
- CLOROX CO /DE/: net income or loss
- CLOROX CO /DE/: operating cash flow
- CLOROX CO /DE/: capital expenditure payments
- CLOROX CO /DE/: revenue
- CLOROX CO /DE/: contract revenue excluding tax
- CLOROX CO /DE/: financing cash flow
- CLOROX CO /DE/: investing cash flow
- CLOROX CO /DE/: retained earnings or deficit
- CLOROX CO /DE/: diluted weighted-average shares
- CLOROX CO /DE/: basic earnings per share
- CLOROX CO /DE/: diluted earnings per share
- CLOROX CO /DE/: income tax expense or benefit
- CLOROX CO /DE/: net property, plant and equipment
- CLOROX CO /DE/: share-based compensation expense
- CLOROX CO /DE/: current assets
- CLOROX CO /DE/: interest expense
- CLOROX CO /DE/: current liabilities
- CLOROX CO /DE/: current accounts payable
- CLOROX CO /DE/: goodwill carrying amount
- CLOROX CO /DE/: net finite-lived intangible assets
- CLOROX CO /DE/: common-stock repurchase payments
- CLOROX CO /DE/: net inventory
- CLOROX CO /DE/: gross profit
- CLOROX CO /DE/: selling, general and administrative expense
- CLOROX CO /DE/: research and development expense
Inspect the source
- Entity
- CLOROX CO /DE/ / CIK 0000021076
- Captured
- 2026-09-19T14:45:05.482Z
- SEC response SHA-256
ca18495c5ee7465ad58862a368813a9f2aeb8880344c014f6188c36ffc38976f
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/0000021076.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"])))