Universal Corporation: basic weighted-average shares
Universal basic weighted-average shares: 25.0 million shares for the year ending 2026-03-31, up 0.4% on the year. 17 values since 2010 from SEC filings.
All Universal Corporation financial histories
At a glance
Universal reported basic weighted-average shares of 25.0 million shares for the year ending 2026-03-31, up 0.4% from 24.9 million shares a year earlier. From 2010 to 2026 it grew at a compound 0.1% a year, from 24.7 million shares to 25.0 million shares. Across the last five reported years it ranged from 24.8 million shares (2022-03-31) to 25.0 million shares (2026-03-31).
Computed from the values in the table below, in shares; each links to the filing it came from.
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 2009-04-01 to 2026-03-31. The SEC response was captured on 2026-09-19.
Selected filing history
| Period start | Period end | Value | Unit | Filed | Source filing |
|---|---|---|---|---|---|
| 2025-04-01 | 2026-03-31 | 25,037,983 | shares | 2026-06-01 | 10-K · 0001628280-26-039511 SEC |
| 2024-04-01 | 2025-03-31 | 24,947,208 | shares | 2026-06-01 | 10-K · 0001628280-26-039511 SEC |
| 2023-04-01 | 2024-03-31 | 24,851,858 | shares | 2026-06-01 | 10-K · 0001628280-26-039511 SEC |
| 2022-04-01 | 2023-03-31 | 24,773,710 | shares | 2025-05-30 | 10-K · 0000102037-25-000028 SEC |
| 2021-04-01 | 2022-03-31 | 24,764,177 | shares | 2025-04-21 | 10-K/A · 0000102037-25-000017 SEC |
| 2020-04-01 | 2021-03-31 | 24,656,009 | shares | 2023-05-25 | 10-K · 0000102037-23-000025 SEC |
| 2019-04-01 | 2020-03-31 | 24,982,259 | shares | 2022-05-27 | 10-K · 0000102037-22-000015 SEC |
| 2018-04-01 | 2019-03-31 | 25,129,192 | shares | 2021-05-28 | 10-K · 0000102037-21-000012 SEC |
| 2017-04-01 | 2018-03-31 | 25,274,975 | shares | 2020-05-28 | 10-K · 0000102037-20-000024 SEC |
| 2016-04-01 | 2017-03-31 | 23,433,860 | shares | 2019-05-24 | 10-K · 0000102037-19-000022 SEC |
| 2015-04-01 | 2016-03-31 | 22,683,290 | shares | 2018-05-25 | 10-K · 0000102037-18-000012 SEC |
| 2014-04-01 | 2015-03-31 | 23,035,920 | shares | 2017-05-26 | 10-K · 0000102037-17-000030 SEC |
| 2013-04-01 | 2014-03-31 | 23,238,978 | shares | 2016-05-27 | 10-K · 0000102037-16-000046 SEC |
| 2012-04-01 | 2013-03-31 | 23,354,793 | shares | 2015-05-22 | 10-K · 0000102037-15-000017 SEC |
| 2011-04-01 | 2012-03-31 | 23,228,000 | shares | 2014-05-23 | 10-K · 0000102037-14-000019 SEC |
| 2010-04-01 | 2011-03-31 | 23,859,000 | shares | 2013-05-24 | 10-K · 0000102037-13-000016 SEC |
| 2009-04-01 | 2010-03-31 | 24,732,000 | shares | 2012-05-25 | 10-K · 0001445305-12-001881 SEC |
Related UNIVERSAL CORPORATION histories
Inspect the source
- Entity
- UNIVERSAL CORPORATION / CIK 0000102037
- Captured
- SEC response SHA-256
6c16c913e55bbba701cb1b3de6cb285dda453dd30c13a216b4737797804206db
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
The MCP server is free and MIT-licensed: npx -y canli-mcp. If these records help your research, a star on GitHub helps other researchers find them.
Read the published dataset with Python
import json
from urllib.request import urlopen
with urlopen("https://canlicapital.com/company-data/0000102037.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"])))