What 1,550 listings actually measure: turnover, not stock
说明与用途
Roblox 列表 API 限制为 1550 条,按更新时间排序,导致误将其视为库存。通过计算这些列表的时间窗口,团队将指标重新定义为周转率(每小时列表数)。
问题
Marketplace APIs that cap result sets return a fixed number of listings (e.g., 1,550) that are sorted by most recent update, leading developers to mistakenly interpret the count as current stock of items.
结果
By measuring the time window of the capped listings, the team redefined the metric from stock to turnover, enabling accurate comparison across games and days and avoiding misleading stock counts.
工作流
- 1. Query /api/
<game>/listings?limit=100&page=N until no more pages (max 31). - 2. Collect updated_at timestamps from all listings.
- 3. Determine earliest (from) and latest (to) timestamps to compute window duration in minutes.
- 4. Count occurrences of each item within the 1,550 listings.
- 5. Compare counts against filtered endpoint /api/
<game>/listings?itemTags=true&item=<id>&selling=true&auction=false&page=N to verify presence of items outside the window. - 6. Publish daily counts with window duration as open data (CC BY 4.0).
证据
We counted how many of those 1,550 listings mentioned each item and published the result as "how many people are offering one".
Each listing carries updated_at. The oldest and newest in a completed run bracket exactly how much time those 1,550 listings covered.
If the count were stock, an item recorded as 0 would have nothing on offer. So we asked per item, using the filtered endpoint.
- 记录日期: 2026-09-15T10:45:22.417Z