InsiderScore, explained
Every SEC Form 4 transaction gets a single signed number from −100 to +100 on HoldLens. Here's exactly how it's computed — and the half of insider trades that get filtered to nearly zero signal.
Why score insider trades at all?
A CEO buying $500k of their own stock, a CFO selling 60% of their position via a quarterly 10b5-1 plan, and a director receiving an annual stock grant are all technically insider transactions. They all show up on SEC Form 4. They all hit our ingestion pipeline within 24 hours of EDGAR publication.
But they are not equivalent signals. Treating them as equivalent would drown the discretionary buys (the ones that historically have predictive value) in routine compensation noise. InsiderScore is the formula that separates them.
The InsiderScore formula
Deterministic. Reproducible. No machine learning.
InsiderScore = role_weight(officer_title)
× action_weight(transaction_code)
× size_weight(value / officer_historical_avg)
× cluster_bonus
× recency_decay
(clamped to [−100, +100])1. Role weight
Different officer titles carry different signal levels. The CEO and CFO have the most complete inside view; directors see a board-level view; 10%+ owners are big shareholders but often less informed about operations.
| Role | Weight |
|---|---|
| CEO / Founder-CEO | 1.00 |
| CFO | 0.85 |
| Chairman | 0.80 |
| President / COO | 0.70 |
| Director | 0.55 |
| 10%+ owner | 0.45 |
| Other officer (SVP, GC, etc.) | 0.40 |
2. Action weight (the most important factor)
The SEC Form 4 transaction code is the single most powerful filter we apply. Two pieces of common wisdom drive the weights:
- "Insiders sell for many reasons; they buy for one." Discretionary buys (code P) carry the strongest signal. Sells can be diversification, tax, divorce, planned spending — any of a hundred non-thesis reasons.
- 10b5-1 sales are pre-arranged, not opportunistic. A 10b5-1 plan is set up months in advance. The insider can't time it on news. So a 10b5-1 sale (code S with the 10b5-1 flag) carries far less information than a discretionary sale on the same day.
| Code | Action | Weight |
|---|---|---|
| P | Open-market purchase (discretionary) | +1.00 |
| S | Open-market sale (discretionary) | −0.70 |
| S (10b5-1) | Pre-scheduled sale | −0.15 |
| A | Grant / award (compensation) | 0.00 |
| M | Option exercise | +0.05 |
| F | Tax withholding on vesting | 0.00 |
| G | Bona-fide gift | 0.00 |
| D | Disposition to issuer | −0.10 |
Translation: an open-market CEO buy (P × 1.00) gets multiplied by +1.00; an annual director grant (A × 0.55) gets multiplied by 0.00. The grant scores zero. That's the whole point.
3. Size weight
A $1M buy from a CEO who normally trades $5k positions is a vastly stronger signal than a $1M buy from a CEO who routinely trades $50M positions. Size weight normalizes against each insider's 12-month historical average:
size_weight = log10(transaction_value / officer_avg) + 1
clamped to [0.5, 2.0]A trade equal to historical average gets size_weight = 1.0. A 10× outlier gets 2.0 (the cap). A tiny trade (1/10th of average) gets 0.5 (the floor).
4. Cluster bonus
Multiple officers at the same company trading the same direction within a 30-day window is the single highest-signal pattern in insider data. The cluster bonus multiplies the score by 1.5 when ≥3 officers act in the same direction within 30 days, capped at 2.0 for ≥5 officers. See cluster buy in the glossary for the full definition.
5. Recency decay
A trade made yesterday carries more signal than one made 3 months ago. Recency decay halves the score over 90 days, zeros it out after 240 days. This is how stale insider data gradually fades out of per-ticker InsiderScore aggregates.
What InsiderScore is NOT
- Not a prediction. A high positive InsiderScore means "this insider, in this role, made this discretionary trade at this size, and historically that pattern has carried information." It does not mean "the stock will go up." See disclaimer.
- Not anti-shorting / anti-trading. Selling carries valid signal too — just less than buying. We score sells, we don't ignore them.
- Not 10b5-1-blind. 10b5-1 sales DO show up; they're scored at ~20% of discretionary-sale weight. They're not zero — a cluster of 10b5-1 sales right before bad news is still a pattern, just a much weaker one.
- Not anti-grant. Stock grants and option exercises score near zero — but they ARE in the data. We don't pretend they happened to a different person.
Per-company aggregation
Each ticker's overall InsiderScore is the recency-weighted sum of all per-trade scores in the last 240 days, divided by trade count, with cluster bonuses applied across the rolling window. New discretionary buys push the aggregate up; old grants fade quietly. Tickers with no recent insider activity show InsiderScore = null (absence ≠ neutral).
Where to use InsiderScore
- /insiders/ — the full insider-activity hub
- /insiders/live/ — chronological firehose of recent Form 4 filings
- Per-ticker pages (e.g., /ticker/AAPL/) show the ticker's InsiderScore alongside its ConvictionScore (13F) and EventScore (8-K). Read all three together — see The SEC Signals Trilogy. For the head-to-head between Form 4 and 13F specifically — speed, scope, signal strength — see Form 4 vs 13F.
The honesty trail
Every per-trade row on /insiders/ links back to its source SEC Form 4 filing by accession number. If a trade looks mis-scored, click to the source filing and verify. If you find an error — wrong role classification, wrong action code, wrong 10b5-1 flag — email contact@editnative.com and we correct verified errors within 48 hours.
Full role-weight + action-weight tables, edge cases (joint-officer titles, derivative instruments, gifts to charity), and the cluster-detection algorithm pseudocode live in the methodology page.