Form 144 is the notice an affiliate of a public company files when they intend to sell restricted or control stock. Form 4 is the report of the sale after it happens. One is a statement of intent and the other is a record of execution, and both are public. The obvious question is how often the intent becomes an execution, and the claim we set out to test was: most Form 144 notices are followed by a Form 4 sale within 30 days.
The data does not support it. Matching on person and issuer, 41.3% of notices have a Form 4 open-market sale (transaction code S) in the window. The rest of this post is the method, the breakdowns, and what the notices without a match can and cannot mean.
Universe and method
The notices are Form 144 filings with an approximate sale date from 2024-01-01 through 2026-09-19 (30 days before the query date, so every notice has had a full window to complete). We exclude gifts and notices we could not map to a symbol. That leaves 96,851 notices across 3,605 symbols. The executions are every Form 4 row with transaction code S over the same period.
A notice counts as completed if the same person filed a Form 4 sale at the same issuer with a transaction date from 5 days before the notice's approximate sale date to 30 days after it. The five-day lead is deliberate: the notice is due when the sell order is placed, but the approximate date is the seller's own estimate, and Form 4 reports the trade date.
Names are the weak point. The two filings spell a person differently, with middle initials, suffixes and trust names in different places. We ran two matches. The exact match upper-cases both names and strips everything that is not a letter, then requires equality. The looser one compares only the first two name tokens ("Cox John" against "Cox John A"). Exact equality is a floor: it cannot match a person to themselves across a spelling change.
-- n: Form 144 notices, t: Form 4 sales, both with a name key k2
-- (first two tokens of the upper-cased name, letters only)
SELECT count(*) AS notices,
count(first_k2) AS completed,
round(100.0 * count(first_k2) / count(*), 1) AS completed_pct
FROM (
SELECT n.id, min(t.td) AS first_k2
FROM n LEFT JOIN t
ON t.symbol_id = n.symbol_id
AND t.k2 = n.k2
AND t.td BETWEEN n.d - 5 AND n.d + 30
GROUP BY n.id
) m;The full queries, including the CTEs that build the name keys, and the raw results are in the research folder of the repository for this post.
The completion rate
Of 96,851 notices, 39,552 (40.8%) match under exact name equality and 40,039 (41.3%) under the first-two-token match. Loosening the name key added only 487 matches, so the spelling problem is real but small. The rate is 40 to 41 percent either way.
We also checked whether the 30-day cut was hiding a long tail. For notices old enough to have 95 days of follow-up (89,633 of them), a window out to 90 days gives 43.2% against 42.3% for 30 days. Waiting longer adds under a point.
How fast: the same day
Among the 40,039 matched notices the timing is not spread over 30 days at all. The first matching sale falls:
- 19.4% — before the approximate sale date (up to five days earlier).
- 76.4% — on the approximate sale date.
- 1.7% — one or two days later.
- 1.2% — three to seven days later.
- 0.6% — eight to fourteen days later.
- 0.8% — fifteen to thirty days later.
The median gap is zero days. This follows from how the notice works: 92.9% of notices carry an approximate sale date equal to the filing date, so the Form 144 is filed at the moment the order goes in and the sale usually executes that day. Few matched sales arrive later: if a Form 4 sale is going to show up, it is almost always already there on the notice date. The Form 144 reaches the tape ahead of the Form 4, which is not due until two business days after the trade, and that lead is what the feed is for.
By relationship to the issuer
The `relationship` field on the notice splits the rate cleanly. We bucket it with 10% holder first, then officer, then director, then former insiders, then everything else. Under the first-two-token match:
- Officer: 45.9% of 64,960 notices.
- Director: 42.8% of 17,656.
- 10% holder: 33.4% of 3,961.
- Other or unknown (affiliates, entities, remarks-only): 17.0% of 7,367.
- Former insider: 2.1% of 2,907.
The last row is mostly a reporting rule, not a behavior. Someone who has left the company stops filing Form 4, so their completed sales are invisible to us even though Form 144 still applies to them. The same is true in part for the 10% holder and other rows, where the seller is often a fund or other entity that files Form 4 under a different name than the one on the notice. For officers and directors, who are the people Form 4 was written for, the rate is 42.8% to 45.9%.
By notice size
Size is `aggregate_market_value`, the notice's own dollar figure. The rate falls as the notice gets bigger:
- Under $100k: 43.4% of 23,974 notices.
- $100k to $1M: 43.2% of 42,628.
- $1 million to $10 million: 38.5% of 24,368.
- $10 million and over: 30.9% of 5,881.
The small buckets are flat and the drop is in the top two. One reading is that large notices are more often filed by entities or trusts that our name match misses. Another is that large sellers file a notice and then wait for a price. We cannot separate those from this data, and we do not serve prices, so we do not try.
Do they sell what the notice says?
For matched notices with a positive share count (40,038), we compared the shares on the first matching Form 4 day to `shares_to_be_sold`. The median ratio is exactly 1.0. 72.5% of pairs land within 5% of the notice, 16.3% sell more than 5% under it, and 11.2% sell more than 5% over it. When an insider sells, they usually sell what they said, on the day they said it.
Querying it
Both feeds are public endpoints. The notices carry `seller_name`, `approx_sale_date` and `shares_to_be_sold`; the executions carry `reporter`, `transaction_date` and `shares_transacted`, filtered to code S:
# Proposed sales over $1M, most recent first curl -H "Authorization: Bearer $HEDGEFRIEND_KEY" \ "https://api.hedgefriend.dev/v1/sec/form-144?min_value=1000000&from=2026-09-01" # Executed sales for one issuer curl -H "Authorization: Bearer $HEDGEFRIEND_KEY" \ "https://api.hedgefriend.dev/v1/sec/insider-trades/TICKER?transaction_code=S&from=2026-09-01"
Joining them client-side is a name match on `seller_name` against `reporter` plus a date window, which is what the queries above do in SQL. The same join is the pending-sale view: a notice with no matching sale yet, inside the first few days, is an open item.
Caveats
A notice with no matching Form 4 is not a sale that did not happen. The ways it can be a miss, none of which we can count separately:
- The name match failed. The first-two-token match found 487 more, and there are certainly some it still misses: a name change, a different order, a trust or LLC as the Form 4 reporter.
- The Form 4 reports the sale under a code other than S, or on a date outside the window. Sales under a 10b5-1 plan, or a sale reported late, can fall outside.
- The seller no longer files Form 4, which the former-insider row shows is a large effect.
- The sale did not happen. Rule 144 gives the seller a window to sell, and many do not use it.
The opposite error also exists. A frequent seller can match a notice with a sale that belongs to a different notice. To size it we ran a placebo: the same match against a window 60 to 95 days after the approximate sale date, where the notice says nothing. It matches 16.2% of notices. Some of the 41.3% is therefore the same person selling anyway, and the real completion effect is smaller than the headline. We have not subtracted it, because the placebo is a rough bound rather than a correction.
Because of these, 40.8% is a floor for completion by this definition, and 41.3% is our best estimate with a name match, not a measurement of intent. We also make no claim about prices or returns. The comparison here is between two filings, not between a filing and a stock move.
What it supports
The data supports a narrower claim than the one we started with: when a Form 144 is followed by a Form 4 sale, it is nearly always the same day, in about the size the notice stated, and officers and directors do it more often than 10% holders or anyone who has left. It does not support "most notices complete". Anyone building on the pairing should treat a missing Form 4 as unknown rather than as a cancelled sale.
The free tier covers 500 requests a day — enough to reproduce anything in this post.
Get a free key