No positions in the markets we measure BY 07:30 ET
CCIR Compute Credit
Index Research
Documents Methodology as published 2026-09-01

Methodology

This document describes current practice for every published CCIR reference series (the CRI series). It is deliberately short: what the numbers measure, where they come from, and how they are computed. Changes to anything on this page are governed by the Change Management Policy.

Revision 2026-08-31 · describes methodology v2.3.2

01 What the Series Are

CCIR publishes daily reference series for GPU rental prices, in U.S. dollars per GPU per hour, on the grain chip × operator segment × form factor × interruptibility × commitment term × region. Every price is a posted, publicly observable list ask collected from a provider-operated pricing surface — not an executed transaction, not a solicited quote, not a broker-mediated or sponsored feed. If a price is only available through sales contact, it is not in the index.

01a Design Rationale

The series measure publicly posted list asks. They do not sample executed transactions, and they do not estimate traded volume. Posted asks are observable without solicitation and reproducible by any third party on the day of observation. They carry no submission channel, so there is nothing to misreport: no transaction sample to select from, no broker mark, no expert judgment.

The series are designed as reference rates: suitable for contractual citation, residual-value monitoring, and credit covenants. Not every published row carries that status, and section 04a sets out the test. They are not designed to replicate a volume-weighted average of executed trades. Products that measure executed levels sit outside this methodology and its governance framework.

02 Operator Segments

Series are segmented by the class of operator posting the price, not by hardware grade:

  • Hyperscaler — integrated cloud majors (list rate cards).
  • Neocloud — GPU-specialist clouds selling dedicated capacity.
  • Marketplace — multi-seller venues and aggregated marketplaces.

In series identifiers these carry the tokens T1 / T2 / T3 respectively.

03 Collection

Prices are collected automatically from each provider's public pricing pages or application programming interfaces (APIs). Each observation records the provider, chip, posted price, and its axes (form factor, interruptibility, commitment term, region). Raw observations are archived; published series are aggregates.

Capture runs on a per-source schedule, from once a day to hourly, set by how often a surface can be read without burdening it. Every series is a daily series: each cell publishes one value per day, and a source's readings within that day reduce to a single per-source value before the headline is computed. Capture frequency is an operational parameter rather than part of a series definition, so a change to it is not a series break.

04 Aggregation and the Headline Statistic

Aggregation is operator-equal: one source, one vote. A provider's multiple qualifying listings in a cell are reduced to a per-source value first, so no provider's listing count moves a series.

The headline statistic per cell follows a disclosed rule: mean when the panel has ten or more sources (n ≥ 10), median below that. The statistic actually used is stamped on every row (headline_stat), and every cell publishes its source count n, observation count, and interquartile range alongside the headline value.

Publication threshold. A cell publishes when at least three independent sources contribute to it and it holds at least five observations. Cells below that threshold are computed and retained, and they do not publish. Two breakout classes publish at two sources rather than being withheld: regional cuts and committed-term cuts, where a thin panel is the true state of an emerging market. Those cells carry promotion_status of Provisional; cells clearing the full threshold carry Published.

Panel depth n is the trust signal. It publishes beside every headline value with the observation count and the interquartile range, and thin cells should be read as indicative. Because the threshold is a floor on depth rather than a view on price, it never selects among cells that clear it.

Under rapid dislocation (the sudden exit of major sources, widespread collection failure, or extreme dispersion) the administrator may widen the observation window or publish a notice of reduced coverage. Both steps are pre-specified contingencies: each is logged, applies forward only, and changes neither the series identifier nor the definition of the rate.

04a What Publishes, and What May Be Cited

Publication and citability are separate questions, and every row answers both on its face. promotion_status reports whether a cell cleared the full threshold in section 04. product_class reports what it may be used for.

citable marks the on-demand reference series. market_intelligence marks the committed-term series, together with the on-demand companion published beside them for like-for-like comparison. Those cells are published for context. They rest on a different and generally thinner panel than the on-demand series beside them, so they are not offered for contractual citation. A citable reference rate is a row reading product_class = citable and promotion_status = Published. A substantial share of published rows does not meet both conditions, so the two columns are the test rather than the series identifier.

The published file carries the operator-segment series set out in section 06. An earlier factory-class taxonomy is still computed and surfaces in the /explorer long tail. Those series are not part of the reference set and are not included in the download.

05 Windows and Composition Stability

Each cell is computed on the shortest observation window that meets the publication threshold in section 04: one day, else three days, else seven. A cell whose single day of data falls short of the threshold widens its window rather than publish thin. The window actually used is stamped on every row (headline_window_days), with the source and observation counts at each horizon. Panel membership is versioned; when a panel member transiently fails collection, its last-good price carries forward for at most seven days so one missed scrape does not change a series' composition. Members absent beyond that exit the cell.

06 Series Grammar

Every Compute Rate Index (CRI) series identifier is fully self-describing:

CRI-{SEGMENT}-{CHIP}-{FORM}-{INT}-{TERM}-{REGION}

SEGMENT   T1 Hyperscaler · T2 Neocloud · T3 Marketplace
FORM      SXM · PCIe · NVL · OAM · ALL (pooled)
INT       GTD guaranteed · INT interruptible · ALL (pooled)
TERM      OD on-demand · 1mo 3mo 6mo 1yr 2yr 3yr committed
REGION    US · EU · APAC · Other · ALL (pooled)

Example:  CRI-T2-H100-ALL-GTD-OD-US
          Neocloud · H100 · guaranteed on-demand · United States

ALL on any axis means that axis is pooled for that series. Other on the region axis collects posted locations outside the three named regions; it is a residual, and it is never a substitute for a named region. OAM is the Open Accelerator Module form factor. The reference ladder on /rates shows the guaranteed on-demand US cut per chip and segment, with each cell's series identifier printed beneath the rate.

07 Publication, History, Restatement

Series publish daily by 07:30 Eastern Time (ET) at ccir.io. History is append-only with a methodology version stamped on every row. A daily value finalizes at the close of its publication day; recomputation before finalization under a logged change is not a restatement. After finalization, no value changes silently. When a defect or a material methodology change requires it, history is restated — republished in full under the current version — per the Change Management Policy.