KeptIndex data
The record of what companies said they would do, and what happened.
A structured, source-cited dataset of dated corporate commitments from SEC filings: the original wording, every later restatement, the evidence, and the outcome. Built for research teams that need to know whether management delivers.
Snapshot of 27 Oct 2026: of 10,651 deadlines checked, 7,319 have a clear outcome and 3,332 no public record; 5,609 outcomes are confirmed by agreeing independent AI checks and 4 by a person so far, with human review under way; every record says which (review_status). Delivery dates carry their precision (delivered_precision), so a month in the source stays a month in the data. Updated with every daily run. The ten-year history of S&P 500 companies, including those that have since left the index, is being added now, starting with the S&P 100. See the coverage and quality report.
Human review in progress
Checked by AI first, now being reviewed by people
Every record is read from the SEC filing under fixed, published rules, and new quotes are checked word for word against the source, with any that cannot be found held back. In October 2026 we began reviewing records by hand against both source documents, starting with the companies our customers order, and the review team is growing. Each entry carries its review status, so you can always see exactly what has been checked and how.
- 1 · Read from the sourceAI extracts the promise and the outcome from SEC filings; quotes are checked against the source.
- 2 · Independent AI checks5,609 outcomes confirmed by agreeing, independent checks on primary evidence.
- 3 · Human reviewReviewers check identity, scope, deadline, evidence, conditions and history. 4 outcomes person-checked so far, and growing every week.
- 4 · Paid reports: 100% person-checkedEvery record in a person-checked report is reviewed by a named analyst before it is delivered. Reviewer and date are stated.
Labels you will see: ✓ Person-checked AI-confirmed · human review in progress AI-assessed · human review in progress. What each label means · See a worked example
What it is used for
Management credibility
How often a company's announced dates hold, measured the same way for every company, from its own filings.
Research and back-tests
Outcomes record the date their evidence became public. That date is known for 65% of checked records so far (6,920 of 10,651); the rest are dated as they are rechecked. Leave records without it (knowledge_date_known = false) out of point-in-time tests.
Credit and underwriting
Whether a borrower's or insured company's project promises have held before, with the sources.
Diligence and monitoring
Open commitments, revised deadlines and cut targets for any portfolio or coverage list.
What each record contains
- A permanent citation ID (e.g. KI-C-2024-NVDA-000417) that never changes.
- The company's own words, the filing date and a link to the SEC document.
- Commitment DNA: deliverable, target, amount, place, conditions, dependencies, controllability and wording strength. Filled only when the company stated them.
- Lineage and drift: every later restatement, and deadline, scope and language drift.
- The outcome on a published 10-state scale, with graded evidence and the date it became public. No evidence is never recorded as failure.
Delivered weekly as CSV and JSON Lines, with the full evidence list and every version of each commitment. 60 fields, specification KCS-0.1.
Commitment Calendar
Dated milestones that US-listed companies have announced in their SEC press releases and not yet reached: product launches, trial readouts, regulatory submissions, deal closings, plant openings. Each comes with the company's own words, the SEC source, any revisions and days to deadline. Updated daily as a file for your team.
1,165 open commitments due within a year today; 778 in the next 90 days, 69 in the next 30. From $500 a month, or a 90-day pilot for $1,500.
By sector: Health Care 368, Materials 135, Industrials 115, Energy 104, Financials 103, Consumer Discretionary 86, Information Technology 78, Utilities 52, Real Estate 44, Communication Services 41, Consumer Staples 30, Not yet classified 9. Available for a whole sector, an industry or your own coverage list.
Institutional evaluation
One sector or a coverage list of 20–50 tickers for 90 days: a frozen historical evaluation file with an as-of date, field-level completeness for your tickers, the data dictionary, weekly updates and a walkthrough of the methodology. We agree two measurable use cases and an acceptance test with you at the start, and you have a say in which companies and sectors we cover next. From $2,500 for 90 days, credited in full against an annual licence. Limited to 5 partners.
Free sample
100 records in the same format as the full dataset, in two labelled sets (column sample_set). Showcase: confirmed outcomes of every type (met, late, partly met, not met, withdrawn), grade A or B evidence, timing the evidence settles, at most two per company, person-checked records first. Unresolved examples: a few records where the public record was silent, so you can see how those are labelled; they are never counted as failures. The showcase is curated to show the format and evidence standard; it is not a statistically representative sample. For a representative evaluation on your own tickers, request a pilot. Licensed for evaluation only.
Data dictionary
| Field | Type | Meaning |
|---|---|---|
ki_id | id | Permanent KeptIndex identifier, e.g. KI-C-2024-NVDA-000417. Never changes or is reused. |
company | text | Company name as filed with the SEC. |
ticker | text | Current exchange ticker, where known. |
cik | id | SEC Central Index Key of the issuer. |
sector | text | GICS sector for S&P 500 companies; for others, a broad sector derived from the SEC industry (SIC) code. |
sector_source | enum | GICS (from the S&P 500 list) or SIC (derived from the company's SEC industry code). |
industry | text | The company's SEC industry description, e.g. 'Pharmaceutical Preparations'. |
sp500_member_at_announcement | bool | Whether the company was in the S&P 500 on the announcement date (point-in-time; blank if not a covered S&P 500 company). |
former_sp500_member | bool | True for companies that have since left the S&P 500. Kept in the record so back-tests are free of survivorship bias. |
category | enum | product, facility, project, transaction, regulatory or other. |
event_type | enum | Kind of milestone, from published word rules: e.g. clinical_readout_late, regulatory_submission, acquisition_close, production_start, facility_opening, commercial_launch. |
materiality | enum | Indicative significance from the event type: low, medium, high or transformational (rules v0.1; not used in the Kept Score). |
commitment | text | Neutral paraphrase of what the company said it would do. |
quote | text | The company's own words, quoted from the source. |
announced_date | date | Filing date of the press release that made the commitment. |
deadline | date | Last day of the period the company stated (e.g. 2026-06-30 for 'Q2 2026'). |
deadline_text | text | The time phrase exactly as written. |
deadline_precision | enum | day, month, quarter, half or year. |
source_url | url | The SEC document the commitment comes from. |
filing_index_url | url | The SEC filing index page. |
status | enum | pending, kept, late, partial, not_met, withdrawn, superseded, condition_failed or unresolved. |
outcome_code | enum | Permanent outcome code, e.g. DELIVERED_ON_TIME, CONFIRMED_NOT_DELIVERED, NO_PUBLIC_EVIDENCE. |
counts_in_kept_score | bool | Whether this outcome counts in the Kept Score under the published methodology. |
delivered_date | date | When the deliverable happened, where the evidence states it. Read with delivered_precision: for 'month' or 'quarter' this is the first day of the period, not the day of delivery. |
delivered_precision | enum | How precisely the evidence dates the delivery: day, month, quarter, or reported (no date in the evidence; it happened on or before delivered_date). Never more precise than the source. |
delivered_earliest | date | Earliest date consistent with the evidence (blank for 'reported'). |
delivered_latest | date | Latest date consistent with the evidence. |
timing_settled | bool | False when the evidence dates delivery only to a month or quarter that spans the deadline, so it cannot settle on time vs late; such records are in the human review queue. |
evidence_date | date | Filing date of the decisive evidence: when the outcome became public. Use this for point-in-time work. |
resolved_date | date | When KeptIndex recorded the outcome. |
outcome_summary | text | One neutral sentence on what the evidence shows. |
evidence_strength | enum | Best evidence grade: A (regulatory/government), B (exchange/company), C (journalism/trade), D (other). |
evidence_count | number | Number of evidence sources recorded. |
evidence_url | url | The strongest evidence source. |
action | text | Commitment DNA: the verb (open, launch, complete, close...). |
deliverable | text | Commitment DNA: what is to be delivered. |
target_value | number | Commitment DNA: numeric target, only if stated. |
target_unit | text | Commitment DNA: unit of the target. |
financial_amount | number | Commitment DNA: money amount, only if stated. |
financial_currency | text | Commitment DNA: currency of the amount. |
geography | text | Commitment DNA: place named, if any. |
conditions | list | Commitment DNA: conditions stated by the company, separated by '; '. |
external_dependencies | list | Commitment DNA: outside parties delivery depends on (regulatory, customer, financing...). |
controllability | enum | Commitment DNA: high, medium or low — how far delivery is in the company's own hands. |
specificity | enum | Commitment DNA: high, medium or low — how precisely deliverable and date are defined. |
commitment_strength | enum | Commitment DNA: firm ('will'), expected ('expects') or aspirational ('aims'). |
versions | number | How many times the company stated this commitment (1 = never restated). |
deadline_drift_days | number | Days between the original and latest stated deadline (positive = later). |
scope_drift_pct | number | Percentage change in the stated target between first and latest version. |
language_weakened | bool | Whether the wording weakened between versions. |
coverage | enum | history (read back from 2016) or live (recorded as announced). |
extract_confidence | number | Model confidence in the extraction, 0 to 1. |
verify_confidence | number | Model confidence in the outcome, 0 to 1. |
checked_by | text | How the outcome was established (SEC filings or web search) and which model. |
outcome_confirmed | bool | Whether the outcome is confirmed, by agreeing independent AI checks on grade A or B evidence or by a person. See confirmation_method. Only confirmed outcomes count in a Kept Score. |
confirmation_method | enum | person (a named reviewer decided it), ai_agreement (independent AI checks agreed on primary evidence; three for a negative finding) or blank (not yet confirmed). These are different assurance levels and should not be treated as interchangeable. |
review_status | enum | human_reviewed (a named analyst checked it against the source), model_agreed (independent AI checks agreed; human review in progress), extracted (AI-assessed; human review in progress), disputed (challenged; being re-examined) or open (deadline not passed). |
knowledge_date_known | bool | Whether evidence_date is recorded. Records without it should be left out of point-in-time back-tests. |
correction_count | number | How many logged corrections the record has (withdrawals, restorations, outcome changes). |
last_corrected | date | Date of the most recent logged correction, if any. |
How outcomes are decided and how the Kept Score counts them: methodology.