anthropics / anthropics/claude-code
Weekly quota pool: one −14% step between windows, then partial rebound (Max 20x) — earlier −43.5% figure retracted
- Ngôn ngữ chính
- Python
- Star
- 145k
- Fork
- 23.1k
- Chỉ số merge pull request
- Chỉ số pull request đang chờ
Mô tả
## Summary
Over three consecutive weekly windows on Max 20x, the size of the weekly quota pool — measured by reconciling local transcript token counts against the `/usage` panel percentages — dropped by 20.8%, then a further 28.7%, for a cumulative **−43.5%**.
All three windows sat entirely inside the same `+50% weekly limits promo` (running since May 13, extended to Aug 31), so the promotion cancels out of the comparison. I have not found a policy change that accounts for the decline.
## Data
Pool size expressed in **weighted input-token units** (see Method):
| Window | Promo | Fable sub-pool | Total pool | Change |
|---|---|---:|---:|---:|
| Aug 06 – Aug 13 | +50% active | 115.9M | **231.7M** | — |
| Aug 13 – Aug 20 | +50% active | 91.7M | **183.5M** | **−20.8%** |
| Aug 20 – (current) | +50% active | 65.4M | **130.8M** | **−28.7%** |
Underlying Fable-5 measurements:
| Window | Calls | cache_write 5m | cache_write 1h | cache_read | output | Weighted |
|---|---:|---:|---:|---:|---:|---:|
| Aug 06 – Aug 13 | 2,465 | 7,369,523 | 12,259,493 | 679,163,543 | 2,843,308 | 115.87M |
| Aug 13 → Aug 18 05:21 | 2,026 | 802,463 | 9,550,785 | 558,673,155 | 2,419,429 | 88.07M |
| Aug 20 → now | 54 | 0 | 234,069 | 16,367,280 | 99,954 | 2.62M |
## Method
1. Parse `~/.claude/**/*.jsonl` for `message.usage` objects.
2. **Deduplicate by `message.id`** — `usage` is repeated once per assistant content block.
3. Take `output_tokens` as the **max** within each `message.id`. It varies across records of the same call (observed `[5066, 5066, 5066, 5066, 2]` and `[2, 544]`), so both first-record and last-record selection are wrong for some calls.
4. Weight the four buckets into input-token units using published API cache multipliers: fresh `1×`, cache_write `1.25×` (5m TTL) / `2×` (1h TTL), cache_read `0.1×`, output `5×`.
5. Divide by the `Current week (Fable)` percentage from `/usage` to get the Fable sub-pool; multiply by 2 for the total pool, since the Fable sub-quota is half the account quota.
## Why I trust the method
In the Aug 06 – Aug 13 window, the Fable sub-quota was exhausted first (last Fable call at hour 47) and the account-wide quota later (last Opus/Sonnet call at hour 104). Because the Fable sub-quota is 50% of the account quota, that terminal state forces
```
total consumption / Fable consumption = 2.000 exactly
```
Measured: **1.9943** — 0.29% error. This is not a fitted parameter; it is pinned by two independent facts (the 50% sub-quota split and the exhaustion ordering).
Second, independent cross-check: that window's total pool works out to **$2,317** at list API prices, against **$2,310.74** of measured all-model consumption in the same window — 0.3% apart, as it must be if both quotas were exhausted.
## Reliability of each point
- **Aug 06 window** — strongest. The quota was actually exhausted, so the pool is measured, not inferred.
- **Aug 13 window** — 96% reading; the ±0.5% rounding contributes only ±0.5% relative error. Independent path: the full window's Fable consumption was 94.74M, which if it also ended exhausted puts the pool within 3% of the 91.7M inferred from the reading.
- **Aug 20 window** — weakest. A 4% reading with ±0.5% rounding spreads the total pool over 116.4M–149.7M. Even at the optimistic end it is 18% below the previous window; at the pessimistic end, 37%.
## A hypothesis I am retracting
I previously argued (in #81234) that `cache_read` is debited against the subscription quota at full price rather than the published `0.1×`, producing 4–6× metering inflation. **My own data does not support this.** Under that assumption the ratio above would be 1.777, not the measured 1.9943. Whatever is happening, cache-read discounting is not it.
## Questions
1. All three windows had identical promo conditions. What accounts for two consecutive double-digit reductions in pool size?
2. Is the weekly pool a fixed quantity per plan, or is it adjusted per-account — e.g. based on recent usage history?
## Environment
- Claude Code 2.1.237, native install, Linux
- Max 20x, Google Play billing
- I use Claude Code almost exclusively; very little of my usage originates from claude.ai web, desktop, or mobile. Local transcripts therefore cover nearly all of my consumption, and any uncaptured usage would only make the reported pools an underestimate.
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Review the quota measurements in the issue, including the ~/.claude/**/*.jsonl parsing method and the /usage panel readings, then compare them with the earlier discussion in #81234. Determine whether the reported pool changes are reproducible and identify the policy or metering behavior that explains them; done means a confirmed explanation or a clearly documented discrepancy.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Lĩnh vực
- cloud
- Loại issue
- Lỗi
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Sôi nổi
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 30/100