Skip to content
Transparency

Methodology — STI 30/100/500/1000 and Cases

TL;DR
  • 7 proprietary indices for the CS2 skin market, modeled on the S&P Dow Jones standard (market-cap weighted, divisor adjustment, monthly rebalance). 6-year backtest from public Steam data.
  • Headline numbers (2020–2026): STI Cases +795% · STI 500 +65% · STI 30 +37% · S&P 500 +154% · Bitcoin +990% · Brazilian CDI +77%.
  • Verifiable independently: formulas in prose + LaTeX below; raw data via the public /api/indices endpoint (no auth, no rate-limit hell).

Scroll for the full math. Or jump to FAQ · update cadence · live data.

Five proprietary indices tracking the CS2 skin market with fully open methodology, automatic rebalance, and 6 years of backtested historical data. This is the executive summary — for the full technical reference (formulas, edge cases, construction history), see the Portuguese version.

Headline finding

STI 500 (broad-market) shows correlation r = 0.77 with the CS2 monthly active player base — skin prices reflect engagement structurally, not just speculation. STI Cases compounds at +795% over 6 years (vs S&P 500 +154%), driven by the Valve drop removal that created persistent supply scarcity.

The STI family — 7 indices

STI 30
Stable blue chips

Top 30 skins by market cap with ≥36-month history and below-median volatility. Quarterly rebalance. The CS2 equivalent of the Dow Jones Industrial.

STI 100
Mid-cap leaders

Top 100 skins by market cap with relaxed liquidity filters (≥30 listings, ≥24-month history). Monthly rebalance. Mid-tier between STI 30 and STI 500.

STI 500
Market reference

Top 500 skins by market cap with broad filters (≥$5 price, ≥50 listings, ≥12-month history). Monthly rebalance. The S&P 500 of the skin market.

STI 1000
Long tail

Same filters as STI 500, expanded to 1000 constituents. Captures the long tail (mid + small caps) STI 500 leaves out — broader market coverage, same methodological rigor.

STI Cases
Containers / scarcity assets

Top 40 cases by market cap. Disjoint universe from skin indices. Drop removal by Valve = structural scarcity without float risk. Monthly rebalance.

Cross-asset lineage — where STI aligns with traditional indices

"S&P-style" isn't a marketing claim. Each STI methodology decision has explicit anchoring in an established financial index. Column-by-column comparison so the technical reviewer can verify:

DecisionSTIS&P 500Dow JonesRussell / MSCI
WeightingMarket-cap (price × listings)Market-cap (free-float)Price-weightedMarket-cap (Russell) / float-cap (MSCI)
Divisor adjustmentYes — preserves continuity across rebalancesYes — since 1957Yes — since 1928Yes for both
Rebalance cadenceMonthly (quarterly for STI 30)QuarterlyEvent-driven (rare changes)Quarterly / semi-annual
Inclusion criteriaLiquidity + market cap + minimum historyCommittee + numeric criteria (cap, profit, liquidity)Editorial committeeRules-based (Russell) / committee (MSCI)
Multi-tier coverage7 indices (30/100/500/1000 + Cases/Stickers/Agents)S&P 500/400/600 (large/mid/small)DJIA only (30 names)Russell 1000/2000/3000; MSCI World/EM/ACWI
Per-constituent capImplicit via Steam Market ceiling ($1,800)No (but mega-caps dominate)No — pure price dominatesMSCI uses caps in some ESG indices
Survivor biasMitigated: removed skins exit on rebalance, history retainedMitigated: removed companies recordedMitigatedMitigated in both
Backtest length6 years (Apr 2020 → present), 73 monthly snapshots96 years (1928 → present)128 years (1896 → present)Russell 39 years / MSCI 56 years
Open methodologyYes — code on GitHub, formulas in prose on this pagePublic manual (S&P Dow Jones)Public manual (S&P Dow Jones)Public manual (FTSE Russell, MSCI)

Main operational difference: traditional indices use committees for inclusion; STI uses deterministic rules (more replicable, less contextual). Scale difference: 6 years vs decades — a real limitation of the skin market, not of methodology. STI's Sharpe and Calmar sit in the same benchmark range as any broad-market index — what matters is how we calculate, not the window available.

How the indices are constructed

1. Picking the skins

Each index has clear rules a skin must pass to join: a minimum price, a minimum number of active sale listings on Steam, and a minimum amount of price history. Skins priced above $1,800 (the Steam Market cap) are kept out of STI 500 and STI 1000 — items like Dragon Lore, Howl, and Hot Rod are too rare and too expensive to represent the average skin. Stickers, capsules, and graffiti are also excluded; we track only skins that are actively traded on the market.

2. How items are weighted

We use market-cap weighting — the same method the S&P 500 uses for US stocks. A skin's weight in the index is its price multiplied by how many copies are listed for sale. Items that are both expensive AND easy to trade count more; rare items with barely any listings count less. Other methods (every skin counts the same, or only price matters) are available through the API if you want to compare.

3. Rebalance

Every month (every three months for STI 30) the index redoes the list of eligible skins, ranks them by market cap again, and updates the basket. To keep the chart smooth even when items get added or removed, we use the same math trick the S&P 500 uses — a divisor that keeps the index value continuous across rebalances. No artificial jumps just from changing the basket.

4. Filtering out weird sales

One-off odd sales used to mess up our numbers: a skin with a rare sticker applied selling for 5× the normal price, or someone transferring money between two of their own accounts at a fake price. As of 2026-04-27, the engine uses the average of the last 7 days for ranking (smooths out single bad data points) and ignores the top and bottom 1% of prices when showing all-time highs and lows for individual skins. Real trends stay; outliers don't.

How skin prices track CS2 player count

We measured how closely the STI 500 follows the number of people playing CS2. The score is r = 0.77 (Steam Charts data, 2020-2026) — a 0 means no link, a 1 means they move in lockstep. So 0.77 is a strong link. When more people started playing (e.g. after CS2 launched in late 2023), the index went up within 1-2 months. When player count dropped (the slow weeks after a Major), skins went down.

Day-to-day price changes are much less linked (only ~0.32) — short-term skin moves are about specific items getting hyped, not the game's overall popularity. The big picture (levels) follows the player base; the daily noise doesn't.

Honest limitations

  • We use Steam Market prices. It's the biggest place to trade CS2 skins, but Steam takes a 15% cut on every sale. So real returns for traders depend on where they actually sell — Steam (~15% fee), CSFloat (~2%), Skinport (~12%).
  • We don't track float or rare patterns. An AK Case Hardened with a rare blue-gem pattern can sell for 10× a normal one. We use the average market price, which smooths out those rare cases — your specific skin might be worth more (or less) than what the index shows.
  • Survivor bias might exist. Some skins quietly disappear from the market (rare). They drop out of new rebalances, but their past performance stays in the historical data.
  • The 6-year backtest sits inside a specific macro window. April 2020 through April 2026 includes the post-COVID equity rally and the 2023-2024 AI bubble — both of which lifted the S&P 500 to all-time highs. Any cross-asset comparison anchored to this window will favor equities relative to a different 6-year slice (the 2000-2006 post-dot-com flat decade, for example). Read STI vs S&P 500 results as one specific window, not a permanent ranking.
  • Past performance is not a forecast. The STI family is built to measure period by period, not to predict the next 6 years. Macro regime, Valve drop policy, CS2 engagement levels, and fee structures can all change. The 2020-2026 backtest is a baseline — useful for context, dangerous as extrapolation.
  • This is not investment advice. The site is for analysis and education only. CS2 skins are hard to sell quickly, depend on Valve's rules, and aren't a replacement for stocks, bonds, or crypto.

Frequently asked questions

How does the STI index family work?

The STI (Skin Trackers Index) family is composed of seven proprietary indices modeled after the S&P Dow Jones standard. Each index aggregates CS2 skins weighted by market cap (price × active Steam Market listings), with monthly rebalance (quarterly for STI 30) and divisor adjustment to preserve series continuity when composition changes. STI 30/100/500/1000 cover the skin universe across market cap tiers; STI Cases covers containers; STI Stickers covers tournament foils plus capsules; STI Agents covers character skins. Full methodology documented on this page with explicit formulas.

Why seven indices instead of just one?

Different tiers capture different structural dynamics. STI 500 measures the broad market (top 500 by market cap, around 265 eligible after filters). STI 100 isolates mid-cap, filtering out liquid commodities with limited upside. STI 30 represents blue-chip — consolidated skins with 36+ months of history and below-median volatility. STI 1000 extends the long tail. STI Cases tracks containers (disjoint universe; drop removal creates structural scarcity). STI Stickers and STI Agents cover specific micro-markets. Comparing tiers reveals whether valuation is broad-based or concentrated in one segment.

How does the STI compare to Bitcoin, S&P 500, and CDI?

Over 6 years (April 2020 to April 2026): STI 500 accumulated +65.1% (CAGR around 8.8%/year), while S&P 500 returned +154.4%, Bitcoin +990%, and Brazilian CDI +77.3%. Broad skins beat inflation (IPCA accumulated around 30%) but trailed CDI in this window — a specific period of high Selic rates between 2022-2024. Sharpe ratios are negative for STI (-0.2 to -0.3) versus CDI, meaning risk-adjusted, BR fixed income paid better. STI Cases is the exception: +788.9% since March 2021, positive Sharpe. Details at /en/blog/skins-vs-cdi-vs-bitcoin-2020-2026.

Why did STI 30 drop from +78% to +37% in April 2026?

Two relevant methodology corrections in April 2026 changed the backtest. First (April 23, commit 2940ad0), scrape coverage correction added ultra-rare blue chips missing from the universe — STI 30 temporarily rose to +78.9%. Second (April 25, commit a2f4f84), addition of max_price_usd: 1800 to inclusion rules removed skins above the Steam Market cap (Howl FT, Dragon Lore FN, Hot Rod FN) that distorted representativeness — STI 30 dropped to +37.5%. Both corrections are editorially honest and documented in audit doc data-quality-2026-04-30.md.

Is Skin Trackers financial advice?

No. Skin Trackers is editorial publication with open methodology — equivalent to what financial newspapers do when publishing Dow Jones, S&P 500, or Ibovespa indices. We do not recommend buying or selling individual skins. We are not a marketplace, broker, or investment advisor. We do not charge transaction commissions. The data serves as analytical reference for curious investors, traders looking for benchmarks, or researchers studying alternative asset microstructure. Buy/sell decisions are the reader's responsibility — consult a qualified advisor if you need formal financial advice.

How does the index treat skins with different float, wear, or StatTrak?

Each combination of skin × wear × StatTrak/Souvenir is treated as a distinct asset. For example, AWP Dragon Lore Factory New, AWP Dragon Lore Field-Tested, and StatTrak AWP Dragon Lore Minimal Wear are three separate assets in the universe with their own supply, demand, and prices. Specific float within a wear is not a current dimension (float matters a lot for skins like AK-47 Case Hardened — wear-median aggregation can underestimate internal volatility). It is a documented limitation; resolution requires historical float scraping, on the roadmap.

How can I verify the calculation methodology?

Two paths. First, this page describes each formula in prose plus LaTeX render where applicable: divisor adjustment, market-cap weighting, adaptive periodicity detection, Sharpe/Sortino/Calmar/VaR. Second, the /api/indices endpoint returns raw snapshots and /api/market/overview returns the computed blueChipIndex, both queryable to reproduce calculations independently. No black box on the methodology side; implementation details available on request.

What known limitations does the product declare?

Four structural limitations: (1) Steam Market cap around $1,800 excludes top-tier luxury skins from the basket — prices above the marketplace technical ceiling; (2) primary source is Steam, with cross-source CSFloat/Skinport/Buff163 as weekly check only; (3) aggregation without float or pattern (relevant for Case Hardened, Karambit Doppler, etc.); (4) container backfill in progress — STI Cases has 62 snapshots versus 73 for the others (start March 2021 versus April 2020). Each limitation has a remediation on the public roadmap. Disclosing up-front is part of the editorial commitment.

Update cadence

STI indices are monthly snapshots following S&P Dow Jones convention — 1 point per month at month-end close. They do not update daily. The rebalance and new snapshot run on the 3rd of each month via GitHub Actions cron, scraping Steam Market prices and recomputing index values + basket composition.

What does update daily: individual skin pages (/skin/[id]), top movers, and auxiliary data (player count, FX rates). Index- level aggregates stay monthly by design — metrics like Sharpe and CAGR need long stable series to be statistically meaningful.

Benchmark comparison: S&P 500 publishes daily close prices but the official rebalanced index is monthly. Bloomberg Index Services publishes most fixed-income benchmarks monthly. MSCI and Russell rebalance quarterly. STI is on the conservative end (monthly for 100/500/1000/Cases/Stickers/Agents, quarterly for STI 30) to reduce noise.

How to cite this data

If you're writing about the CS2 skin market and want to reference our indices or methodology, use one of the formats below. All data is under editorial terms — citation is free with a return link.

APA (in-text)
Fernandes, J. (2026). Skin Trackers Index (STI): proprietary indices for the CS2 skin market. Skin Trackers. https://skintrackers.com/en/methodology
Chicago (notes + bibliography)
Jorgin Fernandes, "Skin Trackers Index (STI): a family of CS2 skin market indices," Skin Trackers, 2026, https://skintrackers.com/en/methodology.
BibTeX (academic)
@misc{skintrackers_sti,
  author = {Fernandes, Jorgin},
  title  = {Skin Trackers Index (STI): proprietary indices for the CS2 skin market},
  year   = {2026},
  url    = {https://skintrackers.com/en/methodology},
  note   = {Open methodology, public API at /api/indices}
}
Inline (journalism / blog)

According to the Skin Trackers Index (a proprietary index of the CS2 skin market with S&P-style methodology), [statistic here]…

Programmatic access: /api/indices returns JSON with raw snapshots. /api/market/overview returns the computed blueChipIndex. No authentication, no hostile rate limits.
CSV exports: on the roadmap. For raw historical data before the export ships, or for implementation details beyond what's published in the methodology, contact via /about.

Data updated daily. Prices in USD via Steam Community Market. Historical data goes back to April 2020. Code, methodology, and historical CSV exports are public — no proprietary moat on the math. Free to use, no affiliate partnerships, no marketplace ownership.

For technical depth (exact formulas, edge cases like divisor adjustment under cap reduction, full glossary), see the Portuguese full version.

Methodology — STI 30/100/500/1000 and Cases — Skin Trackers