Email me

Tensorust Research / Methods

Methods · 11 datasets · 1,038 CSV files

How we collect every number

Short answerEvery dataset on this site is collected by code we run ourselves, from a named public source or our own accounts, and every dataset carries the date it was read. We publish the table behind each chart as CSV (1,038 files today), state the limits next to the number, and log fixes on the corrections page. Pick a dataset below for its method in one paragraph.

Datasets

Rules for every dataset

  1. A source and a date on every number. If we can't name where a number came from and when, it doesn't go on the page.
  2. Raw data out. The table behind a chart is a CSV next to it, free to reuse under CC BY 4.0 with a link back.
  3. Rules, not judgement calls. Verdicts like "widely used and steady" or "best for" come from rules printed on the page.
  4. Old readings stay old. Dated snapshots and monthly issues are never edited after the fact; a correction is added and logged.
  5. No paid placement in the data. Sponsored spots are labelled and sit outside the tables. They never change a ranking.

Real downloads for the top Rust crates

From the crates.io API we fetch each crate's daily downloads for the last 90 days (all versions), its versions with publish times, and its reverse dependencies, one request every 2 seconds into a disk cache; a site build never calls crates.io. A day counts as a release window if a version was published that day or the day before. Every other day is a quiet day, and the median quiet day is the crate's "real downloads a day". A crate gets a page once it has 80+ days of data and 10,000+ all-time downloads (1,000 crates today). The verdict on each page comes from four stated rules printed on that page.

Limits: crates.io counts every download, including CI, mirrors and bots. The quiet-day median removes release spikes, not steady automated traffic.

The study behind the method: why raw crates.io counts mislead, featured in This Week in Rust #674.

Data: /crates/ · downloads: crates.csv · data.json

Crate movers and comparisons

Weekly movers compare each crate's raw downloads and its quiet-day baseline between weeks from the same cache, so a release spike is flagged instead of read as growth. Head-to-head comparison pages exist only for pairs people search for (Google autocomplete, the phrase is kept with each pair).

Limits: Short windows are noisy; a one-week move is a prompt to look, not a trend.

Data: /crates/changes/

AI model API prices

We copy each price from the provider's official pricing page (Anthropic, OpenAI, Google, DeepSeek) into a dated table; every row keeps the page URL and the date it was checked. Context window, input types, tool calling and lifecycle (current, legacy, deprecated) come from each provider's model pages, also dated. Workload costs are token arithmetic on the listed prices: fixed token counts per job, the cheapest way the provider bills it (cache reads or batch where listed), cache writes not counted. 71 models today.

Limits: Price only. We do not score answer quality, and a model that writes longer answers costs more per task than its per-token price suggests.

The table is also an open dataset: github.com/Mattbusel/llm-prices.

Data: /llm/ · downloads: prices.csv

AI price history and changelog

Each check of the pricing pages is saved as a dated snapshot that is never edited; a wrong snapshot is fixed by adding a corrected newer one. The changelog is the difference between consecutive snapshots, plus future prices the providers announce on their pages. Generation history groups each provider's models into families (Claude Opus, GPT mini, Gemini Flash) and orders them by version number, at the price the provider lists for each one today. Snapshots so far: Oct 17, 2026, Oct 23, 2026.

Limits: An older model's price today can differ from its launch price. Families are ordered by version, not release date, because most model ids carry no date.

Data: /llm/history/ · downloads: history.csv · price-observations.csv

LLM API Price Index (monthly)

The basket is every model a provider lists as current with an input and an output price (retired models and embeddings excluded), from the last snapshot of the month. The workload is one chatbot reply (1,500 tokens in, 400 out) at the standard price. The index is the median basket cost divided by the first issue's median, so models joining or leaving the basket move it.

Limits: It tracks what a buyer can pick, not like-for-like price changes on one model.

Data: /reports/llm-price-index/

App Store review times

Every App Review decision email on our own Apple developer account, pulled from the mailbox. Wait = the decision email's sent time minus the "Submitted" time in the same email (Pacific time). Duplicate emails for one submission and outcome count once.

Limits: One developer account and its apps: a real sample, not an industry average.

The guideline and error pages under /app-store/ use the same decisions plus the Resolution Center messages we received.

Data: /reports/app-store-review-times/

Steam market data (download speeds, free-to-play players, game sizes)

Download speeds: the data behind Steam's public download stats page (average Mbps and bytes per country and US state), read Oct 20, 2026; the world figure is our byte-weighted average. Players: every game SteamSpy's genre API returns for Free to Play, with its peak concurrent players on the day before. Sizes: the "Storage" line from Steam's appdetails API for the 60 of those games with the most players.

Limits: One read each, on Oct 20, 2026. SteamSpy is a third party and its lists are not complete; listed storage is not the exact download size.

Data: /games/data/ · downloads: speeds · players · sizes

O'BLOCK launch numbers

Read-only readings of our own Steamworks dashboard for O'BLOCK, each saved with the time it was read and Steam's "data as of" time. Free claims are Steam's lifetime free licenses; players are lifetime unique users.

Limits: Steamworks counters lag each other by hours (the daily report and the lifetime counter can disagree); we quote the conservative lifetime figure.

Data: /games/data/oblock-launch-numbers/ · downloads: data.csv

Data behind articles and Manual pages

21 articles and Manual pages ship the table behind their charts as data.csv next to the page. Each page states its own sources and the date each number was read, in its method or sources section.

Limits: Each one is a one-time read unless the page says it updates.

Data: /articles/

Money size pages

Piles of cash are drawn from bill dimensions and weights (sources in the page method). The US national debt figure is refreshed from the Treasury's Debt to the Penny API at most every 12 hours; billionaire fortunes are a dated snapshot.

Limits: Illustration math, not a financial claim.

Data: /money/

Reader counts on our pages

Where a page says how many people read it, the number is unique visitors over 30 days from cookieless analytics (Vercel Web Analytics, or our own first-party counts once they cover a full week), shown only from 10 readers up.

Limits: Bots that run JavaScript can be counted; we do not inflate or round up.

Data: /articles/

Public copies

The main datasets are also on Hugging Face and Kaggle, each with a card that links back to its source page here:

Cite or reuse

Every data page has a "Cite this" box with APA, plain text and BibTeX. Questions about a number: matt@tensorust.com.

Up next

The other half of trusting a number: What we got wrong, when we fixed it, and how to report an error.Corrections logEvery correction to a number on tensorust.com, dated, with what was wrong and what we changed. How to report an error, and what counts as a correction.Read it next →

Get the receipts by email.

What my AI agents tried this week, with the real numbers: what worked, what flopped, what made money. One email when there is something worth reading.

No spam, never sold. Every email has a one-click unsubscribe.

Did this answer your question?

Popular in the shop

All 124 tools →

Browse: Bundles and kitsHome, family and schoolMoney and businessAI toolsSports and fitnessMaking and hobbiesFood and drinkIndie dev and launchTrading and quant

Free: Landing page teardown iPhone app cost calculator LLM API cost calculator Paid online: $49 Launch Check App builds Articles FAQ