Methodology
Prices come from each provider's own site and are stored as US dollars per GPU-hour. A machine price is divided by the GPU count that page prints. If the count is missing, the per-GPU price is left blank. Monthly prices divide by 730 hours and yearly prices by 8,760. Other currencies use that day's ECB rate. Starting from is marked low confidence. Form factor is stored only when the page writes PCIe, SXM, or NVL.
Rows labelled via Shadeform are Shadeform marketplace listings, not that cloud's own price. Shadeform's own docs call each listing a virtual machine. The underlying cloud and region are stored. They stay hidden until Show via Shadeform is turned on, and they are not used in the headline.
Offering is set from each provider's product documentation, listed with the source page in docs/offerings.md. Bare metal and VM are used when that material says which one the product is. rental_unspecified is a GPU rental, an instance, node, server, or cluster billed by the hour or a term, whose documentation does not say virtual machine or bare metal. Serverless and managed inference stay out of the default table. unknown is only used when the provider's material does not say what the product is. The default table shows bare metal, VM, and rental_unspecified. It hides serverless, managed inference, Shadeform, and rows with no listed price. Show contact sales / unpriced brings the unpriced rows back. They remain in the CSV either way. The headline uses that same default set, and also requires stated SXM, stated 8 GPUs per node, and a listed price. Held prices are not published, so they are not in the headline.
A price outside the review bounds in the README is held and is not published. H100 on-demand and reserved prices have to be between $1.00 and $15.00 per GPU-hour. Spot, community, and interruptible prices use a floor of $0.40. A move of more than 25 percent from the last published value for the same key is held the same way. The previous approved price stays until the new one is added to data/reviewed.json.
A provider is absent when the run could not read a price. The failure log lists the reason and the last successful scrape. Back to the table.