TAL Education (TAL) Shares Outstanding (Diluted) (2009 - 2026)
TAL Education (TAL) posted Weighted Average Shares Outstanding (Diluted) of 578.78 million for the quarter ended Aug 31, 2026, down 6.0% from 615.67 million a year earlier and unchanged from the prior quarter.
TAL Education (TAL) Shares Outstanding (Diluted) (2009 - 2026) Analysis & Trends
Since the quarter ended Nov 30, 2009, TAL Education has reported Weighted Average Shares Outstanding (Diluted) for 67 quarters.
- Annual Weighted Average Shares Outstanding (Diluted) shows a five-year compound annual growth rate of -1.1% (years ended Feb 2021 to Feb 2026).
- In prior years, TAL Education's Weighted Average Shares Outstanding (Diluted) was 615.67 million in the year ended Feb 28, 2025 (+0.9%), 609.91 million in the year ended Feb 29, 2024 (-4.4%), 637.73 million in the year ended Feb 28, 2023 (-1.0%) and 644.48 million in the year ended Feb 28, 2022 (+5.5%).
- Quarterly Weighted Average Shares Outstanding (Diluted) has run from a low of 578.78 million in the quarter ended Feb 28, 2026 to a high of 644.48 million in the quarter ended Nov 30, 2022 over five years.
- On a year-over-year basis, Weighted Average Shares Outstanding (Diluted) has declined in each of the last three quarters, with an average decline of 2.3% over the last eight quarters.
- The strongest year-over-year quarter for Weighted Average Shares Outstanding (Diluted) in the past five years was the quarter ended Nov 30, 2022, with growth of 5.5%; the weakest was the quarter ended Feb 28, 2026, with a decline of 6.0%.
- According to Business Quant data, Weighted Average Shares Outstanding (Diluted) for the three prior quarters was 578.78 million (quarter ended May 31, 2026), 578.78 million (quarter ended Feb 28, 2026) and 615.67 million (quarter ended Nov 30, 2025).
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | Shares Outstanding (Dil.) (Qtr) |
|---|---|---|---|---|---|
| 1 | Service Corp International | 10.50 Bn | 9.57 Bn | 272.27 Mn | 137.23 Mn |
| 2 | New Oriental Education & Technology | 8.07 Bn | -2.95 Bn | 20,000.00 | 157.85 Mn |
| 3 | TAL Education | 6.08 Bn | -6.40 Bn | 594.64 Mn | 578.78 Mn |
| 4 | Graham Holdings | 5.21 Bn | 307.76 Mn | 392.25 Mn | 4.31 Mn |
| 5 | Laureate Education | 4.77 Bn | 4.12 Bn | 131.69 Mn | 139.94 Mn |
| 6 | Valvoline | 4.62 Bn | 4.33 Bn | 214.90 Mn | 128.40 Mn |
| 7 | Covista | 4.17 Bn | 3.34 Bn | 290.78 Mn | 34.57 Mn |
| 8 | Stride | 3.33 Bn | 151.03 Mn | 241.12 Mn | 44.83 Mn |
| 9 | Onespaworld Holdings | 3.13 Bn | 3.03 Bn | 49.70 Mn | 101.86 Mn |
| 10 | Bright Horizons Family Solutions | 2.70 Bn | 2.15 Bn | 204.83 Mn | 51.76 Mn |
Historic Data
| Date | Value |
|---|---|
| Aug 31, 2026 | 578.78 Mn |
| May 31, 2026 | 578.78 Mn |
| Feb 28, 2026 | 578.78 Mn |
| Nov 30, 2025 | 615.67 Mn |
| Aug 31, 2025 | 615.67 Mn |
| May 31, 2025 | 615.67 Mn |
| Feb 28, 2025 | 615.67 Mn |
| Nov 30, 2024 | 609.91 Mn |
| Aug 31, 2024 | 609.91 Mn |
| May 31, 2024 | 609.91 Mn |
| Feb 29, 2024 | 609.91 Mn |
| Nov 30, 2023 | 637.73 Mn |
| Aug 31, 2023 | 637.73 Mn |
| May 31, 2023 | 637.73 Mn |
| Feb 28, 2023 | 637.73 Mn |
| Nov 30, 2022 | 644.48 Mn |
| Aug 31, 2022 | 644.48 Mn |
| May 31, 2022 | 644.48 Mn |
| Feb 28, 2022 | 644.48 Mn |
| Nov 30, 2021 | 610.81 Mn |
TAL Education Shares Outstanding (Diluted) API
Pull this series into your own models, spreadsheets and apps with the Business Quant
Historical Metrics API. The request below matches the chart above — change the
frequency, period or values and it follows. Swap YOUR_API_KEY for your own key.
https://data.businessquant.com/historic?slug=shares-outstanding-diluted&ticker=TAL&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "shares-outstanding-diluted", "ticker": "TAL", "period": "max", "api_key": "YOUR_API_KEY"}
data = requests.get(url, params=params).json()
const res = await fetch("https://data.businessquant.com/historic?slug=shares-outstanding-diluted&ticker=TAL&period=max&api_key=YOUR_API_KEY");
const data = await res.json();