00

Methodology: what this catalog admits, and what it leaves out

Last updated 7 September 2026

What this page is

Every figure ebomi shows is the output of a filter, and a filter nobody can read is a black box wearing an open-source label. This page states the filter. It names which SEC forms reach the catalog, the rules each transaction line is tested against and the reason for each one, how a filing's shares and average price are computed, which reporting owner's role leads a filing that has several, and how much of EDGAR's own record all of that adds up to. The counts on this page are read from the store as the page is served, so they cannot drift away from what the catalog actually holds. How ebomi works is the companion page and answers a different question: where the data comes from and what the service does with it.

Which forms are admitted

The loader applies no rule about form type at all. A filing reaches the catalog when at least one of its transaction lines survives the rules in the next section, whatever the form the SEC filed it under. That is a deliberate position rather than an oversight, and it has a consequence worth stating plainly: this catalog is not Form 4 only, and pages that say Form 4 are naming the overwhelming majority rather than the whole.

What the catalog holds today, counted as this page was served:

Form 5 is an annual statement of transactions that were exempt from the two-day Form 4 deadline, and Form 5/A is its amendment. A Form 5 carrying an open-market purchase or sale is reporting a real open-market trade, so this catalog keeps those filings and says so here rather than dropping them: excluding a trade because of the cover sheet it arrived on would remove data the reader came for. Forms 3 and 3/A are initial statements of beneficial ownership and normally report holdings rather than trades, so they are admissible in principle and in practice almost never survive the rules below.

The rules every line is tested against

These are the loader's own guards, in the loader's own order, each with the short name the reconciler uses when it reports a line as excluded. They are read from tools/layline_core.py as this page is served rather than transcribed, so a rule added to the load cannot quietly fail to appear here. A line failing any one of them is not stored, and a filing with no line left after them is not stored at all.

  1. A row that reports a holding rather than a trade. A Form 4 line can state how many shares an insider ends up holding without reporting any transaction at all. Such a line carries no transaction code, no price and no transaction date, so there is nothing to date, nothing to price and nothing to report. Reported as holding-not-a-trade.
  2. A line whose stated value is impossible. Ten billion dollars in a single insider line is a filing typo rather than a trade. One such row distorts every sum and every ranked list it lands in, so the line is left out and the rest of the filing is kept. Reported as value-over-1e10.
  3. A transaction dated after its own filing. A trade cannot be reported before it happens. A transaction date later than the date the filing was made is an error in the source, and it would place a trade in the future on every timeline that reads it. Reported as date-after-filing.
  4. A transaction dated before 1900. The other end of the same mistyped year. EDGAR's electronic record does not reach back that far, so a nineteenth-century transaction date is a typing error rather than history. Reported as date-before-1900.
  5. A line with no filing date. The filing date is what places a trade on the tape and inside any window a statistic is computed over. A line without one cannot be ordered against anything else. Reported as no-filing-date.
  6. A line with no accession number. The accession number is the SEC's own identifier for a submission, and it is this catalog's primary key. A line carrying none cannot be linked back to the original document on sec.gov, which is the promise every page here makes. Reported as no-accession.
  7. A transaction code other than P or S. This is the product's own decision rather than a data guard, and it is the largest exclusion by far. Only open-market purchases, code P, and open-market sales, code S, are kept. Grants, option exercises, gifts, tax withholding and the remaining codes are the compensation and administrative machinery that this catalog exists to separate from discretionary trades. Reported as not-open-market.
  8. A derivative line, reported in Table II. Options, warrants and other derivative instruments are reported in a Form 4's second table. ebomi reads the non-derivative table only, so a derivative line never reaches the catalog even when its code would otherwise pass. Reported as derivative.

Open market only, and why

Two of those rules carry almost all of the exclusion, and they are one product decision rather than two data guards. Only non-derivative lines are read, meaning the first table of a Form 4 rather than the options and warrants reported in the second, and within that table only transaction code P for an open-market purchase and S for an open-market sale.

Everything else an insider files is compensation and administration: a grant, an option exercise, shares withheld to pay tax on a grant, a gift, a transfer between accounts. Those are the company paying somebody, and they happen on a schedule the insider mostly does not choose. A purchase or a sale on the open market is a decision made with the insider's own money at a price the market set that day, and separating the two is the entire editorial premise of this product. It is also why a headline elsewhere about an insider "buying" can be an award, and why the same filing can look very different here.

The cost of the decision is stated rather than hidden. Every transaction the catalog does not hold is one a reader can still find in the original document, which every filing page links to on sec.gov, and no page here should ever be read as a complete account of an insider's activity.

How a filing's shares and price are computed

One filing can report many transaction lines, so ebomi aggregates them per filing and per side. All surviving purchases in a filing are summed into one purchase total, all surviving sales into one sale total, and a filing reporting both keeps both rather than netting them into a single direction.

The volume-weighted average is a summary of one filing and nothing more. It is not a benchmark, not a price the insider was necessarily able to obtain across the whole block, and not comparable to a daily VWAP computed from market data, which this site does not hold.

Whose role leads a filing

A single filing can report several owners, and one owner can tick several role boxes. Where a page has room for one role it takes the first that applies, in Form 4's own checkbox order, which is the order the SEC prints on the form:

The order is read from the same code the catalog pages use, so this list and the marks on a filing page cannot disagree. Every role the filing states is kept and shown in full where there is room for it, and in the machine-readable feed; the order decides which one leads, never which ones are recorded.

One inconsistency, named rather than smoothed over

An alert email's subject line does not use this order. The body does: it labels an owner with the same first-applicable rule the catalog pages use, so an owner who is both a director and an officer reads "Director" in the body exactly as on this site. The subject line is chosen separately, by _best_role_from_owner in email_templates/insider_alerts.py, and that rule prefers officer over director, so the same owner is called an "Executive" there. It decides one word in one subject line, it changes no figure, no filing and no record, and reconciling it with the body is outstanding work.

How much of EDGAR this is

Two numbers, and they answer two different questions. Both are computed from the days this store has checked against EDGAR's own daily index, 2,045 of them, from 2021-01-01 to 2026-08-07. EDGAR published 1,026,726 Form 4 filings across those days and this catalog holds 295,755 of them.

Read the two together or neither. The first alone understates what this catalog is for; the second alone would read as completeness and it is not. There is a further gap above both of them that is not ours and that we do not size: the source extract is itself derived from EDGAR and can miss filings outright, so the chain is EDGAR, then the extract, then the rules on this page, and only the last is a decision we made.

Amendments, and the span

An amendment is kept. A Form 4/A or 5/A is stored as its own filing beside the one it corrects rather than replacing it or being dropped, and it is preferred at read time where the two describe the same event, so a reader sees the corrected figure and can still reach the original. Dropping amendments would show the reader precisely the number the filer went back and fixed. A consequence follows and is stated rather than left to be discovered: some amendments in the catalog point at an original filing the catalog does not hold, because that original had no open-market line to survive the rules above.

The catalog holds approximately 1,506,293 filings and approximately 4,290,787 transaction lines, filed 2003-06-30 to 2026-09-04. These are the same figures the catalog stands on, read as this page is served, so the two pages cannot disagree, and "approximately" means the database's own statistics rather than an exact count, because a table this size is not counted on every page load.

Source: the Layline insider extract, CC0-1.0, last loaded into this catalog 2026-09-05 05:24 UTC. Cite as Balogh, A. Insider trading. Scientific Data 10, 237 (2023), doi:10.1038/s41597-023-02147-6.

Something here does not match what you observe

Write to [email protected], and say which filing. A rule that turns out to be wrong is worth more to this project than a page that stays tidy. For provenance and the limits of the service itself, see How ebomi works.