FlyRank AI — Machine Learning Intern
hands-on ML on production search data
My work centred on one question from the business side: which pages deserve a human's attention for a content refresh? I framed it as a ranking problem, engineered the feature set, trained and evaluated the model, and turned its output into something reviewers could actually work through.
Content Refresh Prioritization capstone
notebooks & code →Can observed content and search-performance signals rank pages by priority for human refresh review?
Data
- FlyRank internship warehouse, July 2026 release
- ~30,000 content-page records
- 44 original columns → 32 modeling features
- Numeric and categorical signals combined
Method
- Random Forest Classifier — 300 trees, class-balanced
- Client-grouped train/test split; no client leakage
- Feature engineering; target/leakage variables excluded
- Ranking-oriented evaluation (Precision@K)
Results — Precision@K
| model | P@20 | P@50 |
|---|---|---|
| random forest | 0.70 | 0.68 |
| rule-based baseline | 0.40 | 0.36 |
| improvement | +0.30 | +0.32 |
Strongest signals
impressions (90d) · avg. search position · days with impressions · content age · character count · word count · ctr · pageviews (90d) · scroll rate · days with sessions
Predictions ship as a ranked review queue with priority tiers and reason codes, so reviewers start with the pages most worth their time.
This is a decision-support ranking system. It does not claim that refreshing a page will automatically improve SEO — humans make the final call.