Open data

The record, as data

Every verified move on the record and every seat on the roster, one row each, with the filing URL and the filing's own words. The files are rebuilt with every publication, from the same verified records the pages show.

456 moves, filed June 1, 2026 to November 6, 2026 · 831 seats, 10-Ks filed September 26, 2025 to October 26, 2026

Downloads

Cite and reuse

Free to use with attribution to CFO Tribune and a link to https://cfotribune.com, under the site's terms. Cite CFO Tribune and link the record: each row carries its own record_url.

CFO Tribune, https://cfotribune.com/data, accessed November 9, 2026

Data dictionary

One line per column, in file order. Empty means the record does not carry the value. Nothing is filled in by inference: what a filing does not establish stays unknown. See the methodology.

moves.csv and moves.json
companyCompany name as the filing prints it.
tickerExchange ticker, when the filing or EDGAR gives one.
cikSEC Central Index Key of the filer, 10 digits.
eventappointment, departure, interim or transition (one officer succeeding another).
person_inThe incoming officer, named in full as the filing prints the name. Empty for a departure.
person_outThe departing officer, named in full. Empty when the filing names none.
effectiveEffective date as printed (YYYY-MM-DD), or documented-unknown when the filing does not state one.
datePrecisionPrecision of effective: day, week or month. A hedged date ("on or around") is month.
filedDay the filing was made with the SEC (YYYY-MM-DD).
internal_promotiontrue if the incoming officer already worked at the company, false if hired from outside, unknown if the filing does not establish it. Empty for a departure.
filing_languageThe filing's own words about the change, verbatim.
source_urlThe filing on sec.gov.
source_kindKind of the primary source: filing for a document on sec.gov.
record_urlThis record on the site, with its sources and any corrections.
titleThe incoming officer's title as the filing prints it.
first_time_cfotrue or false only where the filing establishes it; unknown otherwise. An assistant or deputy CFO role does not count as a CFO seat. Empty for a departure.
prior_roleThe incoming officer's previous role as the filing states it. Empty when it does not.
prior_companyThe company of that previous role.
announcedDay the company announced the change, when the record carries one.
roster.csv and roster.json
companyCompany name as the 10-K prints it.
tickerExchange ticker.
cikSEC Central Index Key of the filer, 10 digits.
sectorThe filer's industry as EDGAR describes its SIC code.
cfoThe officer who signed the 10-K with a chief financial officer title, or documented-unknown when the signature page does not tie one.
titleThat officer's title, as conformed on the signature page.
as_ofDay the 10-K was filed (YYYY-MM-DD). The seat is established as of this day only; a later move on the moves file supersedes it.
sinceDay the officer took the seat, only when a filing states it.
first_time_cfotrue or false only where a filing establishes it; unknown otherwise.
source_urlThe 10-K on sec.gov.
source_excerptThe signature line, verbatim.
record_urlThe company's page on the site.

Also computed from these records: monthly and weekly reports · Feeds: RSS, moves, analysis