{
  "schemaVersion": "1.0",
  "generatedAt": "2026-09-04T12:55:49.544Z",
  "documents": [
    {
      "slug": "pricing",
      "title": "Pricing observations",
      "metric": "standard list price",
      "excluded": [
        "temporary coupons",
        "first-year promotions",
        "estimated prices"
      ],
      "currencyNormalization": "USD",
      "unknownPolicy": "Missing prices stay null. They are never inferred as zero or as a competitor average.",
      "methodology": {
        "id": "methodology:ownership-cost-v1",
        "version": "1.0",
        "description": "Ownership cost uses the latest non-promotional 1-year USD registration and renewal PriceObservation for the same registrar and TLD. Year 1 is registration; subsequent years are renewal. Missing inputs produce null, not an estimate.",
        "assumptions": [
          "Standard (non-promotional) prices only",
          "1-year term",
          "USD",
          "No ICANN fees, taxes, or add-ons unless included in the observation amount"
        ]
      }
    },
    {
      "slug": "rankings",
      "ranking": "cheapest-com-renewal",
      "title": "Cheapest .com renewal",
      "metric": "standard .com renewal price",
      "excluded": [
        "temporary coupons",
        "first-year promotions"
      ],
      "currencyNormalization": "USD",
      "completenessRule": "A winner is declared only when at least two registrars have observations.",
      "methodology": {
        "id": "methodology:cheapest-standard-renewal-v1",
        "version": "1.0",
        "description": "Ranks registrars by the latest non-promotional 1-year USD renewal PriceObservation for the scoped TLD. Registrars without an observation are excluded. A competitive ranking is complete only when at least two registrars have observations.",
        "assumptions": [
          "Only observed prices are ranked",
          "Promotional and new-customer-only prices are excluded",
          "Unknown registrars are not treated as more expensive"
        ]
      }
    }
  ]
}