Fortnite has over 400 million registered players. The game is free, but the cosmetics aren't — skins, emotes, pickaxes — and many of them are no longer obtainable. A skin that cost $12 in 2017 can now make an account worth $500+ on the resale market.
Third-party marketplaces host thousands of these accounts at any given time, priced anywhere from $20 to $5,000. But pricing is chaotic. Sellers guess based on vibes. Buyers have no way to verify. There's no Kelley Blue Book for Fortnite accounts.
We decided to build one.
The Dataset
We collected thousands of real listings across multiple major marketplaces. Each listing includes an asking price, platform, account type, and — for a large portion — a detailed skin inventory.
For over half the dataset, we had the full cosmetic inventory — every skin the account owns, cross-referenced against the official Fortnite API. This turned out to be the difference between a mediocre model and a useful one.
Starting Simple: What Baseline Models Tell You
Before reaching for XGBoost, we wanted to know how far simple approaches could go. We focused on accounts priced under $100 (85% of the dataset) where the data is dense enough for meaningful evaluation.
A few things jumped out:
Skin count alone gets you surprisingly far. A single feature — how many skins the account has — explains about 36% of price variance. This makes sense: more skins usually means an older, more invested account.
But the remaining features matter. Going from skin count to all 46 features nearly doubles R², from 0.36 to 0.62. And XGBoost's ability to capture non-linear interactions (like "Black Knight + high skin count = OG whale") pushes accuracy further to R² = 0.72.
~$10 average error on sub-$100 accounts is practical. For the $20–$100 range where most real accounts fall, the model's median error is about 20–30%. Not perfect, but enough to flag whether a listing is a deal or overpriced.
The Features That Actually Matter
The 46 features break down into: skin count, V-Bucks balance, platform (PC, PlayStation, Xbox, etc.), account type (OG, Stacked), and — the big one — 30 binary flags for high-value individual skins like Renegade Raider, Black Knight, Travis Scott, Galaxy, and IKONIK.
Sub-$100 Accounts
For most accounts, total skin count is the strongest single predictor. But individual rare skins are close behind — Travis Scott, The Reaper, and Black Knight each carry nearly as much predictive weight. Having one iconic skin can matter more than having a hundred common ones.
Expensive Accounts
For expensive accounts, the picture shifts dramatically. Rare exclusive skins like Galaxy, Wonder, and Aerial Assault Trooper dominate the feature importance chart. These are what separate $50 accounts from $500+ accounts.
Notice how "OG Account Type" appears at 4.9% importance in the full model but barely registers in the sub-$100 model. For cheaper accounts, actual skin ownership matters more than self-reported labels. For expensive ones, the OG label correlates with genuinely rare collections.
Where the Model Breaks Down
Here's where we have to be honest: the model only really works for sub-$100 accounts.
We also trained a full-range model covering the entire $20–$5,000 spectrum. It achieved R² = 0.14 — meaning it explains almost none of the variance in expensive accounts.
Why does it fail? The price distribution is brutally skewed. 85% of listings are under $100. The model simply doesn't have enough expensive accounts to learn from, and the factors that make an account worth $2,000 (complete OG collections, account history, specific skin combinations) are hard to capture with binary flags alone.
The accuracy-by-price-range chart tells the story clearly: the $20–$100 range is the sweet spot. Above $200, errors climb steeply. For whale accounts over $500, the model consistently underestimates — sometimes by 65%+.
This is a fundamental limitation, not a tuning problem. More data at the high end would help. So would richer features — emote counts, account creation date, Battle Pass completion history. But with the current feature set, sub-$100 is where this model is useful.
The Surprise: Marketplace Matters More Than Any Skin
Here's what genuinely surprised us. When we added which marketplace the account is listed on as a feature, it became the single most important predictor — beating every individual skin.
This needs unpacking:
The signal interpretation: Different marketplaces attract different buyer/seller demographics. One marketplace skews toward budget accounts, another toward premium. Sellers price based on what they see around them. Marketplace is a proxy for the audience and their willingness to pay.
The confound: Marketplaces have different fee structures, trust levels, and seller sophistication. Higher fees mean higher listing prices for the same account. Some of what the model attributes to "marketplace" might really be "fee structure" or "seller experience."
Either way, the practical implication is clear: the same account can be priced very differently depending on where it's listed. This led us to build per-marketplace models that predict what an account would sell for on each specific platform — which turned out to be more useful than a single universal price.
What We'd Do Differently
Log-transform the target. The price distribution spans two orders of magnitude. Training on raw prices means the loss function is dominated by the dense $20–$50 range. A log-transform would weight percentage errors more evenly.
Richer features for expensive accounts. Binary skin flags are a blunt instrument. The difference between a $200 and a $2,000 account often comes down to combinations of rare skins, Battle Pass completion, and account provenance — things that are hard to extract from a listing page.
The "OG" label is marketing, not data. Many sellers mark accounts as "OG" without having any genuinely rare skins. Early versions of the model trusted this label. Actual skin detection (does it have Black Knight?) is far more reliable than self-reported labels.
Data quality over quantity. Only about 58% of listings have detailed skin inventories. Getting more complete inventories would improve the model more than scraping more listings.
Try It
We built a free calculator at PriceMyGame.com where you can enter your skins and get an estimate. It uses the sub-$100 model by default — the one that actually works.
This article was also published on Medium.