{
  "release": "2026-08-09-v1.1",
  "calculationMethod": "unweighted Jevons matched-cell index",
  "baselineIndex": 100,
  "formula": "I_t = 100 * exp((1 / N_t) * sum_i(ln(p_i,t / p_i,0)))",
  "baselineBehavior": "At t=0 every price relative equals 1, so the geometric mean and index equal 1 and 100.0.",
  "basketDefinition": {
    "destinations": [
      "turkey",
      "thailand",
      "vietnam"
    ],
    "providers": [
      "airalo",
      "saily",
      "yesim"
    ],
    "dataAllowancesGb": [
      10,
      20
    ],
    "validityDays": 30,
    "planType": "fixed data only"
  },
  "coverage": {
    "expectedCells": 18,
    "observedCells": 18,
    "missingCells": [],
    "replacedCells": [],
    "breakFlag": false,
    "weightPerCell": 0.05555555555555555,
    "headlinePublicationRule": "Publish the headline only with all 18 unchanged matched cells; otherwise label a separate result as a partial common-cell index."
  },
  "results": {
    "destinationMeanPriceUsd": {
      "turkey": 19.83,
      "thailand": 15.6,
      "vietnam": 24.46
    },
    "providerMeanPriceUsd": {
      "airalo": 19,
      "saily": 19.49,
      "yesim": 21.4
    },
    "providerMedianPriceUsd": {
      "airalo": 18,
      "saily": 18.99,
      "yesim": 21.6
    },
    "vietnamPremiumVsThailandPct": 56.8,
    "winningCells": [
      {
        "destination": "turkey",
        "dataGb": 10,
        "winner": "airalo",
        "winnerPrice": 15.5,
        "runnerUp": "saily",
        "runnerUpPrice": 15.99,
        "gap": 0.49
      },
      {
        "destination": "turkey",
        "dataGb": 20,
        "winner": "airalo",
        "winnerPrice": 22.5,
        "runnerUp": "saily",
        "runnerUpPrice": 22.99,
        "gap": 0.49
      },
      {
        "destination": "thailand",
        "dataGb": 10,
        "winner": "saily",
        "winnerPrice": 10.99,
        "runnerUp": "airalo",
        "runnerUpPrice": 11,
        "gap": 0.01
      },
      {
        "destination": "thailand",
        "dataGb": 20,
        "winner": "airalo",
        "winnerPrice": 18,
        "runnerUp": "saily",
        "runnerUpPrice": 19.99,
        "gap": 1.99
      },
      {
        "destination": "vietnam",
        "dataGb": 10,
        "winner": "saily",
        "winnerPrice": 17.99,
        "runnerUp": "airalo",
        "runnerUpPrice": 18,
        "gap": 0.01
      },
      {
        "destination": "vietnam",
        "dataGb": 20,
        "winner": "saily",
        "winnerPrice": 28.99,
        "runnerUp": "airalo",
        "runnerUpPrice": 29,
        "gap": 0.01
      }
    ],
    "oneCentDecisions": 3,
    "averagePricePerGbSavingAt20GbPct": 22.6,
    "minPricePerGbSavingAt20GbPct": 9.1,
    "maxPricePerGbSavingAt20GbPct": 34.2
  },
  "replacementRule": "A change in allowance, validity, plan type, unlimited-plan high-speed allowance, post-cap speed, voice/SMS status, or local-versus-regional coverage creates a replacement cell and must be disclosed."
}