# Item 703 Repurchase Evidence - Data Dictionary (item703-repurchase-evidence-2025-09-30-r1)

Every column of every buyer file is defined here, and every enumerated value is listed with the number of rows that carry it in `full/`.

## How to read a value

Each SEC column appears as six columns with one prefix (`total_shares_purchased_`, `average_price_paid_`, `shares_purchased_under_programs_`, `remaining_authorization_`):

| Suffix | Meaning |
| --- | --- |
| `_raw` | The cell text exactly as printed by the filer (whitespace trimmed only). Always the authority. |
| `_status` | How the cell was read (table below). |
| `_reported_value` | The number as printed, without any display scale. Empty unless status is VALUE. Never negative in this package. |
| `_display_scale` | A multiplier (1000, 1000000, ...) only where the filer's own table states one that governs this cell ("in thousands", "in millions"). Empty means none was stated or none could be placed safely. |
| `_standardized_value` | `_reported_value × _display_scale`. Empty when no scale applies. |
| `_scale_statement` | The filer's own text that set the scale, where recorded. |

A DASH, BLANK or NOT_APPLICABLE cell is never converted to zero.

**Column (d) has no single unit.** `remaining_authorization_*` is a remaining share count for some issuers and tables and an approximate remaining dollar amount for others (the same issuer can change over time). There is no unit column in this release: read `remaining_authorization_raw` (a "$" is a strong hint) and the display scale before summing or comparing column (d) across rows.

| SEC column | Definition |
| --- | --- |
| `total_shares_purchased_*` | (a) Total number of shares (or units) purchased. |
| `average_price_paid_*` | (b) Average price paid per share (or unit). |
| `shares_purchased_under_programs_*` | (c) Total number of shares (or units) purchased as part of publicly announced plans or programs. |
| `remaining_authorization_*` | (d) Maximum number (or approximate dollar value) of shares (or units) that may yet be purchased under the plans or programs. |

## reported_facts.csv

One row per released fact (69,161 rows), sorted by `filing_key` then `fact_id`.

| Column | Description |
| --- | --- |
| `fact_id` | `filing_key:row_index` - the row's position in the extracted table. Stable within this release only. |
| `filing_key` | `cik:accession_number`, joins to `filing_ledger.csv`. |
| `cik` | SEC Central Index Key of the filer (10 digits). |
| `security_ids` | Semicolon-separated Historical Cohort security_id(s) (PFHC-...) the filing is linked to through the cohort membership window. |
| `company_label` | The cohort's label for the issuer. |
| `accession_number`, `form_type`, `filing_date` | From SEC EDGAR. form_type is one of 10-K, 10-Q, 10-K/A, 10-Q/A. |
| `period_of_report` | The filing's verified period of report (periodVerification `effectivePeriodEnd`): the SEC metadata date where it agrees with or is plausible against the cover page, the cover-page date where the metadata is implausible. **Blank** when the period could not be established; it is never filled with an unverified date. |
| `sec_metadata_period_of_report` | The period of report in SEC EDGAR's filing metadata, exactly as recorded. Provenance only; it may be wrong (see the status). |
| `period_of_report_verification_status` | How `period_of_report` was established (table below). |
| `period_raw` | The row label exactly as printed. |
| `normalized_month` | YYYY-MM when the label (or its parent month for a sub-row) resolves to one calendar month; empty otherwise. Rows whose label explicitly names a longer span (quarter, three/six/nine months, 13/26 weeks, year-to-date) are never released. |
| `row_type` | See below. |
| `parent_period` | For MONTH_SUBROW / TOTAL_SUBROW, the label of the owning row. |
| `series_label` | A share class or series named by the table's own header, when the table reports more than one. |
| SEC columns | See "How to read a value". |
| `activity_status`, `component_structure`, `program_relation`, `economic_mechanism` | Persistfolio's classification of the row - an interpretation derived from the row's reported values, its label and the surrounding Item 703 text. They are not values reported by the issuer and not standardized SEC fields. See "Interpretation fields" below. |
| `classification_confidence` | HIGH or MEDIUM (REVIEW facts are not released). Describes the component/program classification; see below. |
| `source_document_url` | The SEC EDGAR primary document the row was read from. |
| `source_document_sha256` | SHA-256 of the exact bytes retrieved for that document in the certified run. |

### row_type
| Value | Rows | Meaning |
| --- | --- | --- |
| `MONTH` | 54,946 | A single-period row of the table (normally one calendar month). |
| `TOTAL` | 10,026 | The table's own total row. |
| `MONTH_SUBROW` | 3,604 | A sub-row under a month row (for example "Share repurchase program" / "Employee transactions"); `parent_period` names the month. |
| `TOTAL_SUBROW` | 585 | A sub-row under the total row; `parent_period` names it. |

### _status (all four SEC columns, counted per cell)
| Value | Cells | Meaning |
| --- | --- | --- |
| `VALUE` | 204,866 | A number was reported; `_reported_value` holds it exactly as printed (before any display scale). |
| `DASH` | 59,446 | The filer printed a dash (—, -, --). Not converted to zero. |
| `NOT_APPLICABLE` | 6,449 | The filer printed N/A or equivalent. |
| `BLANK` | 5,883 | The cell was empty in the filing. |

## Interpretation fields

`activity_status`, `component_structure`, `program_relation`, `economic_mechanism` and `classification_confidence` are **Persistfolio classifications**, derived from the row's reported (a)-(d) values, its label and the surrounding Item 703 section text. The issuer does not report them; they are not standardized SEC fields; and they can be wrong where a filer's table or wording is unusual. The reported cells are always the authority.

- `component_structure` compares the row's own column (a) (total purchased) with column (c) (purchased under publicly announced programs), as printed.
- `program_relation` restates `component_structure` from the program's point of view; it carries no independent evidence.
- `economic_mechanism` is assigned only from words - the row label or the section text - and never from the numbers. Most rows are UNKNOWN by design.
- `classification_confidence` is HIGH when `component_structure` could be determined and MEDIUM when it is UNKNOWN. It is not a confidence in `economic_mechanism`.

### classification_confidence
| Value | Rows | Meaning |
| --- | --- | --- |
| `HIGH` | 67,258 | component_structure (and therefore program_relation) was determined from the reported (a)/(c) values. |
| `MEDIUM` | 1,903 | Released, but component_structure is UNKNOWN. Confidence describes the component/program classification only - it is not a confidence in economic_mechanism and not a statement about the reported values. |

### activity_status
| Value | Rows | Meaning |
| --- | --- | --- |
| `EXECUTED` | 45,025 | A month (or month sub-row) whose column (a) is a positive number: shares were reported purchased in the period. |
| `NO_REPORTED_PURCHASE` | 13,525 | A month (or month sub-row) whose column (a) is a dash, blank, N/A or zero. |
| `SUMMARY_TOTAL` | 10,611 | The table's own total row (or a sub-row under it). |

### component_structure
| Value | Rows | Meaning |
| --- | --- | --- |
| `PROGRAM_ONLY_REPORTED` | 25,861 | Columns (a) and (c) are both numbers and are equal: as reported, every share purchased in the row was purchased under a publicly announced plan or program. A total row printing 0 in both columns also falls here. |
| `NONPROGRAM_ONLY_REPORTED` | 16,824 | Column (a) is a number and column (c) is 0, a dash, blank or N/A: the filer attributes none of the reported purchases to a publicly announced program. The row itself does not say what the purchases were (shares withheld for taxes, option exercises and similar are common). |
| `NO_REPORTED_PURCHASE` | 13,525 | The row reports no purchase (same rows as activity_status NO_REPORTED_PURCHASE). |
| `MIXED_PROGRAM_AND_OTHER_REPORTED` | 11,048 | Column (c) is positive and smaller than column (a): the row combines purchases under a publicly announced program with other purchases. |
| `UNKNOWN` | 1,903 | The two columns do not fit any of the above - most often column (c) is larger than column (a) (for example a cumulative program count or a different unit), or a total row whose column (a) is a dash or blank. These rows are released with classification_confidence MEDIUM. |

### program_relation
| Value | Rows | Meaning |
| --- | --- | --- |
| `ALL_REPORTED_IN_PUBLIC_PROGRAM` | 25,861 | Same rows as component_structure PROGRAM_ONLY_REPORTED. |
| `NO_REPORTED_PUBLIC_PROGRAM_PURCHASES` | 16,824 | Same rows as component_structure NONPROGRAM_ONLY_REPORTED. |
| `NOT_APPLICABLE` | 13,525 | Same rows as component_structure NO_REPORTED_PURCHASE: no purchase, so no program relation. |
| `PUBLIC_PROGRAM_ROW` | 11,048 | Same rows as component_structure MIXED_PROGRAM_AND_OTHER_REPORTED: the row includes public-program purchases alongside other purchases. |
| `UNKNOWN` | 1,903 | Same rows as component_structure UNKNOWN. |

### economic_mechanism
| Value | Rows | Meaning |
| --- | --- | --- |
| `UNKNOWN` | 34,593 | The default. No mechanism evidence was found in the row label or the Item 703 section text. It is never inferred from the numbers alone, so a row whose (a) equals (c) is not labelled open-market or programme repurchase on that basis. |
| `EMPLOYEE_EQUITY_PLAN` | 15,082 | INFERRED, not reported. Assigned either because the row's own label contains "employee" (for example "Employee transactions"), or - far more often - because the Item 703 section narrative or footnotes mention employees together with tax withholding or option-exercise language (and the passage is not an exclusion such as "excluding shares withheld"). The narrative inference applies to every purchasing row of that filing that has no label evidence of its own, so it also appears on rows whose shares were all purchased under the public program. Read it as "this filing indicates that some reported purchases relate to employee equity awards", not as a statement about the shares in this particular row. It does not mean the filing uses the phrase "employee equity plan". |
| `NONE` | 13,525 | The row reports no purchase. |
| `MIXED` | 5,933 | The row is MIXED_PROGRAM_AND_OTHER_REPORTED and the section text carries mechanism evidence for the non-program part (employee/withholding or redemption language): program purchases combined with other acquisitions. |
| `REDEMPTION` | 28 | The row label or section text uses redemption language ("share redemption program", "redemption requests", unit holders redeeming units), typical of non-traded REITs and limited partnerships. |

Of the 15,082 EMPLOYEE_EQUITY_PLAN rows, 1,760 carry "employee" in their own label; the rest were inferred from the filing's section text, and 5,343 of them are rows whose reported purchases were all under the public program.

### form_type
| Value | Rows | Meaning |
| --- | --- | --- |
| `10-Q` | 50,856 |  |
| `10-K` | 17,827 |  |
| `10-Q/A` | 306 |  |
| `10-K/A` | 172 |  |

## filing_ledger.csv

One row per filing inside an issuer's membership window (43,397 rows).

| Column | Description |
| --- | --- |
| `filing_key`, `cik`, `security_ids`, `company_label`, `accession_number`, `form_type`, `filing_date`, `period_of_report`, `sec_metadata_period_of_report`, `period_of_report_verification_status` | As above. |
| `disposition` | The filing's single final outcome (below). |
| `disposition_reason` | Why, in words, where the pipeline records one (always for REVIEW, RETRIEVAL_FAILURE, narrative and confirmed no-disclosure filings). |
| `clean_facts_released` | Rows of this filing in `reported_facts.csv`. |
| `facts_withheld_for_review` | Facts manufactured from this filing but withheld. |
| `withheld_review_reasons` | Semicolon-separated review reasons of the withheld facts (below). |
| `source_document_url`, `source_document_bytes`, `source_document_sha256` | The primary document and the exact payload retrieved. |
| `confirmation_document_sha256` | For NO_RELEVANT_DISCLOSURE: the hash of the independent second retrieval (always equal to `source_document_sha256`). |

### disposition
| Value | Rows | Meaning |
| --- | --- | --- |
| `PROCESSED` | 29,445 | Item 703 table located and extracted; facts were manufactured (some may be withheld for review). |
| `NO_RELEVANT_DISCLOSURE` | 8,056 | No Item 703 section in the primary document, confirmed by two independent byte-identical retrievals. |
| `UNADJUDICATED_NARRATIVE_DISCLOSURE` | 2,969 | Item 703 heading found, disclosure is narrative (no table); not converted into facts and not yet adjudicated. |
| `REVIEW` | 2,166 | Item 703 disclosure found but not safely extractable (table could not be mapped to the four SEC columns, every candidate table was refused, or the filing is in the evidence-adjudicated quarantine). Zero facts released. |
| `EXPLICIT_NO_PURCHASE` | 753 | The filing states in narrative that no shares were repurchased; no fact is manufactured. |
| `SCHEMA_GAP` | 7 | Quantitative repurchase evidence the four-column schema cannot represent; no fact is manufactured. |
| `RETRIEVAL_FAILURE` | 1 | The primary document could not be retrieved intact; not evidence of absent disclosure. |

### period_of_report_verification_status (both files carry the filing's status)
| Value | Filings | Meaning |
| --- | --- | --- |
| `AGREE` | 42,364 | The SEC metadata period of report equals the period stated on the filing's cover page. period_of_report = that date. |
| `UNPARSED_METADATA_PLAUSIBLE` | 766 | The cover page could not be parsed; the SEC metadata date is plausible for the form and filing date and is used. |
| `COVER_OVERRIDE` | 167 | The SEC metadata date is implausible and the cover-page period is plausible; period_of_report = the cover-page date (the metadata date is kept in sec_metadata_period_of_report). |
| `CONFLICT_UNRESOLVED` | 58 | Metadata and cover page disagree and neither can be preferred. period_of_report is BLANK. |
| `UNVERIFIED_IMPLAUSIBLE` | 21 | The cover page could not be parsed and the metadata date is implausible for the filing. period_of_report is BLANK. |
| `AGREE_WITHIN_3D` | 20 | Metadata and cover page differ by 3 days or less; the metadata date is used. |
| (blank) | 1 | Verification never ran because the document could not be retrieved (RETRIEVAL_FAILURE). period_of_report is BLANK. |

In `reported_facts.csv`: 77 released facts have a blank `period_of_report`.

### withheld_review_reasons (filings carrying each reason)
| Reason | Filings | Meaning |
| --- | --- | --- |
| `UNCERTAIN_MONTH_NORMALIZATION` | 6,242 | The row label could not be resolved to one calendar month. |
| `UNRECOGNIZED_ROW_LABEL` | 5,284 | The row label is not a recognised period or total. |
| `UNRESOLVED_DISPLAY_SCALE` | 2,474 | A scale statement exists but could not be placed on the cell safely. |
| `AMBIGUOUS_COLUMN_MAPPING` | 2,001 | A cell did not parse as the SEC column requires. |
| `MULTI_PERIOD_AGGREGATE` | 666 | The label names a multi-month span but carries one normalized month. |
| `SUSPICIOUS_COLUMN_MAPPING` | 569 | Values have a shape a correct mapping should not produce (a price-shaped value in (c) with (b) empty, or a whole number ≥ 10,000 as an average price). |
| `IMPOSSIBLE_REPORTED_VALUE` | 262 | A negative value in one of the four SEC columns. |

