{
  "headline": {
    "total_offers": 5056,
    "expensive": {
      "threshold": 100,
      "rule": "strictement supérieur",
      "count": 56,
      "unlimited_count": 56,
      "validity_days": [
        30
      ],
      "max_price_limited": 99.39
    },
    "price_range": {
      "min": {
        "price": 5.36,
        "count": 5,
        "products": [
          {
            "sku": "gigsky-102145",
            "provider": "GigSky",
            "product_name": "eSIM Vietnam 1 Go 7 jours",
            "price": 5.36
          },
          {
            "sku": "yesim-103638",
            "provider": "Yesim",
            "product_name": "eSIM Afrique du Sud 1 Go 7 jours",
            "price": 5.36
          },
          {
            "sku": "alosim-103290",
            "provider": "aloSIM",
            "product_name": "eSIM Irlande 1 Go 7 jours",
            "price": 5.36
          },
          {
            "sku": "esimx-101369",
            "provider": "eSIMX",
            "product_name": "eSIM Israël 1 Go 7 jours",
            "price": 5.36
          },
          {
            "sku": "esimx-101400",
            "provider": "eSIMX",
            "product_name": "eSIM Colombie 1 Go 7 jours",
            "price": 5.36
          }
        ],
        "by_provider": [
          {
            "provider": "eSIMX",
            "count": 2
          },
          {
            "provider": "GigSky",
            "count": 1
          },
          {
            "provider": "Yesim",
            "count": 1
          },
          {
            "provider": "aloSIM",
            "count": 1
          }
        ]
      },
      "max": {
        "price": 154.63,
        "count": 1,
        "products": [
          {
            "sku": "alosim-103296",
            "provider": "aloSIM",
            "product_name": "eSIM Europe Illimité 30 jours",
            "price": 154.63
          }
        ],
        "by_provider": [
          {
            "provider": "aloSIM",
            "count": 1
          }
        ]
      }
    },
    "data": {
      "mean_gb": 14.4915,
      "median_gb": 5.0,
      "offers_with_data": 4403,
      "unlimited_count": 653,
      "unlimited_share": 0.1292
    },
    "price": {
      "mean": 29.3013,
      "median": 20.695,
      "mean_limited": 24.6285,
      "mean_unlimited": 60.8086
    }
  },
  "providers": [
    {
      "provider": "Airalo",
      "offers": 722,
      "share": 0.1428,
      "mean_price": 27.047,
      "min_price": 5.38,
      "mean_data_gb": 12.5293,
      "unlimited": 91,
      "price_per_gb": 1.7954,
      "price_index": 99.9,
      "share_5g": 0.3019,
      "share_top_up": 0.5263,
      "destinations": 54,
      "source_files": [
        "airalo.csv"
      ]
    },
    {
      "provider": "Ubigi",
      "offers": 562,
      "share": 0.1112,
      "mean_price": 29.7595,
      "min_price": 5.39,
      "mean_data_gb": 15.7429,
      "unlimited": 68,
      "price_per_gb": 1.6266,
      "price_index": 99.8,
      "share_5g": 0.3772,
      "share_top_up": 0.5694,
      "destinations": 54,
      "source_files": [
        "ubigi.csv"
      ]
    },
    {
      "provider": "eSIMX",
      "offers": 432,
      "share": 0.0854,
      "mean_price": 29.328,
      "min_price": 5.36,
      "mean_data_gb": 14.9098,
      "unlimited": 55,
      "price_per_gb": 1.6849,
      "price_index": 99.7,
      "share_5g": 0.3727,
      "share_top_up": 0.5324,
      "destinations": 54,
      "source_files": [
        "esimx.csv"
      ]
    },
    {
      "provider": "Saily",
      "offers": 382,
      "share": 0.0756,
      "mean_price": 28.8587,
      "min_price": 5.49,
      "mean_data_gb": 14.0859,
      "unlimited": 56,
      "price_per_gb": 1.7181,
      "price_index": 100.7,
      "share_5g": 0.3586,
      "share_top_up": 0.5681,
      "destinations": 54,
      "source_files": [
        "saily.csv"
      ]
    },
    {
      "provider": "GigSky",
      "offers": 342,
      "share": 0.0676,
      "mean_price": 30.6679,
      "min_price": 5.36,
      "mean_data_gb": 15.5973,
      "unlimited": 44,
      "price_per_gb": 1.6324,
      "price_index": 98.6,
      "share_5g": 0.345,
      "share_top_up": 0.5292,
      "destinations": 53,
      "source_files": [
        "gigsky.csv"
      ]
    },
    {
      "provider": "Nomad",
      "offers": 312,
      "share": 0.0617,
      "mean_price": 30.2137,
      "min_price": 5.38,
      "mean_data_gb": 14.6442,
      "unlimited": 45,
      "price_per_gb": 1.6961,
      "price_index": 99.8,
      "share_5g": 0.3558,
      "share_top_up": 0.5577,
      "destinations": 53,
      "source_files": [
        "nomad.csv"
      ]
    },
    {
      "provider": "Instabridge",
      "offers": 282,
      "share": 0.0558,
      "mean_price": 30.1909,
      "min_price": 5.4,
      "mean_data_gb": 14.6827,
      "unlimited": 33,
      "price_per_gb": 1.7436,
      "price_index": 101.9,
      "share_5g": 0.3191,
      "share_top_up": 0.5745,
      "destinations": 53,
      "source_files": [
        "instabridge.csv"
      ]
    },
    {
      "provider": "aloSIM",
      "offers": 262,
      "share": 0.0518,
      "mean_price": 30.7147,
      "min_price": 5.36,
      "mean_data_gb": 15.12,
      "unlimited": 37,
      "price_per_gb": 1.6934,
      "price_index": 101.1,
      "share_5g": 0.3931,
      "share_top_up": 0.5267,
      "destinations": 54,
      "source_files": [
        "alosim.csv"
      ]
    },
    {
      "provider": "Holafly",
      "offers": 242,
      "share": 0.0479,
      "mean_price": 27.9792,
      "min_price": 5.37,
      "mean_data_gb": 13.3052,
      "unlimited": 29,
      "price_per_gb": 1.786,
      "price_index": 99.7,
      "share_5g": 0.343,
      "share_top_up": 0.5868,
      "destinations": 54,
      "source_files": [
        "holafly.csv"
      ]
    },
    {
      "provider": "Yesim",
      "offers": 222,
      "share": 0.0439,
      "mean_price": 32.1005,
      "min_price": 5.36,
      "mean_data_gb": 16.9639,
      "unlimited": 28,
      "price_per_gb": 1.6449,
      "price_index": 100.7,
      "share_5g": 0.3559,
      "share_top_up": 0.545,
      "destinations": 53,
      "source_files": [
        "yesim.csv"
      ]
    },
    {
      "provider": "Jetpac",
      "offers": 212,
      "share": 0.0419,
      "mean_price": 29.9412,
      "min_price": 5.53,
      "mean_data_gb": 15.0815,
      "unlimited": 28,
      "price_per_gb": 1.6524,
      "price_index": 98.4,
      "share_5g": 0.3066,
      "share_top_up": 0.5472,
      "destinations": 54,
      "source_files": [
        "jetpac.csv"
      ]
    },
    {
      "provider": "Truphone",
      "offers": 202,
      "share": 0.04,
      "mean_price": 27.4094,
      "min_price": 5.47,
      "mean_data_gb": 13.904,
      "unlimited": 25,
      "price_per_gb": 1.654,
      "price_index": 99.5,
      "share_5g": 0.3713,
      "share_top_up": 0.5,
      "destinations": 52,
      "source_files": [
        "truphone.csv"
      ]
    },
    {
      "provider": "JamboSIM",
      "offers": 182,
      "share": 0.036,
      "mean_price": 30.9764,
      "min_price": 5.46,
      "mean_data_gb": 15.8217,
      "unlimited": 25,
      "price_per_gb": 1.675,
      "price_index": 99.9,
      "share_5g": 0.3352,
      "share_top_up": 0.4945,
      "destinations": 51,
      "source_files": [
        "jambosim.csv"
      ]
    },
    {
      "provider": "Flexiroam",
      "offers": 172,
      "share": 0.034,
      "mean_price": 31.3117,
      "min_price": 5.38,
      "mean_data_gb": 15.2222,
      "unlimited": 28,
      "price_per_gb": 1.6857,
      "price_index": 100.1,
      "share_5g": 0.3488,
      "share_top_up": 0.5581,
      "destinations": 54,
      "source_files": [
        "flexiroam.csv"
      ]
    },
    {
      "provider": "Yatelo",
      "offers": 162,
      "share": 0.032,
      "mean_price": 30.1331,
      "min_price": 5.54,
      "mean_data_gb": 15.0355,
      "unlimited": 21,
      "price_per_gb": 1.6333,
      "price_index": 99.9,
      "share_5g": 0.3519,
      "share_top_up": 0.537,
      "destinations": 46,
      "source_files": [
        "yatelo.csv"
      ]
    },
    {
      "provider": "Maya Mobile",
      "offers": 152,
      "share": 0.0301,
      "mean_price": 28.9091,
      "min_price": 5.98,
      "mean_data_gb": 13.4254,
      "unlimited": 18,
      "price_per_gb": 1.7762,
      "price_index": 99.6,
      "share_5g": 0.3421,
      "share_top_up": 0.4539,
      "destinations": 45,
      "source_files": [
        "maya.csv"
      ]
    },
    {
      "provider": "Roamic",
      "offers": 122,
      "share": 0.0241,
      "mean_price": 27.9665,
      "min_price": 5.95,
      "mean_data_gb": 13.6147,
      "unlimited": 13,
      "price_per_gb": 1.7717,
      "price_index": 101.7,
      "share_5g": 0.3361,
      "share_top_up": 0.5082,
      "destinations": 49,
      "source_files": [
        "roamic.csv"
      ]
    },
    {
      "provider": "4S eSIM",
      "offers": 92,
      "share": 0.0182,
      "mean_price": 24.2609,
      "min_price": 5.6,
      "mean_data_gb": 10.2892,
      "unlimited": 9,
      "price_per_gb": 1.8805,
      "price_index": 100.0,
      "share_5g": 0.337,
      "share_top_up": 0.5652,
      "destinations": 46,
      "source_files": [
        "4sesim.csv"
      ]
    }
  ],
  "provider_validity_index": {
    "validities": [
      7,
      15,
      30
    ],
    "cells": [
      {
        "provider": "4S eSIM",
        "validity_days": 7,
        "index": 99.5,
        "offers": 35
      },
      {
        "provider": "4S eSIM",
        "validity_days": 15,
        "index": 100.0,
        "offers": 30
      },
      {
        "provider": "4S eSIM",
        "validity_days": 30,
        "index": 100.8,
        "offers": 27
      },
      {
        "provider": "Airalo",
        "validity_days": 7,
        "index": 100.6,
        "offers": 234
      },
      {
        "provider": "Airalo",
        "validity_days": 15,
        "index": 100.5,
        "offers": 252
      },
      {
        "provider": "Airalo",
        "validity_days": 30,
        "index": 98.5,
        "offers": 236
      },
      {
        "provider": "Flexiroam",
        "validity_days": 7,
        "index": 100.6,
        "offers": 60
      },
      {
        "provider": "Flexiroam",
        "validity_days": 15,
        "index": 99.5,
        "offers": 53
      },
      {
        "provider": "Flexiroam",
        "validity_days": 30,
        "index": 100.0,
        "offers": 59
      },
      {
        "provider": "GigSky",
        "validity_days": 7,
        "index": 100.1,
        "offers": 102
      },
      {
        "provider": "GigSky",
        "validity_days": 15,
        "index": 97.6,
        "offers": 120
      },
      {
        "provider": "GigSky",
        "validity_days": 30,
        "index": 98.4,
        "offers": 120
      },
      {
        "provider": "Holafly",
        "validity_days": 7,
        "index": 99.7,
        "offers": 68
      },
      {
        "provider": "Holafly",
        "validity_days": 15,
        "index": 98.9,
        "offers": 88
      },
      {
        "provider": "Holafly",
        "validity_days": 30,
        "index": 100.5,
        "offers": 86
      },
      {
        "provider": "Instabridge",
        "validity_days": 7,
        "index": 102.3,
        "offers": 97
      },
      {
        "provider": "Instabridge",
        "validity_days": 15,
        "index": 101.4,
        "offers": 80
      },
      {
        "provider": "Instabridge",
        "validity_days": 30,
        "index": 102.0,
        "offers": 105
      },
      {
        "provider": "JamboSIM",
        "validity_days": 7,
        "index": 101.1,
        "offers": 61
      },
      {
        "provider": "JamboSIM",
        "validity_days": 15,
        "index": 100.6,
        "offers": 61
      },
      {
        "provider": "JamboSIM",
        "validity_days": 30,
        "index": 98.0,
        "offers": 60
      },
      {
        "provider": "Jetpac",
        "validity_days": 7,
        "index": 97.3,
        "offers": 58
      },
      {
        "provider": "Jetpac",
        "validity_days": 15,
        "index": 98.8,
        "offers": 76
      },
      {
        "provider": "Jetpac",
        "validity_days": 30,
        "index": 98.9,
        "offers": 78
      },
      {
        "provider": "Maya Mobile",
        "validity_days": 7,
        "index": 99.1,
        "offers": 44
      },
      {
        "provider": "Maya Mobile",
        "validity_days": 15,
        "index": 97.4,
        "offers": 58
      },
      {
        "provider": "Maya Mobile",
        "validity_days": 30,
        "index": 102.5,
        "offers": 50
      },
      {
        "provider": "Nomad",
        "validity_days": 7,
        "index": 99.9,
        "offers": 111
      },
      {
        "provider": "Nomad",
        "validity_days": 15,
        "index": 98.4,
        "offers": 91
      },
      {
        "provider": "Nomad",
        "validity_days": 30,
        "index": 100.8,
        "offers": 110
      },
      {
        "provider": "Roamic",
        "validity_days": 7,
        "index": 101.4,
        "offers": 43
      },
      {
        "provider": "Roamic",
        "validity_days": 15,
        "index": 101.8,
        "offers": 29
      },
      {
        "provider": "Roamic",
        "validity_days": 30,
        "index": 101.9,
        "offers": 50
      },
      {
        "provider": "Saily",
        "validity_days": 7,
        "index": 98.7,
        "offers": 134
      },
      {
        "provider": "Saily",
        "validity_days": 15,
        "index": 101.1,
        "offers": 134
      },
      {
        "provider": "Saily",
        "validity_days": 30,
        "index": 102.5,
        "offers": 114
      },
      {
        "provider": "Truphone",
        "validity_days": 7,
        "index": 99.4,
        "offers": 77
      },
      {
        "provider": "Truphone",
        "validity_days": 15,
        "index": 98.4,
        "offers": 58
      },
      {
        "provider": "Truphone",
        "validity_days": 30,
        "index": 100.4,
        "offers": 67
      },
      {
        "provider": "Ubigi",
        "validity_days": 7,
        "index": 101.5,
        "offers": 199
      },
      {
        "provider": "Ubigi",
        "validity_days": 15,
        "index": 99.2,
        "offers": 193
      },
      {
        "provider": "Ubigi",
        "validity_days": 30,
        "index": 98.5,
        "offers": 170
      },
      {
        "provider": "Yatelo",
        "validity_days": 7,
        "index": 99.0,
        "offers": 51
      },
      {
        "provider": "Yatelo",
        "validity_days": 15,
        "index": 99.1,
        "offers": 54
      },
      {
        "provider": "Yatelo",
        "validity_days": 30,
        "index": 101.4,
        "offers": 57
      },
      {
        "provider": "Yesim",
        "validity_days": 7,
        "index": 97.5,
        "offers": 75
      },
      {
        "provider": "Yesim",
        "validity_days": 15,
        "index": 103.3,
        "offers": 72
      },
      {
        "provider": "Yesim",
        "validity_days": 30,
        "index": 101.4,
        "offers": 75
      },
      {
        "provider": "aloSIM",
        "validity_days": 7,
        "index": 99.5,
        "offers": 85
      },
      {
        "provider": "aloSIM",
        "validity_days": 15,
        "index": 102.5,
        "offers": 81
      },
      {
        "provider": "aloSIM",
        "validity_days": 30,
        "index": 101.4,
        "offers": 96
      },
      {
        "provider": "eSIMX",
        "validity_days": 7,
        "index": 99.2,
        "offers": 145
      },
      {
        "provider": "eSIMX",
        "validity_days": 15,
        "index": 101.2,
        "offers": 137
      },
      {
        "provider": "eSIMX",
        "validity_days": 30,
        "index": 98.7,
        "offers": 150
      }
    ]
  },
  "pricing": {
    "power_law": {
      "coef": 6.3831,
      "exponent": 0.5524,
      "doubling_factor": 1.4666,
      "r2": 0.935,
      "offers": 4403
    },
    "histogram": {
      "bin_width": 5,
      "bins": [
        {
          "from": 0.0,
          "to": 5.0,
          "offers": 0
        },
        {
          "from": 5.0,
          "to": 10.0,
          "offers": 887
        },
        {
          "from": 10.0,
          "to": 15.0,
          "offers": 1025
        },
        {
          "from": 15.0,
          "to": 20.0,
          "offers": 580
        },
        {
          "from": 20.0,
          "to": 25.0,
          "offers": 311
        },
        {
          "from": 25.0,
          "to": 30.0,
          "offers": 368
        },
        {
          "from": 30.0,
          "to": 35.0,
          "offers": 391
        },
        {
          "from": 35.0,
          "to": 40.0,
          "offers": 251
        },
        {
          "from": 40.0,
          "to": 45.0,
          "offers": 44
        },
        {
          "from": 45.0,
          "to": 50.0,
          "offers": 236
        },
        {
          "from": 50.0,
          "to": 55.0,
          "offers": 260
        },
        {
          "from": 55.0,
          "to": 60.0,
          "offers": 112
        },
        {
          "from": 60.0,
          "to": 65.0,
          "offers": 108
        },
        {
          "from": 65.0,
          "to": 70.0,
          "offers": 97
        },
        {
          "from": 70.0,
          "to": 75.0,
          "offers": 120
        },
        {
          "from": 75.0,
          "to": 80.0,
          "offers": 80
        },
        {
          "from": 80.0,
          "to": 85.0,
          "offers": 66
        },
        {
          "from": 85.0,
          "to": 90.0,
          "offers": 28
        },
        {
          "from": 90.0,
          "to": 95.0,
          "offers": 18
        },
        {
          "from": 95.0,
          "to": 100.0,
          "offers": 18
        },
        {
          "from": 100.0,
          "to": 105.0,
          "offers": 12
        },
        {
          "from": 105.0,
          "to": 110.0,
          "offers": 5
        },
        {
          "from": 110.0,
          "to": 115.0,
          "offers": 3
        },
        {
          "from": 115.0,
          "to": 120.0,
          "offers": 1
        },
        {
          "from": 120.0,
          "to": 125.0,
          "offers": 2
        },
        {
          "from": 125.0,
          "to": 130.0,
          "offers": 9
        },
        {
          "from": 130.0,
          "to": 135.0,
          "offers": 5
        },
        {
          "from": 135.0,
          "to": 140.0,
          "offers": 6
        },
        {
          "from": 140.0,
          "to": 145.0,
          "offers": 8
        },
        {
          "from": 145.0,
          "to": 150.0,
          "offers": 2
        },
        {
          "from": 150.0,
          "to": 155.0,
          "offers": 3
        }
      ]
    },
    "price_per_gb": 1.6995,
    "price_per_gb_median_of_ratios": 2.55,
    "price_per_gb_mean_of_ratios": 3.1724,
    "by_data_tier": [
      {
        "data_gb": 1.0,
        "offers": 728,
        "price_per_gb": 7.0786,
        "mean_price": 7.0786
      },
      {
        "data_gb": 3.0,
        "offers": 751,
        "price_per_gb": 3.827,
        "mean_price": 11.481
      },
      {
        "data_gb": 5.0,
        "offers": 767,
        "price_per_gb": 2.9614,
        "mean_price": 14.8072
      },
      {
        "data_gb": 10.0,
        "offers": 709,
        "price_per_gb": 2.203,
        "mean_price": 22.0299
      },
      {
        "data_gb": 20.0,
        "offers": 750,
        "price_per_gb": 1.6747,
        "mean_price": 33.4935
      },
      {
        "data_gb": 50.0,
        "offers": 698,
        "price_per_gb": 1.2197,
        "mean_price": 60.9847
      }
    ],
    "by_validity": [
      {
        "validity_days": 7,
        "offers": 1679,
        "mean_price": 22.8981
      },
      {
        "validity_days": 15,
        "offers": 1667,
        "mean_price": 27.3358
      },
      {
        "validity_days": 30,
        "offers": 1710,
        "mean_price": 37.5043
      }
    ]
  },
  "distributions": {
    "network": [
      {
        "value": "4G",
        "offers": 3302,
        "share": 0.6531,
        "mean_price": 27.2217
      },
      {
        "value": "5G",
        "offers": 1754,
        "share": 0.3469,
        "mean_price": 33.2161
      }
    ],
    "network_like_for_like_5g_vs_4g": 1.0092,
    "top_up": [
      {
        "value": "oui",
        "offers": 2738,
        "share": 0.5415,
        "mean_price": 29.0564
      },
      {
        "value": "non",
        "offers": 2318,
        "share": 0.4585,
        "mean_price": 29.5904
      }
    ],
    "top_up_like_for_like_yes_vs_no": 1.0023,
    "validity": [
      {
        "validity_days": 7,
        "offers": 1679,
        "share": 0.3321
      },
      {
        "validity_days": 15,
        "offers": 1667,
        "share": 0.3297
      },
      {
        "validity_days": 30,
        "offers": 1710,
        "share": 0.3382
      }
    ],
    "data_tiers": [
      {
        "label": "1 Go",
        "offers": 728
      },
      {
        "label": "3 Go",
        "offers": 751
      },
      {
        "label": "5 Go",
        "offers": 767
      },
      {
        "label": "10 Go",
        "offers": 709
      },
      {
        "label": "20 Go",
        "offers": 750
      },
      {
        "label": "50 Go",
        "offers": 698
      },
      {
        "label": "Illimité",
        "offers": 653
      }
    ]
  },
  "coverage": {
    "countries_count": 50,
    "regions_count": 4,
    "top_countries": [
      {
        "code": "ID",
        "name": "Indonésie",
        "offers": 104,
        "providers": 18,
        "min_price": 5.38
      },
      {
        "code": "SA",
        "name": "Arabie saoudite",
        "offers": 102,
        "providers": 18,
        "min_price": 5.52
      },
      {
        "code": "SG",
        "name": "Singapour",
        "offers": 99,
        "providers": 16,
        "min_price": 5.47
      },
      {
        "code": "EG",
        "name": "Égypte",
        "offers": 98,
        "providers": 18,
        "min_price": 5.38
      },
      {
        "code": "US",
        "name": "États-Unis",
        "offers": 98,
        "providers": 17,
        "min_price": 5.37
      },
      {
        "code": "BE",
        "name": "Belgique",
        "offers": 96,
        "providers": 18,
        "min_price": 5.38
      },
      {
        "code": "KE",
        "name": "Kenya",
        "offers": 96,
        "providers": 18,
        "min_price": 5.39
      },
      {
        "code": "CO",
        "name": "Colombie",
        "offers": 95,
        "providers": 18,
        "min_price": 5.36
      },
      {
        "code": "NL",
        "name": "Pays-Bas",
        "offers": 93,
        "providers": 18,
        "min_price": 5.52
      },
      {
        "code": "TR",
        "name": "Turquie",
        "offers": 93,
        "providers": 18,
        "min_price": 5.48
      }
    ],
    "regions": [
      {
        "code": "EU",
        "name": "Europe",
        "offers": 206,
        "providers": 18,
        "min_price": 7.52
      },
      {
        "code": "AS",
        "name": "Asie",
        "offers": 194,
        "providers": 18,
        "min_price": 7.49
      },
      {
        "code": "NA",
        "name": "Amérique du Nord",
        "offers": 192,
        "providers": 18,
        "min_price": 7.6
      },
      {
        "code": "WW",
        "name": "Monde",
        "offers": 186,
        "providers": 18,
        "min_price": 7.91
      }
    ],
    "region_codes_note": {
      "EU": "Europe",
      "AS": "Asie",
      "NA": "Amérique du Nord",
      "WW": "Monde"
    },
    "countries_price_per_gb": [
      {
        "code": "ZA",
        "name": "Afrique du Sud",
        "iso_numeric": "710",
        "offers": 82,
        "price_per_gb": 1.6841
      },
      {
        "code": "DE",
        "name": "Allemagne",
        "iso_numeric": "276",
        "offers": 87,
        "price_per_gb": 1.6306
      },
      {
        "code": "SA",
        "name": "Arabie saoudite",
        "iso_numeric": "682",
        "offers": 102,
        "price_per_gb": 1.6028
      },
      {
        "code": "AR",
        "name": "Argentine",
        "iso_numeric": "032",
        "offers": 73,
        "price_per_gb": 1.5714
      },
      {
        "code": "AU",
        "name": "Australie",
        "iso_numeric": "036",
        "offers": 78,
        "price_per_gb": 1.4455
      },
      {
        "code": "AT",
        "name": "Autriche",
        "iso_numeric": "040",
        "offers": 86,
        "price_per_gb": 1.603
      },
      {
        "code": "BE",
        "name": "Belgique",
        "iso_numeric": "056",
        "offers": 96,
        "price_per_gb": 1.6042
      },
      {
        "code": "BR",
        "name": "Brésil",
        "iso_numeric": "076",
        "offers": 63,
        "price_per_gb": 1.5397
      },
      {
        "code": "CA",
        "name": "Canada",
        "iso_numeric": "124",
        "offers": 70,
        "price_per_gb": 1.7181
      },
      {
        "code": "CL",
        "name": "Chili",
        "iso_numeric": "152",
        "offers": 76,
        "price_per_gb": 1.6673
      },
      {
        "code": "CN",
        "name": "Chine",
        "iso_numeric": "156",
        "offers": 88,
        "price_per_gb": 1.6389
      },
      {
        "code": "CO",
        "name": "Colombie",
        "iso_numeric": "170",
        "offers": 95,
        "price_per_gb": 1.5329
      },
      {
        "code": "KR",
        "name": "Corée du Sud",
        "iso_numeric": "410",
        "offers": 86,
        "price_per_gb": 1.622
      },
      {
        "code": "HR",
        "name": "Croatie",
        "iso_numeric": "191",
        "offers": 90,
        "price_per_gb": 1.5115
      },
      {
        "code": "ES",
        "name": "Espagne",
        "iso_numeric": "724",
        "offers": 88,
        "price_per_gb": 1.6478
      },
      {
        "code": "FR",
        "name": "France",
        "iso_numeric": "250",
        "offers": 85,
        "price_per_gb": 1.6389
      },
      {
        "code": "GR",
        "name": "Grèce",
        "iso_numeric": "300",
        "offers": 83,
        "price_per_gb": 1.7516
      },
      {
        "code": "IN",
        "name": "Inde",
        "iso_numeric": "356",
        "offers": 82,
        "price_per_gb": 1.48
      },
      {
        "code": "ID",
        "name": "Indonésie",
        "iso_numeric": "360",
        "offers": 104,
        "price_per_gb": 1.6097
      },
      {
        "code": "IE",
        "name": "Irlande",
        "iso_numeric": "372",
        "offers": 87,
        "price_per_gb": 1.7265
      },
      {
        "code": "IL",
        "name": "Israël",
        "iso_numeric": "376",
        "offers": 76,
        "price_per_gb": 1.5556
      },
      {
        "code": "IT",
        "name": "Italie",
        "iso_numeric": "380",
        "offers": 84,
        "price_per_gb": 1.6432
      },
      {
        "code": "JP",
        "name": "Japon",
        "iso_numeric": "392",
        "offers": 83,
        "price_per_gb": 1.8031
      },
      {
        "code": "JO",
        "name": "Jordanie",
        "iso_numeric": "400",
        "offers": 76,
        "price_per_gb": 1.4847
      },
      {
        "code": "KE",
        "name": "Kenya",
        "iso_numeric": "404",
        "offers": 96,
        "price_per_gb": 1.5932
      },
      {
        "code": "MY",
        "name": "Malaisie",
        "iso_numeric": "458",
        "offers": 83,
        "price_per_gb": 1.5724
      },
      {
        "code": "MA",
        "name": "Maroc",
        "iso_numeric": "504",
        "offers": 80,
        "price_per_gb": 1.5267
      },
      {
        "code": "MX",
        "name": "Mexique",
        "iso_numeric": "484",
        "offers": 84,
        "price_per_gb": 1.5167
      },
      {
        "code": "NG",
        "name": "Nigeria",
        "iso_numeric": "566",
        "offers": 78,
        "price_per_gb": 1.8294
      },
      {
        "code": "NO",
        "name": "Norvège",
        "iso_numeric": "578",
        "offers": 89,
        "price_per_gb": 1.6073
      },
      {
        "code": "NZ",
        "name": "Nouvelle-Zélande",
        "iso_numeric": "554",
        "offers": 86,
        "price_per_gb": 1.6363
      },
      {
        "code": "NL",
        "name": "Pays-Bas",
        "iso_numeric": "528",
        "offers": 93,
        "price_per_gb": 1.6274
      },
      {
        "code": "PH",
        "name": "Philippines",
        "iso_numeric": "608",
        "offers": 92,
        "price_per_gb": 1.5968
      },
      {
        "code": "PL",
        "name": "Pologne",
        "iso_numeric": "616",
        "offers": 88,
        "price_per_gb": 1.6389
      },
      {
        "code": "PT",
        "name": "Portugal",
        "iso_numeric": "620",
        "offers": 89,
        "price_per_gb": 1.6024
      },
      {
        "code": "PE",
        "name": "Pérou",
        "iso_numeric": "604",
        "offers": 89,
        "price_per_gb": 1.6387
      },
      {
        "code": "QA",
        "name": "Qatar",
        "iso_numeric": "634",
        "offers": 89,
        "price_per_gb": 1.6106
      },
      {
        "code": "GB",
        "name": "Royaume-Uni",
        "iso_numeric": "826",
        "offers": 76,
        "price_per_gb": 1.5867
      },
      {
        "code": "DO",
        "name": "Rép. dominicaine",
        "iso_numeric": "214",
        "offers": 92,
        "price_per_gb": 1.7325
      },
      {
        "code": "SG",
        "name": "Singapour",
        "iso_numeric": "702",
        "offers": 99,
        "price_per_gb": 1.6467
      },
      {
        "code": "CH",
        "name": "Suisse",
        "iso_numeric": "756",
        "offers": 80,
        "price_per_gb": 1.5022
      },
      {
        "code": "SE",
        "name": "Suède",
        "iso_numeric": "752",
        "offers": 80,
        "price_per_gb": 1.6848
      },
      {
        "code": "TZ",
        "name": "Tanzanie",
        "iso_numeric": "834",
        "offers": 91,
        "price_per_gb": 1.4544
      },
      {
        "code": "CZ",
        "name": "Tchéquie",
        "iso_numeric": "203",
        "offers": 66,
        "price_per_gb": 1.501
      },
      {
        "code": "TH",
        "name": "Thaïlande",
        "iso_numeric": "764",
        "offers": 87,
        "price_per_gb": 1.7587
      },
      {
        "code": "TR",
        "name": "Turquie",
        "iso_numeric": "792",
        "offers": 93,
        "price_per_gb": 1.6011
      },
      {
        "code": "VN",
        "name": "Vietnam",
        "iso_numeric": "704",
        "offers": 86,
        "price_per_gb": 1.6043
      },
      {
        "code": "EG",
        "name": "Égypte",
        "iso_numeric": "818",
        "offers": 98,
        "price_per_gb": 1.6003
      },
      {
        "code": "AE",
        "name": "Émirats arabes unis",
        "iso_numeric": "784",
        "offers": 76,
        "price_per_gb": 1.6287
      },
      {
        "code": "US",
        "name": "États-Unis",
        "iso_numeric": "840",
        "offers": 98,
        "price_per_gb": 1.6258
      }
    ],
    "zones": [
      {
        "code": "EU",
        "name": "Europe",
        "countries": [
          "AT",
          "BE",
          "CH",
          "CZ",
          "DE",
          "ES",
          "FR",
          "GB",
          "GR",
          "HR",
          "IE",
          "IT",
          "NL",
          "NO",
          "PL",
          "PT",
          "SE"
        ]
      },
      {
        "code": "AS",
        "name": "Asie",
        "countries": [
          "CN",
          "ID",
          "IN",
          "JP",
          "KR",
          "MY",
          "PH",
          "SG",
          "TH",
          "VN"
        ]
      },
      {
        "code": "NA",
        "name": "Amérique du Nord",
        "countries": [
          "CA",
          "MX",
          "US"
        ]
      },
      {
        "code": "WW",
        "name": "Monde",
        "countries": "*"
      }
    ]
  },
  "insights": [
    {
      "id": "expensive_all_unlimited",
      "highlight": true,
      "title": "Les 56 produits à plus de 100 € sont tous des forfaits illimités",
      "text": "Tous sur 30 jours. Le forfait à volume limité le plus cher coûte 99,39 € : au-delà de 100 €, on ne trouve que de l'illimité.",
      "values": {
        "count": 56,
        "max_price_limited": 99.39
      }
    },
    {
      "id": "volume_discount",
      "highlight": false,
      "title": "Le prix au Go baisse fortement avec le volume",
      "text": "7,08 €/Go pour les forfaits de 1 Go, contre 1,22 €/Go pour ceux de 50 Go, soit 5,8 fois moins cher.",
      "values": {
        "from_gb": 1.0,
        "from": 7.0786,
        "to_gb": 50.0,
        "to": 1.2197
      }
    },
    {
      "id": "power_law",
      "highlight": false,
      "title": "Doubler le volume ne double pas le prix",
      "text": "Le prix suit une loi de puissance du volume, d'exposant 0,55 (ajustement R² = 0,94) : quand le volume double, le prix n'est multiplié que par 1,47 (+47 %).",
      "values": {
        "coef": 6.3831,
        "exponent": 0.5524,
        "doubling_factor": 1.4666,
        "r2": 0.935,
        "offers": 4403
      }
    },
    {
      "id": "5g_premium",
      "highlight": false,
      "title": "À offre égale, la 5G coûte presque le même prix que la 4G",
      "text": "En moyenne brute, la 5G paraît 22 % plus chère. Mais à volume et durée égaux, l'écart n'est que de +0,9 % : la différence brute vient surtout de ce que les offres 5G comptent davantage de gros forfaits.",
      "values": {
        "raw": 0.2202,
        "like_for_like": 0.0092
      }
    },
    {
      "id": "cheapest_provider",
      "highlight": false,
      "title": "Moins chers au Go : Ubigi, GigSky et Yatelo, quasiment à égalité",
      "text": "Ubigi (1,627 €/Go), GigSky (1,632 €/Go) et Yatelo (1,633 €/Go) sont quasiment à égalité en tête : moins de 1 % d'écart entre eux. Le plus cher au Go est 4S eSIM (1,88 €/Go). À volume et durée égaux, tous les fournisseurs ont un indice de prix entre 98,4 et 101,9 (100 = prix moyen du marché) : l'écart au Go vient surtout de la part de gros forfaits dans leur catalogue, pas de tarifs différents.",
      "values": {
        "top": [
          {
            "provider": "Ubigi",
            "price_per_gb": 1.6266
          },
          {
            "provider": "GigSky",
            "price_per_gb": 1.6324
          },
          {
            "provider": "Yatelo",
            "price_per_gb": 1.6333
          }
        ],
        "tied": true,
        "worst": "4S eSIM",
        "best_by_index": "Jetpac",
        "index_min": 98.4,
        "index_max": 101.9
      }
    }
  ],
  "meta": {
    "generated_at": "2026-10-19T12:49:45+02:00",
    "files_count": 18,
    "providers_count": 18
  },
  "provider_pages": {
    "4S eSIM": "fournisseurs/4s-esim.html",
    "Airalo": "fournisseurs/airalo.html",
    "Flexiroam": "fournisseurs/flexiroam.html",
    "GigSky": "fournisseurs/gigsky.html",
    "Holafly": "fournisseurs/holafly.html",
    "Instabridge": "fournisseurs/instabridge.html",
    "JamboSIM": "fournisseurs/jambosim.html",
    "Jetpac": "fournisseurs/jetpac.html",
    "Maya Mobile": "fournisseurs/maya-mobile.html",
    "Nomad": "fournisseurs/nomad.html",
    "Roamic": "fournisseurs/roamic.html",
    "Saily": "fournisseurs/saily.html",
    "Truphone": "fournisseurs/truphone.html",
    "Ubigi": "fournisseurs/ubigi.html",
    "Yatelo": "fournisseurs/yatelo.html",
    "Yesim": "fournisseurs/yesim.html",
    "aloSIM": "fournisseurs/alosim.html",
    "eSIMX": "fournisseurs/esimx.html"
  },
  "anomalies": {
    "errors": 0,
    "warnings": 0,
    "rows_read": 5056,
    "rows_excluded": 0,
    "by_rule": [],
    "checks": [
      {
        "rule": "fichier_vide",
        "severity": "erreur",
        "label": "Fichier vide",
        "count": 0
      },
      {
        "rule": "fichier_illisible",
        "severity": "erreur",
        "label": "Fichier illisible (encodage, format)",
        "count": 0
      },
      {
        "rule": "colonnes_manquantes",
        "severity": "erreur",
        "label": "Colonnes obligatoires manquantes",
        "count": 0
      },
      {
        "rule": "colonnes_en_trop",
        "severity": "avertissement",
        "label": "Colonnes inconnues (ignorées)",
        "count": 0
      },
      {
        "rule": "fichier_sans_ligne",
        "severity": "avertissement",
        "label": "Fichier sans aucune offre",
        "count": 0
      },
      {
        "rule": "champ_vide",
        "severity": "erreur",
        "label": "Champ obligatoire vide",
        "count": 0
      },
      {
        "rule": "prix_illisible",
        "severity": "erreur",
        "label": "Prix illisible",
        "count": 0
      },
      {
        "rule": "prix_non_positif",
        "severity": "erreur",
        "label": "Prix nul ou négatif",
        "count": 0
      },
      {
        "rule": "devise",
        "severity": "erreur",
        "label": "Devise autre que EUR",
        "count": 0
      },
      {
        "rule": "duree_invalide",
        "severity": "erreur",
        "label": "Durée de validité invalide",
        "count": 0
      },
      {
        "rule": "data_manquante",
        "severity": "erreur",
        "label": "Volume de data manquant (hors illimité)",
        "count": 0
      },
      {
        "rule": "data_invalide",
        "severity": "erreur",
        "label": "Volume de data invalide",
        "count": 0
      },
      {
        "rule": "sku_duplique",
        "severity": "erreur",
        "label": "SKU en double",
        "count": 0
      },
      {
        "rule": "virgule_decimale",
        "severity": "avertissement",
        "label": "Virgule décimale convertie",
        "count": 0
      },
      {
        "rule": "data_incoherente",
        "severity": "avertissement",
        "label": "data_gb incohérent avec data_display",
        "count": 0
      },
      {
        "rule": "reseau_inconnu",
        "severity": "avertissement",
        "label": "Réseau autre que 4G/5G",
        "count": 0
      },
      {
        "rule": "recharge_inconnue",
        "severity": "avertissement",
        "label": "Recharge autre que oui/non",
        "count": 0
      },
      {
        "rule": "code_pays",
        "severity": "avertissement",
        "label": "Code pays mal formé",
        "count": 0
      },
      {
        "rule": "doublon_probable",
        "severity": "avertissement",
        "label": "Offre identique sous un autre SKU",
        "count": 0
      },
      {
        "rule": "prix_aberrant",
        "severity": "avertissement",
        "label": "Prix aberrant par rapport aux offres comparables",
        "count": 0
      }
    ],
    "details": [],
    "files": [
      {
        "file": "4sesim.csv",
        "rows": 92,
        "status": "ok"
      },
      {
        "file": "airalo.csv",
        "rows": 722,
        "status": "ok"
      },
      {
        "file": "alosim.csv",
        "rows": 262,
        "status": "ok"
      },
      {
        "file": "esimx.csv",
        "rows": 432,
        "status": "ok"
      },
      {
        "file": "flexiroam.csv",
        "rows": 172,
        "status": "ok"
      },
      {
        "file": "gigsky.csv",
        "rows": 342,
        "status": "ok"
      },
      {
        "file": "holafly.csv",
        "rows": 242,
        "status": "ok"
      },
      {
        "file": "instabridge.csv",
        "rows": 282,
        "status": "ok"
      },
      {
        "file": "jambosim.csv",
        "rows": 182,
        "status": "ok"
      },
      {
        "file": "jetpac.csv",
        "rows": 212,
        "status": "ok"
      },
      {
        "file": "maya.csv",
        "rows": 152,
        "status": "ok"
      },
      {
        "file": "nomad.csv",
        "rows": 312,
        "status": "ok"
      },
      {
        "file": "roamic.csv",
        "rows": 122,
        "status": "ok"
      },
      {
        "file": "saily.csv",
        "rows": 382,
        "status": "ok"
      },
      {
        "file": "truphone.csv",
        "rows": 202,
        "status": "ok"
      },
      {
        "file": "ubigi.csv",
        "rows": 562,
        "status": "ok"
      },
      {
        "file": "yatelo.csv",
        "rows": 162,
        "status": "ok"
      },
      {
        "file": "yesim.csv",
        "rows": 222,
        "status": "ok"
      }
    ]
  }
}
