Bourse Conviction Score: Ranking Insider Purchases With Machine Learning
Why "the CEO bought" is not enough, which features separate strong insider purchases from noise, and how the Bourse Conviction Score ranks every Form 4 purchase from 0 to 100.
"The CEO bought shares" is the most repeated headline in insider data, and on its own it says little. Executives buy to signal calm after a drop, to meet ownership guidelines, or because they think the stock is cheap. The Bourse Conviction Score tries to separate those cases by ranking every open-market purchase (SEC Form 4, code P) from 0 to 100.
Key takeaways
- The score comes from gradient-boosted decision trees (the XGBoost algorithm) trained on Form 4 purchases in the Bourse database.
- It looks at context, not only the job title: how much the stake grew, whether other insiders bought the same week, how far the price is from its 52-week low, and whether insiders had been selling before.
- A score of 98 means the purchase ranked above 98% of purchases the model never trained on. It is a rank, not a promise of profit.
- Every score comes with the reasons and a sentence such as "the strongest signal on this stock since June 1, 2026".
What the model looks at
Twenty features describe each purchase: the buyer's role (CEO, CFO or chief accounting officer, president, director, 10% owner), the dollar size of the trade, the growth of the stake, how many other insiders bought within 7 and 30 days, whether two or more C-suite executives bought in the same week, days since this insider and anyone at the company last bought, insider selling in the prior 30 and 90 days, and three price features: distance from the 52-week low and high and the move in the month before the trade.
How it was tested
The label is simple: was the stock's return in the month after the purchase in the top 30% of all insider purchases that month? Training used the earliest three quarters of purchases; the test used the latest months the model never saw. On that holdout the model reached a ROC AUC of 0.64, and 46% of the top-scored tenth landed in the best 30% of their month, against 28% for all purchases. That is a useful sort order, not certainty, and the history is still short.
Where to see it
- In the app: More, Conviction Score.
- On the web: the Conviction Score page with the method and the highest scores from recent weeks.
- In the API:
GET /v1/conviction?min_score=90and theconviction_scorefield in/v1/insiders. - In Python:
bourse.get_conviction(min_score=90)from the bourse-quant package.
The score ranks public filings. It is not investment advice.
See these filings as they land
Bourse collects Congress trades, SEC Form 4 insider filings and 13F fund holdings in one live feed, and flags insider buying clusters automatically. Free to start.
Bourse provides financial data and editorial information, parts of which are generated by AI. This page is for general education only. It is not personalised investment advice or a recommendation to buy or sell any financial instrument. Make your own decisions.