How it works
How we build shareholder-benefit and dividend-policy data
What this page covers
- check_circleHow we record shareholder benefits per condition of record month × shares × holding years, with version history.
- check_circleHow dividend policies are structured into payout ratio, DOE, floors and more, then checked against the original text before publication.
- check_circleThe hard parts, our judgement rules, how to read the data, and what is available in the API.
Counts are as of October 20, 2026.
Counts are as of October 20, 2026 (the number of listed companies is from the October 19, 2026 list). The number of listed companies is not a coverage rate against all companies with benefit programs. A company missing from the list does not necessarily have no benefits.
1. Why this matters, and why good data is rare
Shareholder benefits (yutai) and dividend policies are among the things individual investors look at most when researching Japanese stocks. Yet data that handles them correctly as tables is uncommon.
What matters is the condition
The question is not only what you receive, but in which record month, with how many shares, held for how many years. Data that only has the benefit's name cannot answer that.
Policies are written as prose
Dividend policies are written as prose in annual securities reports (yuho) and elsewhere. A policy is not necessarily a single number. Floors, guidelines and combinations of several metrics sit inside the text.
They change, but history is lost
Both benefits and dividend policies are introduced, changed and abolished through disclosures. Data that keeps only the latest content cannot tell you what changed and from when.
2. Shareholder benefits
We record benefits exactly as each company states the conditions, in four layers.
account_treeData model: program → version → condition → item
A company's benefit is a "program"; each time its content changes we create a new "version". A version contains "condition" rows, and each condition links to the "items" received. One condition row means "shareholders as of this record month (the month that determines eligibility), holding at least this many shares, for at least this many years".
- folder_openProgram1,878
A company's benefit scheme. A company can have more than one.
- historyVersion3,050
The benefit content effective from a given date. We distinguish current, scheduled, past and abolished, and keep past versions as history.
- tuneCondition11,498
One row of record month × minimum shares × minimum holding years. Long-term holding bonuses are expressed here too.
- redeemItem15,491
What is received under each condition. A value is recorded only when the company states one.
The figures at top right are counts as of October 20, 2026. Programs cover 1,679 companies.
table_rowsExample conditions (a fictional company, for illustration)
If a company described its benefit as below, it becomes three condition rows. Even with the same 100 shares, a shareholder who has held for 3+ years falls under a different row.
| Record month | Min. shares | Min. holding years | Item |
|---|---|---|---|
| March | 100+ | None | Assortment of own products (company states: worth ¥1,000) |
| March | 100+ | 3+ years | Assortment of own products (company states: worth ¥2,000) |
| September | 500+ | None | 5 discount vouchers for own stores (no value stated → left blank) |
This table is a fictional example for illustration, not any real company's benefit.
bar_chartScale
As of October 20, 2026 we hold 1,878 programs (1,679 companies), 3,050 versions, 11,498 condition rows and 15,491 items. Reviewed versions break down into 1,625 current, 232 scheduled, 1,185 past and 7 abolished. The published list contains 1,646 companies (as of October 19, 2026): 1,491 with a current benefit and 155 with only a scheduled version. We also record 86 companies as "no benefits (confirmed)" after checking their official documents.
psychology_altWhy it is hard
Every company uses a different format
Shares × holding-years tables, formulas like "3 vouchers per 100 shares", choose-one menus, and extra items for long-term holders are mixed in different shapes by each company.
Holding-period conditions are common
About 51% of condition rows carry a holding-period condition. "N years or more", "listed on the shareholder register N consecutive times" and "same shareholder number" are different conditions, so we record them as written and never convert one into another.
Changes and abolitions arrive as disclosures
New benefits, changes and abolitions are announced through timely disclosures (TDnet) and similar notices. Each notice creates a new version, and the previous version stays as history.
"Current" shifts around record dates
An announced change does not always apply immediately. Around record dates, which version is "current" and which is "scheduled" switches.
gavelJudgement rules
For the cases that are easy to get wrong, we set rules first and apply them the same way to every company.
- check_circleA benefit that is only a discount on the company's own stores or services still counts as a benefit.
- check_circleIf official documents do not describe the benefit in detail, we record "no benefits (details not disclosed)". Content found only on external sites is not used.
- check_circleBenefits available only by lottery are not included.
- check_circleHolding-period conditions are recorded in the form written (years, consecutive register listings, continuous shareholder number) and are never converted into one another.
- check_circleOnly values stated by the company are recorded. Unstated values are left blank, not estimated.
conveyor_beltHow we collect and verify
Sources are limited to documents issued by the companies themselves.
- Timely disclosures (new, changed, abolished benefits)
- "Shareholder benefits" in annual securities reports
- Company IR pages
- 1
Pick up new disclosures every morning
Every morning at 05:30 JST, an automated job collects new disclosures.
- 2
Generative AI drafts
From the disclosure text, it drafts versions, conditions and items, together with quotes from the original as evidence. Drafts are not yet written to the published data.
- 3
Machine checks
We check by machine that each quote exists verbatim and contiguously in the original, that share and holding-year boundaries are consistent, and that items map correctly to conditions.
- 4
Check against the original
A person or an AI agent compares against the original and records a review on 7 points: whether it is current, record date, shares, holding period, condition–item mapping, choice/bonus structure, and completeness.
- 5
Publish only fully reviewed versions
Only versions with all 7 points recorded are published. Versions put on hold are not published.
A weekly cross-check against external information
Once a week we compare by machine against external benefit-information sites to find companies we are missing and content that differs, then re-check each one against the original documents. External sites are secondary sources, so the comparison never overwrites our data. It is an inspection for finding gaps and mistakes.
3. Dividend policies
We structure each company's written dividend policy into metrics, numbers and conditions, and publish it with quotes from the original text as evidence.
bar_chartScale
As of October 20, 2026, the API returns a current dividend policy for 3,751 companies (listed companies only). Companies with numeric targets or floors, by type:
| Type | Meaning | Companies |
|---|---|---|
| Payout ratio | Target or floor for the share of profit paid as dividends. | 1,172 |
| DOE (dividend on equity) | Dividends relative to shareholders' equity; less sensitive to swings in profit. | 433 |
| Total return ratio | Dividends plus share buybacks as a share of profit. Treated as a metric separate from the payout ratio. | 205 |
| Progressive dividend (explicit) | Policies that explicitly commit to not cutting the dividend — maintaining or raising it. | 304 |
| Floor amount | A minimum per-share amount, such as "at least ¥X per share per year". | 181 |
| Combined conditions | Policies combining several metrics, such as "payout ratio X% or DOE Y%, whichever is higher". | 97 |
A company can fall into several types, so the rows do not add up to a company total. The rest are prose-only policies such as "maintain stable dividends" or "prioritize retained earnings".
psychology_altWhy it is hard
Old and new in one sentence
A single sentence often contains the previous policy, this year's actual result and the new policy from next year. We separate out which one is the current policy.
Floor vs. target
"Floor", "floor guideline" and "target" mean different things. We record them at the strength written and never strengthen them.
"Strive to raise dividends" is not progressive
A policy that does not promise to avoid cuts is not treated as a progressive dividend. Only explicit statements count.
Total return ≠ payout ratio
A total return ratio, which includes buybacks, is never recorded as a payout ratio.
"Whichever is higher / lower"
"Whichever is higher" makes both metrics floors; "whichever is lower" makes both caps. We do not collapse them into a single number.
Not stated ≠ no policy
The absence of a numeric target in an annual securities report does not mean there is no policy. We keep "not stated" and "no policy" apart.
conveyor_beltHow it is made
Sources are the "Dividend policy" section of annual securities reports and timely disclosures by newly listed companies. As of October 20, 2026, we have read 21,202 and 15 versions, respectively. AI drafts are checked against the original text before publication.
- 1
Detect changes every morning
Every morning at 05:00 JST, we find companies whose "Dividend policy" text in the annual securities report has changed.
- 2
Rule-based candidates
Rules pick out candidate metrics, numbers and floor/target phrasing from the text.
- 3
Generative AI drafts
From the candidates and the original, it drafts the metrics, numbers and conditions together with evidence quotes.
- 4
Check against the original
The draft is compared with the original text to confirm it follows the rules under "Why it is hard" above.
- 5
Pre-publication gate
Versions that do not fit — for example, a quote containing a number while the value is empty — are stopped automatically.
- 6
Publish
Only versions that pass the check and the gate are published.
The previous policy stays until a new version passes
When a new annual securities report arrives, the previously published policy stays as-is until the new version passes the check. About 1,300 current or scheduled versions are still awaiting the check (as of October 20, 2026) and are not published until they pass.
4. How this differs from typical data
The shape commonly seen in benefit and dividend information, side by side with what ZENITH Code holds.
| Aspect | Typical data | ZENITH Code |
|---|---|---|
| Benefit conditions | The benefit's name and a single required share count | Items recorded per condition of record month × minimum shares × minimum holding years |
| Long-term holding bonus | Often buried in a note | Holding years as a condition column (about 51% of condition rows have one) |
| Changes and abolitions | Latest content only | Each version has a start date; scheduled, past and abolished versions are kept |
| Values | Where a value comes from may be unclear | Only values stated by the company; unstated values left blank |
| Dividend policy | A single payout-ratio number | Payout ratio, DOE, total return, progressive, floor amount and combined conditions kept separate, floors distinguished from targets, with quotes from the original |
| Evidence | Sources may not be shown | Based on the original text of timely disclosures, annual securities reports and company IR; content from external sites is not used |
"Typical data" generalizes commonly seen formats and does not refer to any specific service. A list of names and share counts does have the advantage of being easy to scan at a glance.
5. How we got here
Reaching the current form took 9 milestones in about a month. Each problem we found along the way was built into the process.
- 2026-09-20Started ingesting dividend policies (first automated run).
- 2026-09-21Published all dividend policies ingested up to that point.
- 2026-09-25After checking published versions against the original text, made pre-publication collation with the original mandatory.
- 2026-09-28Redesigned shareholder benefits as four layers: program → version → condition → item.
- 2026-10-01Started company-by-company review of benefits and a weekly cross-check against external information.
- 2026-10-02Started publishing benefit data.
- 2026-10-11Turned the benefit list into a daily, generation-stamped snapshot.
- 2026-10-16Enabled ingesting dividend policies from timely disclosures by newly listed companies.
- 2026-10-19Fixed a bug in the weekly cross-check and completed the first full run.
6. Using it via the API
What is available in the ZENITH Code API.
apiShareholder-benefit and dividend-policy endpoints
The structured data described on this page is available from four endpoints: one company's benefits (/stable/shareholder-benefits), the benefits list (/stable/shareholder-benefits-list), one company's dividend policy (/stable/dividend-policy), and the policy list with filters (/stable/dividend-policies). Benefits distinguish "yes / no / unconfirmed" and return only amounts the company states. Policies are returned with versions, effective periods and compound conditions as they are. Ratios are 0–1 decimals.
descriptionOriginal "Dividend policy" text from annual reports
The original text of the "Dividend policy" section of annual securities reports is available today from /stable/text-blocks. Set the tag parameter to dividend-policy. It returns the raw text, not structured data.
curl "https://api.zenithcode.net/stable/text-blocks?symbol=7203&tag=dividend-policy" \ -H "x-api-key: YOUR_API_KEY"
7. Caveats: how to read the data
We keep "unknown" and "none" as separate states so they never get mixed.
- check_circleWhether a company has benefits is one of three states: yes, no (confirmed), or unknown. Companies missing from the list or marked unknown are not treated as having no benefits.
- check_circleWe distinguish companies reviewed in full from those reviewed only in part (in the October 19, 2026 list, 1,642 companies were reviewed in full and 4 in part).
- check_circleA blank value means the company did not state one — it does not mean ¥0. About 61% of items have a value stated by the company (as of October 20, 2026).
- check_circleEvery version has a start date and is marked current, scheduled, past or abolished. Around record dates, check scheduled versions as well.
- check_circleA company without a numeric dividend target is "not stated", not "no policy".
- check_circleWhile a new version awaits the check, the previously published policy is shown.
8. FAQ
For investors and developers
Does a company missing from the list have no shareholder benefits?
No. The list contains companies whose benefits we have checked against official documents (1,646 companies as of October 19, 2026). This is not a coverage rate, and a missing company does not necessarily lack benefits. Companies confirmed to have no benefits are recorded separately as "no benefits (confirmed)".
Why is a benefit's value blank?
Because the company did not state a value for that item. We record only values the company states and never estimate. A blank does not mean ¥0.
Why does the content sometimes differ from benefit-information sites?
ZENITH Code relies only on the companies' own documents (timely disclosures, annual securities reports, company IR). We cross-check against external sites weekly, but only to find our own gaps and mistakes; external content never overwrites our data. Companies with differences are re-checked against the original.
How are long-term holding benefits represented?
Each condition row is record month × minimum shares × minimum holding years, so each holding period is a separate row. Conditions like "N years or more" or "listed on the register N consecutive times" are recorded as written and never converted into one another.
How often is the data updated?
New disclosures are picked up automatically every morning (05:30 JST for benefits, 05:00 JST for dividend policies). Versions are published only after being checked against the original, so there can be a delay between a disclosure and its publication.
Can I get this through the API?
Yes. Shareholder benefits are available from /stable/shareholder-benefits (one company) and /stable/shareholder-benefits-list (list); dividend policies from /stable/dividend-policy (one company) and /stable/dividend-policies (list). The original text of the "dividend policy" section of annual reports is also available from /stable/text-blocks (tag=dividend-policy).
For AI and researchers
Are dividend policies judged automatically by AI?
Generative AI is used to create drafts. Drafts are checked against the original text, and only those that pass the pre-publication gate are published. Versions that have not been checked are not published.
When using this for analysis or machine learning, how should "unknown" and "none" be handled?
Benefit status is one of three values: yes, no (confirmed), or unknown. Counting unknown or unlisted companies as "no" will underestimate the share of companies with benefits. Likewise for dividend policies, "not stated" is not the same as "no policy".
Can I reconstruct what applied at a given point in time?
Each benefit version has a start date and is marked current, scheduled, past or abolished. Past versions are kept as history, so you can trace which version was in effect on a given date.
Counts on this page are as of October 20, 2026 for benefits (listed companies as of October 19, 2026) and October 20, 2026 for dividend policies. Companies may change or abolish their benefits and dividend policies at their own discretion; always confirm the latest content in each company's disclosures. We do not guarantee the accuracy, completeness or timeliness of the data. This page is not a solicitation or investment advice; investment decisions are your own responsibility (see the Terms of Service).

