{
  "name": "HappyChef Datahub",
  "publisher": "HappyChef",
  "url": "https://happychef.cloud/datahub/",
  "published": "2026-10-13",
  "scope": "Aggregates over Belgian restaurants that use HappyChef. Every figure combines at least 5 restaurants and 1,000 datapoints; no figure identifies a guest or a restaurant.",
  "metrics": {
    "age_groups": {
      "datapoints": 2414,
      "method": "Age bands of guests who voluntarily shared a date of birth (for birthday offers). Only bands are published; the birth dates are not. Self-selected: guests who share a birthday are not a random sample. Restaurant-weighted.",
      "period": "guest files as of 12 October 2026",
      "restaurants": 26,
      "table": [
        {
          "age_group": "16–24",
          "datapoints": 103,
          "share_pooled": 0.0426677713,
          "share_restaurant_weighted": 0.0384002006
        },
        {
          "age_group": "25–34",
          "datapoints": 353,
          "share_pooled": 0.1462303231,
          "share_restaurant_weighted": 0.1500835848
        },
        {
          "age_group": "35–44",
          "datapoints": 470,
          "share_pooled": 0.1946975973,
          "share_restaurant_weighted": 0.17833659
        },
        {
          "age_group": "45–54",
          "datapoints": 565,
          "share_pooled": 0.234051367,
          "share_restaurant_weighted": 0.2285345632
        },
        {
          "age_group": "55–64",
          "datapoints": 542,
          "share_pooled": 0.2245236123,
          "share_restaurant_weighted": 0.2375172934
        },
        {
          "age_group": "65+",
          "datapoints": 381,
          "share_pooled": 0.1578293289,
          "share_restaurant_weighted": 0.1671277681
        }
      ],
      "value": {
        "median_age": 50,
        "top": "55–64",
        "top_v": 23.8
      }
    },
    "allergy_share_all": {
      "datapoints": 27568,
      "method": "Share of ALL online reservations whose remark mentions an allergy or intolerance (keyword match, nl/fr/en), restaurant-weighted.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 40,
      "table": null,
      "value": {
        "rw": 4
      }
    },
    "best_course": {
      "datapoints": 1215,
      "method": "Answer to “Which course did you like best?” (optional). Restaurant-weighted shares among guests who answered.",
      "period": "reviews submitted 1 January 2025 – 30 September 2026",
      "restaurants": 19,
      "table": [
        {
          "best": "hoofdgerecht",
          "datapoints": 774,
          "share_pooled": 0.637037037,
          "share_restaurant_weighted": 0.7141694017
        },
        {
          "best": "voorgerecht",
          "datapoints": 384,
          "share_pooled": 0.3160493827,
          "share_restaurant_weighted": 0.2452713293
        },
        {
          "best": "nagerecht",
          "datapoints": 57,
          "share_pooled": 0.0469135802,
          "share_restaurant_weighted": 0.040559269
        }
      ],
      "value": {
        "hoofdgerecht": 71.4,
        "nagerecht": 4.1,
        "voorgerecht": 24.5
      }
    },
    "booking_conversion": {
      "datapoints": 99634,
      "method": "Conversion = completed online reservations ÷ booking sessions opened, per restaurant per entry point (≥100 sessions), averaged. A session opened on the restaurant’s website widget vs on the HappyChef booking page.",
      "period": "booking sessions 2026-08-12 – 2026-10-13",
      "restaurants": 39,
      "table": [
        {
          "conversion_restaurant_weighted": 0.1864,
          "reservations": 5361,
          "restaurants": 32,
          "sessions": 32312,
          "source": "booking-page"
        },
        {
          "conversion_restaurant_weighted": 0.0382,
          "reservations": 2930,
          "restaurants": 20,
          "sessions": 66943,
          "source": "widget"
        }
      ],
      "value": {
        "booking-page": 18.6,
        "overall": 14.4,
        "widget": 3.8
      }
    },
    "cancel_by_channel": {
      "datapoints": 50030,
      "method": "Cancellation rate per booking channel, within each restaurant (cells ≥20 reservations), averaged across restaurants.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 44,
      "table": [
        {
          "cancellation_rate": 0.1061,
          "ch": "Online by guest"
        },
        {
          "cancellation_rate": 0.0709,
          "ch": "Entered by restaurant"
        }
      ],
      "value": {
        "Entered by restaurant": 7.1,
        "Online by guest": 10.6
      }
    },
    "cancel_by_dow": {
      "datapoints": 50030,
      "method": "Cancellation rate per visit weekday, within each restaurant (cells ≥20 reservations), averaged across restaurants.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 44,
      "table": [
        {
          "cancellation_rate": 0.0625,
          "dow": "Monday"
        },
        {
          "cancellation_rate": 0.0597,
          "dow": "Tuesday"
        },
        {
          "cancellation_rate": 0.0547,
          "dow": "Wednesday"
        },
        {
          "cancellation_rate": 0.0811,
          "dow": "Thursday"
        },
        {
          "cancellation_rate": 0.0693,
          "dow": "Friday"
        },
        {
          "cancellation_rate": 0.0693,
          "dow": "Saturday"
        },
        {
          "cancellation_rate": 0.0735,
          "dow": "Sunday"
        }
      ],
      "value": {
        "Friday": 6.9,
        "Monday": 6.2,
        "Saturday": 6.9,
        "Sunday": 7.3,
        "Thursday": 8.1,
        "Tuesday": 6,
        "Wednesday": 5.5
      }
    },
    "cancel_by_party": {
      "datapoints": 50030,
      "method": "Cancellation rate per party size, within each restaurant (cells ≥20 reservations), averaged across restaurants.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 44,
      "table": [
        {
          "cancellation_rate": 0.0849,
          "psize": "1–2"
        },
        {
          "cancellation_rate": 0.0655,
          "psize": "3–4"
        },
        {
          "cancellation_rate": 0.0666,
          "psize": "5–6"
        },
        {
          "cancellation_rate": 0.0705,
          "psize": "7–8"
        },
        {
          "cancellation_rate": 0.0868,
          "psize": "9+"
        }
      ],
      "value": {
        "1–2": 8.5,
        "3–4": 6.6,
        "5–6": 6.7,
        "7–8": 7,
        "9+": 8.7
      }
    },
    "cancel_rate": {
      "datapoints": 49605,
      "method": "Cancelled = a reservation removed before the visit (by the guest through their confirmation link, or by the restaurant in the dashboard). Rate = cancelled ÷ (cancelled + kept) per restaurant (≥100 reservations), averaged. Timing = hours between cancellation and the reserved start time, restaurant-weighted.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 35,
      "table": [
        {
          "datapoints": 297,
          "share_pooled": 0.0871223233,
          "share_restaurant_weighted": 0.0500825843,
          "when": "After start time"
        },
        {
          "datapoints": 1085,
          "share_pooled": 0.318275154,
          "share_restaurant_weighted": 0.3525783464,
          "when": "Less than 24 h before"
        },
        {
          "datapoints": 665,
          "share_pooled": 0.1950718686,
          "share_restaurant_weighted": 0.2092043637,
          "when": "1–3 days before"
        },
        {
          "datapoints": 488,
          "share_pooled": 0.143150484,
          "share_restaurant_weighted": 0.1533560274,
          "when": "3–7 days before"
        },
        {
          "datapoints": 632,
          "share_pooled": 0.1853916104,
          "share_restaurant_weighted": 0.180120579,
          "when": "1–4 weeks before"
        },
        {
          "datapoints": 242,
          "share_pooled": 0.0709885597,
          "share_restaurant_weighted": 0.0546580993,
          "when": "More than 4 weeks before"
        }
      ],
      "value": {
        "rw": 7,
        "within24": 40.3
      }
    },
    "children": {
      "datapoints": 26835,
      "method": "Share of reservations that list at least one child or baby, only counting reservations from booking forms that ask for children. Each restaurant’s own distribution is computed first, then averaged with equal weight per restaurant (restaurant-weighted), so a busy restaurant or a newly onboarded one cannot dominate. Restaurants with fewer than 30 reservations in the period are left out.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 34,
      "table": [
        {
          "share_with_children": 0.0409,
          "weekday": "Monday"
        },
        {
          "share_with_children": 0.0337,
          "weekday": "Tuesday"
        },
        {
          "share_with_children": 0.024,
          "weekday": "Wednesday"
        },
        {
          "share_with_children": 0.0298,
          "weekday": "Thursday"
        },
        {
          "share_with_children": 0.0413,
          "weekday": "Friday"
        },
        {
          "share_with_children": 0.061,
          "weekday": "Saturday"
        },
        {
          "share_with_children": 0.076,
          "weekday": "Sunday"
        }
      ],
      "value": {
        "adults_dinner_start": "18:52",
        "avg_party_kids": 5.2,
        "dinner": 4.5,
        "kids_dinner_start": "18:39",
        "lunch": 3.6,
        "share": 4.8,
        "top_dow": "Sunday",
        "top_dow_v": 7.6
      }
    },
    "closed_days": {
      "datapoints": 46441,
      "method": "A restaurant counts as usually closed on a weekday when fewer than 20% of those weekdays in the period carry any reservation. Inferred from reservations, not from opening-hours settings.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 31,
      "table": [
        {
          "share_of_restaurants_usually_closed": 0.581,
          "weekday": "Monday"
        },
        {
          "share_of_restaurants_usually_closed": 0.484,
          "weekday": "Tuesday"
        },
        {
          "share_of_restaurants_usually_closed": 0.387,
          "weekday": "Wednesday"
        },
        {
          "share_of_restaurants_usually_closed": 0.194,
          "weekday": "Thursday"
        },
        {
          "share_of_restaurants_usually_closed": 0,
          "weekday": "Friday"
        },
        {
          "share_of_restaurants_usually_closed": 0,
          "weekday": "Saturday"
        },
        {
          "share_of_restaurants_usually_closed": 0.258,
          "weekday": "Sunday"
        }
      ],
      "value": {
        "avg_open_days": 5.1,
        "most_closed": "Monday",
        "most_closed_v": 58,
        "sat_closed": 0
      }
    },
    "complaints": {
      "datapoints": 6587,
      "method": "Optional tick-boxes in the review form (“what could be better?”). Share of review forms with any interior / food remark is restaurant-weighted; the ranking of issues is pooled.",
      "period": "reviews submitted 1 January 2025 – 30 September 2026",
      "restaurants": 38,
      "table": [
        {
          "area": "interior",
          "issue": "too_noisy",
          "mentions": 51,
          "share_of_forms": 0.0077
        },
        {
          "area": "interior",
          "issue": "not_cozy",
          "mentions": 49,
          "share_of_forms": 0.0074
        },
        {
          "area": "interior",
          "issue": "too_dark",
          "mentions": 42,
          "share_of_forms": 0.0064
        },
        {
          "area": "interior",
          "issue": "too_busy",
          "mentions": 26,
          "share_of_forms": 0.0039
        },
        {
          "area": "interior",
          "issue": "too_cold",
          "mentions": 21,
          "share_of_forms": 0.0032
        },
        {
          "area": "interior",
          "issue": "too_light",
          "mentions": 9,
          "share_of_forms": 0.0014
        },
        {
          "area": "interior",
          "issue": "too_warm",
          "mentions": 9,
          "share_of_forms": 0.0014
        },
        {
          "area": "interior",
          "issue": "too_quiet",
          "mentions": 5,
          "share_of_forms": 0.0008
        },
        {
          "area": "food",
          "issue": "not_surprising",
          "mentions": 79,
          "share_of_forms": 0.012
        },
        {
          "area": "food",
          "issue": "too_little",
          "mentions": 40,
          "share_of_forms": 0.0061
        },
        {
          "area": "food",
          "issue": "too_little_variation",
          "mentions": 23,
          "share_of_forms": 0.0035
        },
        {
          "area": "food",
          "issue": "too_salty",
          "mentions": 16,
          "share_of_forms": 0.0024
        },
        {
          "area": "food",
          "issue": "too_much",
          "mentions": 7,
          "share_of_forms": 0.0011
        },
        {
          "area": "food",
          "issue": "too_sour",
          "mentions": 6,
          "share_of_forms": 0.0009
        },
        {
          "area": "food",
          "issue": "too_sweet",
          "mentions": 4,
          "share_of_forms": 0.0006
        },
        {
          "area": "food",
          "issue": "too_special",
          "mentions": 4,
          "share_of_forms": 0.0006
        }
      ],
      "value": {
        "food_any": 2.8,
        "interior_any": 3.1,
        "top_food": "not_surprising",
        "top_interior": "too_noisy",
        "top_interior_n": 51
      }
    },
    "contact_completeness": {
      "datapoints": 46441,
      "method": "Share of reservations with a valid email address / phone number, restaurant-weighted, split by channel.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 44,
      "table": null,
      "value": {
        "email": 76,
        "email_online": 100,
        "email_staff": 18,
        "phone": 81
      }
    },
    "covers_per_day": {
      "datapoints": 46441,
      "method": "Pre-booked covers per restaurant on days with at least one reservation, by weekday, averaged across restaurants. Walk-ins are not in the data, so this counts only reserved guests.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 31,
      "table": [
        {
          "avg_reserved_covers": 22.3,
          "weekday": "Monday"
        },
        {
          "avg_reserved_covers": 21.4,
          "weekday": "Tuesday"
        },
        {
          "avg_reserved_covers": 18.7,
          "weekday": "Wednesday"
        },
        {
          "avg_reserved_covers": 25.1,
          "weekday": "Thursday"
        },
        {
          "avg_reserved_covers": 35.8,
          "weekday": "Friday"
        },
        {
          "avg_reserved_covers": 41.7,
          "weekday": "Saturday"
        },
        {
          "avg_reserved_covers": 39.3,
          "weekday": "Sunday"
        }
      ],
      "value": {
        "avg": 33,
        "low": "Wednesday",
        "low_v": 18.7,
        "sat": 41.7,
        "top": "Saturday"
      }
    },
    "day_of_month": {
      "datapoints": 46441,
      "method": "Covers on each day relative to that restaurant’s average for the same weekday (removes the weekday mix), averaged per day-of-month band, then across restaurants. 100 = normal.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 31,
      "table": [
        {
          "dom": "1–5",
          "index": 97.4
        },
        {
          "dom": "6–10",
          "index": 98.5
        },
        {
          "dom": "11–15",
          "index": 105.1
        },
        {
          "dom": "16–20",
          "index": 98.9
        },
        {
          "dom": "21–25",
          "index": 100
        },
        {
          "dom": "26–31",
          "index": 100
        }
      ],
      "value": {
        "first5": 97,
        "last": 100,
        "low": "1–5",
        "top": "11–15"
      }
    },
    "dinner_time_by_dow": {
      "datapoints": 31547,
      "method": "Average reserved dinner start time per weekday, per restaurant, averaged. Each restaurant’s own distribution is computed first, then averaged with equal weight per restaurant (restaurant-weighted), so a busy restaurant or a newly onboarded one cannot dominate. Restaurants with fewer than 30 reservations in the period are left out.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 33,
      "table": [
        {
          "avg_dinner_start": "18:34",
          "weekday": "Monday"
        },
        {
          "avg_dinner_start": "18:50",
          "weekday": "Tuesday"
        },
        {
          "avg_dinner_start": "18:46",
          "weekday": "Wednesday"
        },
        {
          "avg_dinner_start": "18:50",
          "weekday": "Thursday"
        },
        {
          "avg_dinner_start": "18:57",
          "weekday": "Friday"
        },
        {
          "avg_dinner_start": "18:54",
          "weekday": "Saturday"
        },
        {
          "avg_dinner_start": "18:30",
          "weekday": "Sunday"
        }
      ],
      "value": {
        "earliest": "Sunday",
        "earliest_t": "18:30",
        "latest": "Friday",
        "latest_t": "18:57",
        "overall": "18:52"
      }
    },
    "dow_covers": {
      "datapoints": 46020,
      "method": "Share of each restaurant’s weekly covers (guests) by weekday, averaged over restaurants (restaurant-weighted). Each restaurant’s own distribution is computed first, then averaged with equal weight per restaurant (restaurant-weighted), so a busy restaurant or a newly onboarded one cannot dominate. Restaurants with fewer than 30 reservations in the period are left out.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 35,
      "table": [
        {
          "index_vs_average_day": 33.2,
          "share_of_weekly_covers": 0.0474,
          "weekday": "Monday"
        },
        {
          "index_vs_average_day": 53.3,
          "share_of_weekly_covers": 0.0762,
          "weekday": "Tuesday"
        },
        {
          "index_vs_average_day": 50,
          "share_of_weekly_covers": 0.0714,
          "weekday": "Wednesday"
        },
        {
          "index_vs_average_day": 85.4,
          "share_of_weekly_covers": 0.1219,
          "weekday": "Thursday"
        },
        {
          "index_vs_average_day": 161.5,
          "share_of_weekly_covers": 0.2307,
          "weekday": "Friday"
        },
        {
          "index_vs_average_day": 199.5,
          "share_of_weekly_covers": 0.2849,
          "weekday": "Saturday"
        },
        {
          "index_vs_average_day": 117.2,
          "share_of_weekly_covers": 0.1674,
          "weekday": "Sunday"
        }
      ],
      "value": {
        "low": "Monday",
        "low_share": 4.7,
        "sat_vs_tue": 3.74,
        "top": "Saturday",
        "top_share": 28.5
      }
    },
    "dow_dinner": {
      "datapoints": 31453,
      "method": "Dinner covers by weekday, share per restaurant averaged across restaurants. Each restaurant’s own distribution is computed first, then averaged with equal weight per restaurant (restaurant-weighted), so a busy restaurant or a newly onboarded one cannot dominate. Restaurants with fewer than 30 reservations in the period are left out.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 36,
      "table": [
        {
          "share": 0.0403,
          "weekday": "Monday"
        },
        {
          "share": 0.0743,
          "weekday": "Tuesday"
        },
        {
          "share": 0.0636,
          "weekday": "Wednesday"
        },
        {
          "share": 0.1215,
          "weekday": "Thursday"
        },
        {
          "share": 0.2483,
          "weekday": "Friday"
        },
        {
          "share": 0.3456,
          "weekday": "Saturday"
        },
        {
          "share": 0.1064,
          "weekday": "Sunday"
        }
      ],
      "value": {
        "low": "Monday",
        "low_share": 4,
        "shares": {
          "Friday": 24.8,
          "Monday": 4,
          "Saturday": 34.6,
          "Sunday": 10.6,
          "Thursday": 12.2,
          "Tuesday": 7.4,
          "Wednesday": 6.4
        },
        "top": "Saturday",
        "top_share": 34.6
      }
    },
    "dow_lunch": {
      "datapoints": 13650,
      "method": "Lunch covers by weekday, share per restaurant averaged across restaurants. Each restaurant’s own distribution is computed first, then averaged with equal weight per restaurant (restaurant-weighted), so a busy restaurant or a newly onboarded one cannot dominate. Restaurants with fewer than 30 reservations in the period are left out.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 28,
      "table": [
        {
          "share": 0.0554,
          "weekday": "Monday"
        },
        {
          "share": 0.0781,
          "weekday": "Tuesday"
        },
        {
          "share": 0.0755,
          "weekday": "Wednesday"
        },
        {
          "share": 0.1323,
          "weekday": "Thursday"
        },
        {
          "share": 0.1912,
          "weekday": "Friday"
        },
        {
          "share": 0.1579,
          "weekday": "Saturday"
        },
        {
          "share": 0.3097,
          "weekday": "Sunday"
        }
      ],
      "value": {
        "low": "Monday",
        "low_share": 5.5,
        "shares": {
          "Friday": 19.1,
          "Monday": 5.5,
          "Saturday": 15.8,
          "Sunday": 31,
          "Thursday": 13.2,
          "Tuesday": 7.8,
          "Wednesday": 7.6
        },
        "top": "Sunday",
        "top_share": 31
      }
    },
    "email_provider": {
      "datapoints": 34307,
      "method": "Email provider of the guest, grouped into large providers; everything else is grouped as “other”. Addresses are never published. Each restaurant’s own distribution is computed first, then averaged with equal weight per restaurant (restaurant-weighted), so a busy restaurant or a newly onboarded one cannot dominate. Restaurants with fewer than 30 reservations in the period are left out.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 37,
      "table": [
        {
          "datapoints": 10939,
          "email_dom": "Gmail",
          "share_pooled": 0.3188562101,
          "share_restaurant_weighted": 0.3264228964
        },
        {
          "datapoints": 9797,
          "email_dom": "Hotmail / Outlook",
          "share_pooled": 0.2855685429,
          "share_restaurant_weighted": 0.2788524437
        },
        {
          "datapoints": 5983,
          "email_dom": "Telenet",
          "share_pooled": 0.1743958959,
          "share_restaurant_weighted": 0.1615614491
        },
        {
          "datapoints": 4085,
          "email_dom": "Other (company / own domain)",
          "share_pooled": 0.1190719095,
          "share_restaurant_weighted": 0.1312846415
        },
        {
          "datapoints": 1954,
          "email_dom": "Proximus / Skynet",
          "share_pooled": 0.0569563063,
          "share_restaurant_weighted": 0.0539054339
        },
        {
          "datapoints": 935,
          "email_dom": "Apple iCloud",
          "share_pooled": 0.0272539132,
          "share_restaurant_weighted": 0.0285879583
        },
        {
          "datapoints": 544,
          "email_dom": "Yahoo",
          "share_pooled": 0.0158568222,
          "share_restaurant_weighted": 0.0176007611
        },
        {
          "datapoints": 70,
          "email_dom": "Scarlet",
          "share_pooled": 0.0020403999,
          "share_restaurant_weighted": 0.0017844159
        }
      ],
      "value": {
        "Apple iCloud": 2.9,
        "Gmail": 32.6,
        "Hotmail / Outlook": 27.9,
        "Other (company / own domain)": 13.1,
        "Proximus / Skynet": 5.4,
        "Scarlet": 0.2,
        "Telenet": 16.2,
        "Yahoo": 1.8
      }
    },
    "foreign_lang_month": {
      "datapoints": 27232,
      "method": "Share of online reservations made in a language other than Dutch per restaurant per month (≥20 reservations), averaged across restaurants active that month.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 40,
      "table": [
        {
          "month": "2026-01",
          "non_dutch_share": 0.095
        },
        {
          "month": "2026-02",
          "non_dutch_share": 0.1174
        },
        {
          "month": "2026-03",
          "non_dutch_share": 0.1197
        },
        {
          "month": "2026-04",
          "non_dutch_share": 0.1104
        },
        {
          "month": "2026-05",
          "non_dutch_share": 0.1002
        },
        {
          "month": "2026-06",
          "non_dutch_share": 0.099
        },
        {
          "month": "2026-07",
          "non_dutch_share": 0.099
        },
        {
          "month": "2026-08",
          "non_dutch_share": 0.0995
        },
        {
          "month": "2026-09",
          "non_dutch_share": 0.0983
        }
      ],
      "value": {
        "low": "2026-01",
        "low_v": 9.5,
        "top": "2026-03",
        "top_v": 12
      }
    },
    "foreign_phone": {
      "datapoints": 46441,
      "method": "Share of reservations with a foreign phone number, restaurant-weighted; country split pooled.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 44,
      "table": [
        {
          "count": 1159,
          "phone_class": "Netherlands"
        },
        {
          "count": 204,
          "phone_class": "Other country"
        },
        {
          "count": 161,
          "phone_class": "Germany"
        },
        {
          "count": 106,
          "phone_class": "France"
        },
        {
          "count": 79,
          "phone_class": "United Kingdom"
        },
        {
          "count": 59,
          "phone_class": "Luxembourg"
        }
      ],
      "value": {
        "share": 5,
        "top": "Netherlands"
      }
    },
    "giftcard_online": {
      "datapoints": 3190,
      "method": "Paid online = bought and paid by card/Bancontact in the online gift card shop; manual = issued by the restaurant at the counter. Per restaurant, averaged.",
      "period": "gift cards issued 1 January 2025 – 30 September 2026",
      "restaurants": 12,
      "table": null,
      "value": {
        "rw": 71.7
      }
    },
    "giftcard_redemption": {
      "datapoints": 1994,
      "method": "Status of gift cards at least six months old. Restaurant-weighted shares in the headline; the table is pooled.",
      "period": "gift cards issued 1 January 2025 – 31 March 2026 (at least 6 months old on 12 October 2026)",
      "restaurants": 10,
      "table": [
        {
          "share_pooled": 0.5562,
          "state": "Fully used"
        },
        {
          "share_pooled": 0.0286,
          "state": "Partly used"
        },
        {
          "share_pooled": 0.3992,
          "state": "Not used yet"
        },
        {
          "share_pooled": 0.016,
          "state": "Expired"
        }
      ],
      "value": {
        "fully": 45.4,
        "unused": 52.5
      }
    },
    "giftcard_season": {
      "datapoints": 1949,
      "method": "Share of each restaurant’s 12-month gift card revenue per month, only for restaurants that already sold gift cards before October 2025, averaged.",
      "period": "gift cards issued 1 October 2025 – 30 September 2026 (12 months)",
      "restaurants": 7,
      "table": [
        {
          "month": "2025-10",
          "share_of_annual_value": 0.0512
        },
        {
          "month": "2025-11",
          "share_of_annual_value": 0.0389
        },
        {
          "month": "2025-12",
          "share_of_annual_value": 0.2212
        },
        {
          "month": "2026-01",
          "share_of_annual_value": 0.0938
        },
        {
          "month": "2026-02",
          "share_of_annual_value": 0.0417
        },
        {
          "month": "2026-03",
          "share_of_annual_value": 0.0628
        },
        {
          "month": "2026-04",
          "share_of_annual_value": 0.0638
        },
        {
          "month": "2026-05",
          "share_of_annual_value": 0.0772
        },
        {
          "month": "2026-06",
          "share_of_annual_value": 0.0993
        },
        {
          "month": "2026-07",
          "share_of_annual_value": 0.0628
        },
        {
          "month": "2026-08",
          "share_of_annual_value": 0.0972
        },
        {
          "month": "2026-09",
          "share_of_annual_value": 0.0901
        }
      ],
      "value": {
        "dec": 22.1,
        "top": "2025-12",
        "top_v": 22.1,
        "x_avg": 2.7
      }
    },
    "giftcard_value": {
      "datapoints": 3190,
      "method": "Face value of gift cards sold or issued. Average and median per restaurant (≥20 cards), then averaged / median. Value bands restaurant-weighted.",
      "period": "gift cards issued 1 January 2025 – 30 September 2026",
      "restaurants": 12,
      "table": [
        {
          "datapoints": 197,
          "share_pooled": 0.0617554859,
          "share_restaurant_weighted": 0.0840192074,
          "value": "under €50"
        },
        {
          "datapoints": 520,
          "share_pooled": 0.1630094044,
          "share_restaurant_weighted": 0.1732588422,
          "value": "€50"
        },
        {
          "datapoints": 459,
          "share_pooled": 0.1438871473,
          "share_restaurant_weighted": 0.1690268721,
          "value": "€51–99"
        },
        {
          "datapoints": 745,
          "share_pooled": 0.2335423197,
          "share_restaurant_weighted": 0.2441616427,
          "value": "€100"
        },
        {
          "datapoints": 222,
          "share_pooled": 0.0695924765,
          "share_restaurant_weighted": 0.0624423199,
          "value": "€101–149"
        },
        {
          "datapoints": 368,
          "share_pooled": 0.1153605016,
          "share_restaurant_weighted": 0.0969888995,
          "value": "€150"
        },
        {
          "datapoints": 106,
          "share_pooled": 0.0332288401,
          "share_restaurant_weighted": 0.0226314427,
          "value": "€151–199"
        },
        {
          "datapoints": 287,
          "share_pooled": 0.089968652,
          "share_restaurant_weighted": 0.0713038563,
          "value": "€200"
        },
        {
          "datapoints": 286,
          "share_pooled": 0.0896551724,
          "share_restaurant_weighted": 0.0761669173,
          "value": "over €200"
        }
      ],
      "value": {
        "avg": 111,
        "median": 100,
        "round_share": 65.9,
        "top_amount": "100",
        "top_share": 23.3
      }
    },
    "groups_by_dow": {
      "datapoints": 44887,
      "method": "Share of reservations with 8+ guests per weekday, per restaurant, averaged. Each restaurant’s own distribution is computed first, then averaged with equal weight per restaurant (restaurant-weighted), so a busy restaurant or a newly onboarded one cannot dominate. Restaurants with fewer than 30 reservations in the period are left out.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 29,
      "table": [
        {
          "share_8plus": 0.062,
          "weekday": "Monday"
        },
        {
          "share_8plus": 0.0295,
          "weekday": "Tuesday"
        },
        {
          "share_8plus": 0.035,
          "weekday": "Wednesday"
        },
        {
          "share_8plus": 0.0683,
          "weekday": "Thursday"
        },
        {
          "share_8plus": 0.0466,
          "weekday": "Friday"
        },
        {
          "share_8plus": 0.0605,
          "weekday": "Saturday"
        },
        {
          "share_8plus": 0.0686,
          "weekday": "Sunday"
        }
      ],
      "value": {
        "low": "Tuesday",
        "low_v": 2.9,
        "overall": 6.1,
        "top": "Sunday",
        "top_v": 6.9
      }
    },
    "holiday_party": {
      "datapoints": 12173,
      "method": "Party mix on each holiday vs the same restaurants on the same weekday 2–4 weeks before and after. Pooled within those restaurant-days.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 44,
      "table": [
        {
          "avg_party_holiday": 2.6,
          "avg_party_normal": 3.82,
          "day": "Valentine’s Day (Sat 14 Feb)",
          "reservations_considered": 2245,
          "share_two_holiday": 0.777,
          "share_two_normal": 0.422
        },
        {
          "avg_party_holiday": 3.98,
          "avg_party_normal": 4.19,
          "day": "Easter Sunday (5 Apr)",
          "reservations_considered": 1206,
          "share_two_holiday": 0.382,
          "share_two_normal": 0.3792
        },
        {
          "avg_party_holiday": 3.71,
          "avg_party_normal": 3.07,
          "day": "Easter Monday (6 Apr)",
          "reservations_considered": 350,
          "share_two_holiday": 0.4771,
          "share_two_normal": 0.5178
        },
        {
          "avg_party_holiday": 3.42,
          "avg_party_normal": 3.46,
          "day": "Labour Day (Fri 1 May)",
          "reservations_considered": 1696,
          "share_two_holiday": 0.4904,
          "share_two_normal": 0.4913
        },
        {
          "avg_party_holiday": 4.26,
          "avg_party_normal": 3.95,
          "day": "Mother’s Day (Sun 10 May)",
          "reservations_considered": 1452,
          "share_two_holiday": 0.3242,
          "share_two_normal": 0.409
        },
        {
          "avg_party_holiday": 3.79,
          "avg_party_normal": 3.14,
          "day": "Ascension Day (Thu 14 May)",
          "reservations_considered": 993,
          "share_two_holiday": 0.4615,
          "share_two_normal": 0.5507
        },
        {
          "avg_party_holiday": 4.12,
          "avg_party_normal": 3.36,
          "day": "Whit Monday (25 May)",
          "reservations_considered": 154,
          "share_two_holiday": 0.3881,
          "share_two_normal": 0.5862
        },
        {
          "avg_party_holiday": 4.18,
          "avg_party_normal": 3.9,
          "day": "Father’s Day (Sun 14 Jun)",
          "reservations_considered": 1578,
          "share_two_holiday": 0.3261,
          "share_two_normal": 0.4061
        },
        {
          "avg_party_holiday": 3.37,
          "avg_party_normal": 3.79,
          "day": "Belgian National Day (Tue 21 Jul)",
          "reservations_considered": 402,
          "share_two_holiday": 0.4885,
          "share_two_normal": 0.4649
        },
        {
          "avg_party_holiday": 3.78,
          "avg_party_normal": 3.75,
          "day": "Assumption Day (Sat 15 Aug)",
          "reservations_considered": 2097,
          "share_two_holiday": 0.4062,
          "share_two_normal": 0.4314
        }
      ],
      "value": {
        "Ascension Day (Thu 14 May)": {
          "avg_h": 3.79,
          "avg_n": 3.14,
          "two_h": 46,
          "two_n": 55
        },
        "Assumption Day (Sat 15 Aug)": {
          "avg_h": 3.78,
          "avg_n": 3.75,
          "two_h": 41,
          "two_n": 43
        },
        "Belgian National Day (Tue 21 Jul)": {
          "avg_h": 3.37,
          "avg_n": 3.79,
          "two_h": 49,
          "two_n": 46
        },
        "Easter Monday (6 Apr)": {
          "avg_h": 3.71,
          "avg_n": 3.07,
          "two_h": 48,
          "two_n": 52
        },
        "Easter Sunday (5 Apr)": {
          "avg_h": 3.98,
          "avg_n": 4.19,
          "two_h": 38,
          "two_n": 38
        },
        "Father’s Day (Sun 14 Jun)": {
          "avg_h": 4.18,
          "avg_n": 3.9,
          "two_h": 33,
          "two_n": 41
        },
        "Labour Day (Fri 1 May)": {
          "avg_h": 3.42,
          "avg_n": 3.46,
          "two_h": 49,
          "two_n": 49
        },
        "Mother’s Day (Sun 10 May)": {
          "avg_h": 4.26,
          "avg_n": 3.95,
          "two_h": 32,
          "two_n": 41
        },
        "Valentine’s Day (Sat 14 Feb)": {
          "avg_h": 2.6,
          "avg_n": 3.82,
          "two_h": 78,
          "two_n": 42
        },
        "Whit Monday (25 May)": {
          "avg_h": 4.12,
          "avg_n": 3.36,
          "two_h": 39,
          "two_n": 59
        }
      }
    },
    "holidays": {
      "datapoints": 11985,
      "method": "For each holiday and each restaurant open that day: covers that day ÷ the restaurant’s average covers on the same weekday 2, 3 and 4 weeks before and after (holiday weeks excluded by construction). Median over restaurants; 100 = a normal day of that weekday. Only restaurants with reservations that day count, so closures do not drag the index down.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 30,
      "table": [
        {
          "day": "Valentine’s Day (Sat 14 Feb)",
          "index_vs_same_weekday": 118,
          "restaurants": 26
        },
        {
          "day": "Easter Sunday (5 Apr)",
          "index_vs_same_weekday": 126,
          "restaurants": 14
        },
        {
          "day": "Easter Monday (6 Apr)",
          "index_vs_same_weekday": 192,
          "restaurants": 7
        },
        {
          "day": "Labour Day (Fri 1 May)",
          "index_vs_same_weekday": 112,
          "restaurants": 22
        },
        {
          "day": "Mother’s Day (Sun 10 May)",
          "index_vs_same_weekday": 141,
          "restaurants": 16
        },
        {
          "day": "Ascension Day (Thu 14 May)",
          "index_vs_same_weekday": 164,
          "restaurants": 18
        },
        {
          "day": "Whit Monday (25 May)",
          "index_vs_same_weekday": 375,
          "restaurants": 6
        },
        {
          "day": "Father’s Day (Sun 14 Jun)",
          "index_vs_same_weekday": 159,
          "restaurants": 22
        },
        {
          "day": "Belgian National Day (Tue 21 Jul)",
          "index_vs_same_weekday": 130,
          "restaurants": 8
        },
        {
          "day": "Assumption Day (Sat 15 Aug)",
          "index_vs_same_weekday": 105,
          "restaurants": 30
        }
      ],
      "value": {
        "Ascension Day (Thu 14 May)": 164,
        "Assumption Day (Sat 15 Aug)": 105,
        "Belgian National Day (Tue 21 Jul)": 130,
        "Easter Monday (6 Apr)": 192,
        "Easter Sunday (5 Apr)": 126,
        "Father’s Day (Sun 14 Jun)": 159,
        "Labour Day (Fri 1 May)": 112,
        "Mother’s Day (Sun 10 May)": 141,
        "Valentine’s Day (Sat 14 Feb)": 118,
        "Whit Monday (25 May)": 375
      }
    },
    "language": {
      "datapoints": 27116,
      "method": "Language the guest chose on the online booking form (online bookings only: reservations entered by staff default to the restaurant’s language). Each restaurant’s own distribution is computed first, then averaged with equal weight per restaurant (restaurant-weighted), so a busy restaurant or a newly onboarded one cannot dominate. Restaurants with fewer than 30 reservations in the period are left out.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 34,
      "table": [
        {
          "datapoints": 24656,
          "lang": "nl",
          "share_pooled": 0.9092786547,
          "share_restaurant_weighted": 0.8864914869
        },
        {
          "datapoints": 396,
          "lang": "fr",
          "share_pooled": 0.0146039239,
          "share_restaurant_weighted": 0.0188724429
        },
        {
          "datapoints": 2062,
          "lang": "en",
          "share_pooled": 0.0760436643,
          "share_restaurant_weighted": 0.0945843345
        },
        {
          "datapoints": 2,
          "lang": "de",
          "share_pooled": 0.0000737572,
          "share_restaurant_weighted": 0.0000517357
        }
      ],
      "value": {
        "de": 0,
        "en": 9.5,
        "fr": 1.9,
        "nl": 88.6
      }
    },
    "lead_by_channel": {
      "datapoints": 37409,
      "method": "Median lead time per restaurant for each channel, then median across restaurants; same-day shares restaurant-weighted.",
      "period": "reservations created 1 October 2025 – visit date 30 September 2026",
      "restaurants": 42,
      "table": null,
      "value": {
        "online": 3,
        "online_2h": 3.5,
        "online_same": 20.1,
        "staff": 1,
        "staff_same": 33.2
      }
    },
    "lead_by_dow": {
      "datapoints": 37409,
      "method": "Median lead time (days) per restaurant per visit weekday, then median across restaurants.",
      "period": "reservations created 1 October 2025 – visit date 30 September 2026",
      "restaurants": 42,
      "table": [
        {
          "dow": "Monday",
          "median_lead_days": 2
        },
        {
          "dow": "Tuesday",
          "median_lead_days": 2
        },
        {
          "dow": "Wednesday",
          "median_lead_days": 2
        },
        {
          "dow": "Thursday",
          "median_lead_days": 2.5
        },
        {
          "dow": "Friday",
          "median_lead_days": 2.25
        },
        {
          "dow": "Saturday",
          "median_lead_days": 3
        },
        {
          "dow": "Sunday",
          "median_lead_days": 2.5
        }
      ],
      "value": {
        "Friday": 2.25,
        "Monday": 2,
        "Saturday": 3,
        "Sunday": 2.5,
        "Thursday": 2.5,
        "Tuesday": 2,
        "Wednesday": 2
      }
    },
    "lead_by_month": {
      "datapoints": 37409,
      "method": "Median lead time (days) per restaurant per visit month, then median across restaurants.",
      "period": "reservations created 1 October 2025 – visit date 30 September 2026",
      "restaurants": 42,
      "table": [
        {
          "median_lead_days": 4,
          "month": "2026-01"
        },
        {
          "median_lead_days": 4,
          "month": "2026-02"
        },
        {
          "median_lead_days": 4,
          "month": "2026-03"
        },
        {
          "median_lead_days": 4,
          "month": "2026-04"
        },
        {
          "median_lead_days": 3.5,
          "month": "2026-05"
        },
        {
          "median_lead_days": 3,
          "month": "2026-06"
        },
        {
          "median_lead_days": 2,
          "month": "2026-07"
        },
        {
          "median_lead_days": 2,
          "month": "2026-08"
        },
        {
          "median_lead_days": 3,
          "month": "2026-09"
        }
      ],
      "value": {
        "2026-01": 4,
        "2026-02": 4,
        "2026-03": 4,
        "2026-04": 4,
        "2026-05": 3.5,
        "2026-06": 3,
        "2026-07": 2,
        "2026-08": 2,
        "2026-09": 3
      }
    },
    "lead_by_party": {
      "datapoints": 37409,
      "method": "Median lead time (days) per restaurant per party size, then median across restaurants.",
      "period": "reservations created 1 October 2025 – visit date 30 September 2026",
      "restaurants": 42,
      "table": [
        {
          "median_lead_days": 2,
          "psize": "1–2"
        },
        {
          "median_lead_days": 4,
          "psize": "3–4"
        },
        {
          "median_lead_days": 5.5,
          "psize": "5–6"
        },
        {
          "median_lead_days": 9.5,
          "psize": "7–8"
        },
        {
          "median_lead_days": 17.5,
          "psize": "9+"
        }
      ],
      "value": {
        "1–2": 2,
        "3–4": 4,
        "5–6": 5.5,
        "7–8": 9.5,
        "9+": 17.5
      }
    },
    "lead_by_service": {
      "datapoints": 37409,
      "method": "Median lead time (days) per restaurant per service, then median across restaurants.",
      "period": "reservations created 1 October 2025 – visit date 30 September 2026",
      "restaurants": 42,
      "table": [
        {
          "median_lead_days": 9,
          "service": "Breakfast"
        },
        {
          "median_lead_days": 3,
          "service": "Lunch"
        },
        {
          "median_lead_days": 3,
          "service": "Afternoon"
        },
        {
          "median_lead_days": 2.5,
          "service": "Dinner"
        }
      ],
      "value": {
        "Afternoon": 3,
        "Breakfast": 9,
        "Dinner": 2.5,
        "Lunch": 3
      }
    },
    "lead_time": {
      "datapoints": 37373,
      "method": "Days between the moment the reservation was created (Belgian time) and the visit date. Median per restaurant, then the median across restaurants; shares are restaurant-weighted. Only reservations created natively in HappyChef count (imports have no real creation time).",
      "period": "reservations created 1 October 2025 – visit date 30 September 2026",
      "restaurants": 38,
      "table": [
        {
          "datapoints": 7206,
          "lead_bucket": "Same day",
          "share_pooled": 0.1928129933,
          "share_restaurant_weighted": 0.2291004275
        },
        {
          "datapoints": 5022,
          "lead_bucket": "Next day",
          "share_pooled": 0.1343750836,
          "share_restaurant_weighted": 0.1515027211
        },
        {
          "datapoints": 10689,
          "lead_bucket": "2–7 days",
          "share_pooled": 0.2860086158,
          "share_restaurant_weighted": 0.3004038873
        },
        {
          "datapoints": 4212,
          "lead_bucket": "8–14 days",
          "share_pooled": 0.112701683,
          "share_restaurant_weighted": 0.1059394049
        },
        {
          "datapoints": 4766,
          "lead_bucket": "15–30 days",
          "share_pooled": 0.1275252187,
          "share_restaurant_weighted": 0.1114041304
        },
        {
          "datapoints": 3436,
          "lead_bucket": "31–60 days",
          "share_pooled": 0.0919380301,
          "share_restaurant_weighted": 0.0690388864
        },
        {
          "datapoints": 2042,
          "lead_bucket": "60+ days",
          "share_pooled": 0.0546383753,
          "share_restaurant_weighted": 0.0326105425
        }
      ],
      "value": {
        "mean": 10.4,
        "median": 2,
        "over30": 10.2,
        "same_day": 22.9,
        "within24": 30.7
      }
    },
    "low_rating_driver": {
      "datapoints": 9760,
      "method": "Among the 503 reviews with 3 stars or fewer overall (out of 9760): the average score each aspect received. The lowest aspect is the most likely driver. Pooled, because low reviews are rare per restaurant.",
      "period": "reviews submitted 1 January 2025 – 30 September 2026",
      "restaurants": 38,
      "table": [
        {
          "aspect": "Food",
          "avg_score_in_low_reviews": 3.35
        },
        {
          "aspect": "Friendliness / service",
          "avg_score_in_low_reviews": 3.96
        },
        {
          "aspect": "Interior / ambiance",
          "avg_score_in_low_reviews": 3.82
        }
      ],
      "value": {
        "Food": 3.35,
        "Friendliness / service": 3.96,
        "Interior / ambiance": 3.82
      }
    },
    "lunch_by_dow": {
      "datapoints": 45352,
      "method": "Share of lunch among lunch+dinner reservations per weekday, per restaurant, averaged. Only restaurants that serve both lunch and dinner reservations count. Each restaurant’s own distribution is computed first, then averaged with equal weight per restaurant (restaurant-weighted), so a busy restaurant or a newly onboarded one cannot dominate. Restaurants with fewer than 30 reservations in the period are left out.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 34,
      "table": [
        {
          "lunch_share": 0.4225,
          "weekday": "Monday"
        },
        {
          "lunch_share": 0.2696,
          "weekday": "Tuesday"
        },
        {
          "lunch_share": 0.271,
          "weekday": "Wednesday"
        },
        {
          "lunch_share": 0.2832,
          "weekday": "Thursday"
        },
        {
          "lunch_share": 0.2341,
          "weekday": "Friday"
        },
        {
          "lunch_share": 0.1444,
          "weekday": "Saturday"
        },
        {
          "lunch_share": 0.4659,
          "weekday": "Sunday"
        }
      ],
      "value": {
        "low": "Saturday",
        "low_share": 14.4,
        "shares": {
          "Friday": 23.4,
          "Monday": 42.3,
          "Saturday": 14.4,
          "Sunday": 46.6,
          "Thursday": 28.3,
          "Tuesday": 27,
          "Wednesday": 27.1
        },
        "top": "Sunday",
        "top_share": 46.6
      }
    },
    "menu_preselect": {
      "datapoints": 10175,
      "method": "Restaurants that offer a menu choice in the booking form: share of reservations with a pre-selected menu, and share answering “not sure yet”.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 7,
      "table": null,
      "value": {
        "chosen": 37.7,
        "unsure": 4.6
      }
    },
    "note_topics": {
      "datapoints": 5944,
      "method": "Keyword matching (Dutch, French, English) on the remarks guests typed in online reservations; share of remarks that mention each topic, restaurant-weighted. Remarks are never published, only these counts.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 39,
      "table": [
        {
          "notes_mentioning": 1245,
          "share_of_notes_rw": 0.1909,
          "topic": "Allergy or intolerance (any)"
        },
        {
          "notes_mentioning": 591,
          "share_of_notes_rw": 0.1243,
          "topic": "Terrace"
        },
        {
          "notes_mentioning": 543,
          "share_of_notes_rw": 0.0829,
          "topic": "Birthday"
        },
        {
          "notes_mentioning": 497,
          "share_of_notes_rw": 0.0671,
          "topic": "Shellfish / fish"
        },
        {
          "notes_mentioning": 294,
          "share_of_notes_rw": 0.0488,
          "topic": "Window / specific table"
        },
        {
          "notes_mentioning": 264,
          "share_of_notes_rw": 0.0429,
          "topic": "Gluten"
        },
        {
          "notes_mentioning": 189,
          "share_of_notes_rw": 0.037,
          "topic": "Vegetarian"
        },
        {
          "notes_mentioning": 180,
          "share_of_notes_rw": 0.0288,
          "topic": "Quiet table"
        },
        {
          "notes_mentioning": 186,
          "share_of_notes_rw": 0.0285,
          "topic": "Nuts / peanuts"
        },
        {
          "notes_mentioning": 186,
          "share_of_notes_rw": 0.0282,
          "topic": "Lactose / dairy"
        },
        {
          "notes_mentioning": 123,
          "share_of_notes_rw": 0.027,
          "topic": "Dog"
        },
        {
          "notes_mentioning": 141,
          "share_of_notes_rw": 0.0226,
          "topic": "Pregnancy"
        },
        {
          "notes_mentioning": 112,
          "share_of_notes_rw": 0.0214,
          "topic": "High chair / baby"
        },
        {
          "notes_mentioning": 53,
          "share_of_notes_rw": 0.012,
          "topic": "Vegan"
        },
        {
          "notes_mentioning": 73,
          "share_of_notes_rw": 0.0119,
          "topic": "Wheelchair / mobility"
        },
        {
          "notes_mentioning": 54,
          "share_of_notes_rw": 0.0104,
          "topic": "Arriving late / early"
        },
        {
          "notes_mentioning": 70,
          "share_of_notes_rw": 0.0099,
          "topic": "Wedding / anniversary"
        },
        {
          "notes_mentioning": 32,
          "share_of_notes_rw": 0.0043,
          "topic": "Surprise"
        }
      ],
      "value": {
        "Allergy or intolerance (any)": 19.1,
        "Arriving late / early": 1,
        "Birthday": 8.3,
        "Dog": 2.7,
        "Gluten": 4.3,
        "High chair / baby": 2.1,
        "Lactose / dairy": 2.8,
        "Nuts / peanuts": 2.9,
        "Pregnancy": 2.3,
        "Quiet table": 2.9,
        "Shellfish / fish": 6.7,
        "Surprise": 0.4,
        "Terrace": 12.4,
        "Vegan": 1.2,
        "Vegetarian": 3.7,
        "Wedding / anniversary": 1,
        "Wheelchair / mobility": 1.2,
        "Window / specific table": 4.9
      }
    },
    "notes_share": {
      "datapoints": 27568,
      "method": "Share of online reservations where the guest typed a remark, ignoring placeholder answers (“/”, “nee”, “geen”…). Each restaurant’s own distribution is computed first, then averaged with equal weight per restaurant (restaurant-weighted), so a busy restaurant or a newly onboarded one cannot dominate. Restaurants with fewer than 30 reservations in the period are left out.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 40,
      "table": null,
      "value": {
        "rw": 20.3
      }
    },
    "nps": {
      "datapoints": 6406,
      "method": "Net Promoter Score from “How likely are you to recommend us?” (0–10): % 9–10 minus % 0–6, per restaurant, averaged.",
      "period": "reviews submitted 1 January 2025 – 30 September 2026",
      "restaurants": 26,
      "table": [
        {
          "responses": 82,
          "score": 0
        },
        {
          "responses": 13,
          "score": 1
        },
        {
          "responses": 19,
          "score": 2
        },
        {
          "responses": 14,
          "score": 3
        },
        {
          "responses": 26,
          "score": 4
        },
        {
          "responses": 57,
          "score": 5
        },
        {
          "responses": 71,
          "score": 6
        },
        {
          "responses": 170,
          "score": 7
        },
        {
          "responses": 695,
          "score": 8
        },
        {
          "responses": 1333,
          "score": 9
        },
        {
          "responses": 4021,
          "score": 10
        }
      ],
      "value": {
        "detractors": 5.2,
        "nps": 74,
        "promoters": 79.7
      }
    },
    "online_by_dow": {
      "datapoints": 37680,
      "method": "Online share per weekday of the visit, computed within each restaurant (cells with ≥10 reservations), then averaged across restaurants.",
      "period": "reservations created 1 October 2025 – visit date 30 September 2026",
      "restaurants": 42,
      "table": [
        {
          "datapoints": 1903,
          "dow": "Monday",
          "online_share": 0.7173
        },
        {
          "datapoints": 2478,
          "dow": "Tuesday",
          "online_share": 0.7139
        },
        {
          "datapoints": 2980,
          "dow": "Wednesday",
          "online_share": 0.7055
        },
        {
          "datapoints": 5802,
          "dow": "Thursday",
          "online_share": 0.7576
        },
        {
          "datapoints": 8973,
          "dow": "Friday",
          "online_share": 0.7536
        },
        {
          "datapoints": 9193,
          "dow": "Saturday",
          "online_share": 0.7212
        },
        {
          "datapoints": 6351,
          "dow": "Sunday",
          "online_share": 0.6803
        }
      ],
      "value": {
        "Friday": 75,
        "Monday": 72,
        "Saturday": 72,
        "Sunday": 68,
        "Thursday": 76,
        "Tuesday": 71,
        "Wednesday": 71
      }
    },
    "online_by_lead": {
      "datapoints": 37409,
      "method": "Online share per booking lead time, computed within each restaurant (cells with ≥10 reservations), then averaged across restaurants.",
      "period": "reservations created 1 October 2025 – visit date 30 September 2026",
      "restaurants": 42,
      "table": [
        {
          "datapoints": 7213,
          "lead_bucket": "Same day",
          "online_share": 0.6143
        },
        {
          "datapoints": 5036,
          "lead_bucket": "Next day",
          "online_share": 0.748
        },
        {
          "datapoints": 10704,
          "lead_bucket": "2–7 days",
          "online_share": 0.7678
        },
        {
          "datapoints": 8978,
          "lead_bucket": "8–30 days",
          "online_share": 0.7348
        },
        {
          "datapoints": 5478,
          "lead_bucket": "30+ days",
          "online_share": 0.7172
        }
      ],
      "value": {
        "2–7 days": 77,
        "30+ days": 72,
        "8–30 days": 73,
        "Next day": 75,
        "Same day": 61
      }
    },
    "online_by_party": {
      "datapoints": 37680,
      "method": "Online share per party size, computed within each restaurant (cells with ≥10 reservations), then averaged across restaurants.",
      "period": "reservations created 1 October 2025 – visit date 30 September 2026",
      "restaurants": 42,
      "table": [
        {
          "datapoints": 369,
          "online_share": 0.6507,
          "psize": "1"
        },
        {
          "datapoints": 18045,
          "online_share": 0.7769,
          "psize": "2"
        },
        {
          "datapoints": 12388,
          "online_share": 0.7681,
          "psize": "3–4"
        },
        {
          "datapoints": 3970,
          "online_share": 0.7424,
          "psize": "5–6"
        },
        {
          "datapoints": 1467,
          "online_share": 0.5201,
          "psize": "7–8"
        },
        {
          "datapoints": 1441,
          "online_share": 0.2096,
          "psize": "9+"
        }
      ],
      "value": {
        "1": 65,
        "2": 78,
        "3–4": 77,
        "5–6": 74,
        "7–8": 52,
        "9+": 21
      }
    },
    "online_creation_dow": {
      "datapoints": 27048,
      "method": "Weekday on which guests created online reservations. Each restaurant’s own distribution is computed first, then averaged with equal weight per restaurant (restaurant-weighted), so a busy restaurant or a newly onboarded one cannot dominate. Restaurants with fewer than 30 reservations in the period are left out.",
      "period": "online reservations created 1 October 2025 – 30 September 2026",
      "restaurants": 34,
      "table": [
        {
          "cdow": "Monday",
          "datapoints": 3801,
          "share_pooled": 0.1405279503,
          "share_restaurant_weighted": 0.1277590341
        },
        {
          "cdow": "Tuesday",
          "datapoints": 3609,
          "share_pooled": 0.1334294587,
          "share_restaurant_weighted": 0.1291825927
        },
        {
          "cdow": "Wednesday",
          "datapoints": 4077,
          "share_pooled": 0.1507320319,
          "share_restaurant_weighted": 0.1391548268
        },
        {
          "cdow": "Thursday",
          "datapoints": 4001,
          "share_pooled": 0.1479222124,
          "share_restaurant_weighted": 0.1478338189
        },
        {
          "cdow": "Friday",
          "datapoints": 4191,
          "share_pooled": 0.1549467613,
          "share_restaurant_weighted": 0.164835831
        },
        {
          "cdow": "Saturday",
          "datapoints": 3799,
          "share_pooled": 0.1404540077,
          "share_restaurant_weighted": 0.1616565571
        },
        {
          "cdow": "Sunday",
          "datapoints": 3570,
          "share_pooled": 0.1319875776,
          "share_restaurant_weighted": 0.1295773394
        }
      ],
      "value": {
        "low": "Monday",
        "low_v": 12.8,
        "top": "Friday",
        "top_v": 16.5
      }
    },
    "online_creation_hour": {
      "datapoints": 27048,
      "method": "Hour (Belgian time) at which guests created online reservations. Night = 22:00–07:59; service hours = 12:00–13:59 and 18:00–20:59. Each restaurant’s own distribution is computed first, then averaged with equal weight per restaurant (restaurant-weighted), so a busy restaurant or a newly onboarded one cannot dominate. Restaurants with fewer than 30 reservations in the period are left out.",
      "period": "online reservations created 1 October 2025 – 30 September 2026",
      "restaurants": 34,
      "table": [
        {
          "chour": 0,
          "datapoints": 131,
          "share_pooled": 0.0048432416,
          "share_restaurant_weighted": 0.0049967748
        },
        {
          "chour": 1,
          "datapoints": 45,
          "share_pooled": 0.001663709,
          "share_restaurant_weighted": 0.0013237281
        },
        {
          "chour": 2,
          "datapoints": 14,
          "share_pooled": 0.0005175983,
          "share_restaurant_weighted": 0.0004441684
        },
        {
          "chour": 3,
          "datapoints": 11,
          "share_pooled": 0.0004066844,
          "share_restaurant_weighted": 0.0002351975
        },
        {
          "chour": 4,
          "datapoints": 17,
          "share_pooled": 0.0006285123,
          "share_restaurant_weighted": 0.0010815173
        },
        {
          "chour": 5,
          "datapoints": 21,
          "share_pooled": 0.0007763975,
          "share_restaurant_weighted": 0.0008246628
        },
        {
          "chour": 6,
          "datapoints": 135,
          "share_pooled": 0.0049911269,
          "share_restaurant_weighted": 0.0048062742
        },
        {
          "chour": 7,
          "datapoints": 432,
          "share_pooled": 0.015971606,
          "share_restaurant_weighted": 0.0169718802
        },
        {
          "chour": 8,
          "datapoints": 898,
          "share_pooled": 0.0332002366,
          "share_restaurant_weighted": 0.0330386525
        },
        {
          "chour": 9,
          "datapoints": 1667,
          "share_pooled": 0.0616311742,
          "share_restaurant_weighted": 0.0558210561
        },
        {
          "chour": 10,
          "datapoints": 1701,
          "share_pooled": 0.0628881988,
          "share_restaurant_weighted": 0.0598871366
        },
        {
          "chour": 11,
          "datapoints": 1829,
          "share_pooled": 0.0676205265,
          "share_restaurant_weighted": 0.0654033222
        },
        {
          "chour": 12,
          "datapoints": 1877,
          "share_pooled": 0.0693951494,
          "share_restaurant_weighted": 0.0683003188
        },
        {
          "chour": 13,
          "datapoints": 1807,
          "share_pooled": 0.0668071576,
          "share_restaurant_weighted": 0.0674220727
        },
        {
          "chour": 14,
          "datapoints": 1539,
          "share_pooled": 0.0568988465,
          "share_restaurant_weighted": 0.0584887507
        },
        {
          "chour": 15,
          "datapoints": 1544,
          "share_pooled": 0.057083703,
          "share_restaurant_weighted": 0.0636042443
        },
        {
          "chour": 16,
          "datapoints": 1780,
          "share_pooled": 0.0658089323,
          "share_restaurant_weighted": 0.0725866515
        },
        {
          "chour": 17,
          "datapoints": 2171,
          "share_pooled": 0.0802647146,
          "share_restaurant_weighted": 0.0848532009
        },
        {
          "chour": 18,
          "datapoints": 2202,
          "share_pooled": 0.0814108252,
          "share_restaurant_weighted": 0.0831912064
        },
        {
          "chour": 19,
          "datapoints": 2148,
          "share_pooled": 0.0794143744,
          "share_restaurant_weighted": 0.0789058666
        },
        {
          "chour": 20,
          "datapoints": 1909,
          "share_pooled": 0.0705782313,
          "share_restaurant_weighted": 0.066944021
        },
        {
          "chour": 21,
          "datapoints": 1586,
          "share_pooled": 0.0586364981,
          "share_restaurant_weighted": 0.0571903037
        },
        {
          "chour": 22,
          "datapoints": 1187,
          "share_pooled": 0.0438849453,
          "share_restaurant_weighted": 0.0401253993
        },
        {
          "chour": 23,
          "datapoints": 397,
          "share_pooled": 0.0146776102,
          "share_restaurant_weighted": 0.0135535935
        }
      ],
      "value": {
        "after21": 12.5,
        "during_service": 36.5,
        "night": 8.4,
        "peak": 17
      }
    },
    "online_share": {
      "datapoints": 37644,
      "method": "Online = the guest booked through the booking page, website widget or Reserve with Google. Restaurant = staff entered it in the dashboard or app (phone, walk-in, email). Share per restaurant, averaged. Imported legacy reservations without a channel are left out.",
      "period": "reservations created 1 October 2025 – visit date 30 September 2026",
      "restaurants": 38,
      "table": [
        {
          "channel": "Online by guest",
          "share_pooled": 0.7281,
          "share_restaurant_weighted": 0.7268
        },
        {
          "channel": "Entered by restaurant",
          "share_pooled": 0.2719,
          "share_restaurant_weighted": 0.2732
        }
      ],
      "value": {
        "pooled": 73,
        "rw": 73
      }
    },
    "online_trend": {
      "datapoints": 37680,
      "method": "Online share per restaurant per visit month (≥20 reservations), averaged over restaurants active that month.",
      "period": "visit dates January – September 2026",
      "restaurants": 42,
      "table": [
        {
          "month": "2026-01",
          "online_share": 0.7254
        },
        {
          "month": "2026-02",
          "online_share": 0.7476
        },
        {
          "month": "2026-03",
          "online_share": 0.7514
        },
        {
          "month": "2026-04",
          "online_share": 0.7777
        },
        {
          "month": "2026-05",
          "online_share": 0.7604
        },
        {
          "month": "2026-06",
          "online_share": 0.739
        },
        {
          "month": "2026-07",
          "online_share": 0.7344
        },
        {
          "month": "2026-08",
          "online_share": 0.7609
        },
        {
          "month": "2026-09",
          "online_share": 0.7427
        }
      ],
      "value": {
        "2026-01": 73,
        "2026-02": 75,
        "2026-03": 75,
        "2026-04": 78,
        "2026-05": 76,
        "2026-06": 74,
        "2026-07": 73,
        "2026-08": 76,
        "2026-09": 74
      }
    },
    "optin": {
      "datapoints": 26410,
      "method": "Share of online bookers who ticked the optional newsletter box, only counting restaurants that show the box. Each restaurant’s own distribution is computed first, then averaged with equal weight per restaurant (restaurant-weighted), so a busy restaurant or a newly onboarded one cannot dominate. Restaurants with fewer than 30 reservations in the period are left out.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 34,
      "table": null,
      "value": {
        "pooled": 4.4,
        "rw": 4.7
      }
    },
    "owner_hours": {
      "datapoints": 844970,
      "method": "Hour of the day (Belgian summer time) of logged-in activity, share per restaurant, averaged.",
      "period": "app activity 28 March – 11 October 2026",
      "restaurants": 42,
      "table": [
        {
          "hour": 0,
          "share": 0.0155
        },
        {
          "hour": 1,
          "share": 0.0084
        },
        {
          "hour": 2,
          "share": 0.0033
        },
        {
          "hour": 3,
          "share": 0.0019
        },
        {
          "hour": 4,
          "share": 0.0019
        },
        {
          "hour": 5,
          "share": 0.0027
        },
        {
          "hour": 6,
          "share": 0.0064
        },
        {
          "hour": 7,
          "share": 0.0164
        },
        {
          "hour": 8,
          "share": 0.0345
        },
        {
          "hour": 9,
          "share": 0.0452
        },
        {
          "hour": 10,
          "share": 0.0694
        },
        {
          "hour": 11,
          "share": 0.0883
        },
        {
          "hour": 12,
          "share": 0.072
        },
        {
          "hour": 13,
          "share": 0.0589
        },
        {
          "hour": 14,
          "share": 0.0671
        },
        {
          "hour": 15,
          "share": 0.0678
        },
        {
          "hour": 16,
          "share": 0.0685
        },
        {
          "hour": 17,
          "share": 0.0866
        },
        {
          "hour": 18,
          "share": 0.085
        },
        {
          "hour": 19,
          "share": 0.053
        },
        {
          "hour": 20,
          "share": 0.0429
        },
        {
          "hour": 21,
          "share": 0.0411
        },
        {
          "hour": 22,
          "share": 0.0372
        },
        {
          "hour": 23,
          "share": 0.0259
        }
      ],
      "value": {
        "after22": 6.3,
        "before9": 9.1,
        "peak": 11,
        "peak_v": 8.8,
        "service": 31.2
      }
    },
    "party_size": {
      "datapoints": 46408,
      "method": "Guests per reservation (1–60). Each restaurant’s own distribution is computed first, then averaged with equal weight per restaurant (restaurant-weighted), so a busy restaurant or a newly onboarded one cannot dominate. Restaurants with fewer than 30 reservations in the period are left out.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 41,
      "table": [
        {
          "datapoints": 411,
          "psize": "1",
          "share_pooled": 0.0088562317,
          "share_restaurant_weighted": 0.0139702029
        },
        {
          "datapoints": 22367,
          "psize": "2",
          "share_pooled": 0.4819643165,
          "share_restaurant_weighted": 0.4966131894
        },
        {
          "datapoints": 5560,
          "psize": "3",
          "share_pooled": 0.1198069298,
          "share_restaurant_weighted": 0.1195688717
        },
        {
          "datapoints": 9736,
          "psize": "4",
          "share_pooled": 0.2097914153,
          "share_restaurant_weighted": 0.1963076997
        },
        {
          "datapoints": 4819,
          "psize": "5–6",
          "share_pooled": 0.1038398552,
          "share_restaurant_weighted": 0.0933758314
        },
        {
          "datapoints": 1766,
          "psize": "7–8",
          "share_pooled": 0.0380537838,
          "share_restaurant_weighted": 0.0369080855
        },
        {
          "datapoints": 1095,
          "psize": "9–12",
          "share_pooled": 0.0235950698,
          "share_restaurant_weighted": 0.019153957
        },
        {
          "datapoints": 654,
          "psize": "13+",
          "share_pooled": 0.0140923979,
          "share_restaurant_weighted": 0.0241021623
        }
      ],
      "value": {
        "big8": 8,
        "mean": 3.69,
        "median": 2,
        "solo": 1.4,
        "two": 49.7
      }
    },
    "phone_type": {
      "datapoints": 46408,
      "method": "Type of phone number on the reservation, by prefix (Belgian 04xx = mobile). Numbers themselves are never stored in the published data. Each restaurant’s own distribution is computed first, then averaged with equal weight per restaurant (restaurant-weighted), so a busy restaurant or a newly onboarded one cannot dominate. Restaurants with fewer than 30 reservations in the period are left out.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 41,
      "table": [
        {
          "datapoints": 32932,
          "phone_class": "Belgian mobile",
          "share_pooled": 0.7096190312,
          "share_restaurant_weighted": 0.689658984
        },
        {
          "datapoints": 8794,
          "phone_class": "No phone",
          "share_pooled": 0.1894931908,
          "share_restaurant_weighted": 0.1901690451
        },
        {
          "datapoints": 1634,
          "phone_class": "Unrecognised",
          "share_pooled": 0.0352094466,
          "share_restaurant_weighted": 0.0403325559
        },
        {
          "datapoints": 1280,
          "phone_class": "Belgian landline",
          "share_pooled": 0.0275814515,
          "share_restaurant_weighted": 0.0293621286
        },
        {
          "datapoints": 1159,
          "phone_class": "Netherlands",
          "share_pooled": 0.0249741424,
          "share_restaurant_weighted": 0.026101807
        },
        {
          "datapoints": 204,
          "phone_class": "Other country",
          "share_pooled": 0.0043957938,
          "share_restaurant_weighted": 0.0098529799
        },
        {
          "datapoints": 161,
          "phone_class": "Germany",
          "share_pooled": 0.0034692294,
          "share_restaurant_weighted": 0.0049869454
        },
        {
          "datapoints": 106,
          "phone_class": "France",
          "share_pooled": 0.002284089,
          "share_restaurant_weighted": 0.0043024998
        },
        {
          "datapoints": 79,
          "phone_class": "United Kingdom",
          "share_pooled": 0.0017022927,
          "share_restaurant_weighted": 0.0034485971
        },
        {
          "datapoints": 59,
          "phone_class": "Luxembourg",
          "share_pooled": 0.0012713325,
          "share_restaurant_weighted": 0.0017844571
        }
      ],
      "value": {
        "Belgian landline": 2.9,
        "Belgian mobile": 69,
        "France": 0.4,
        "Germany": 0.5,
        "Luxembourg": 0.2,
        "Netherlands": 2.6,
        "No phone": 19,
        "Other country": 1,
        "United Kingdom": 0.3,
        "Unrecognised": 4
      }
    },
    "public_review_click": {
      "datapoints": 1455,
      "method": "Happy guests (high rating) are invited to also post their review on Google or Tripadvisor. Share who clicked through, per restaurant (≥20 invitations), averaged.",
      "period": "reviews submitted 1 January 2025 – 30 September 2026",
      "restaurants": 22,
      "table": null,
      "value": {
        "pooled": 27.3,
        "rw": 26.3
      }
    },
    "rating_avg": {
      "datapoints": 11525,
      "method": "Overall star rating (1–5) guests gave in the post-visit review form the restaurant sends. Per restaurant (≥30 reviews), averaged. Reviews imported from other platforms are left out.",
      "period": "reviews submitted 1 January 2025 – 30 September 2026",
      "restaurants": 29,
      "table": [
        {
          "datapoints": 8116,
          "share_pooled": 0.704208243,
          "share_restaurant_weighted": 0.6678419276,
          "stars": "5"
        },
        {
          "datapoints": 2666,
          "share_pooled": 0.2313232104,
          "share_restaurant_weighted": 0.261091697,
          "stars": "4"
        },
        {
          "datapoints": 480,
          "share_pooled": 0.04164859,
          "share_restaurant_weighted": 0.0434015254,
          "stars": "3"
        },
        {
          "datapoints": 144,
          "share_pooled": 0.012494577,
          "share_restaurant_weighted": 0.0152541516,
          "stars": "2"
        },
        {
          "datapoints": 119,
          "share_pooled": 0.0103253796,
          "share_restaurant_weighted": 0.0124106984,
          "stars": "1"
        }
      ],
      "value": {
        "avg": 4.56,
        "five": 66.8,
        "low": 2.8
      }
    },
    "rating_by_dow": {
      "datapoints": 2326,
      "method": "Average overall rating by weekday of the visit. Pooled.",
      "period": "reviews submitted 1 January 2025 – 30 September 2026",
      "restaurants": 36,
      "table": [
        {
          "avg_rating": 4.6029411765,
          "dow": "Monday",
          "reviews": 136
        },
        {
          "avg_rating": 4.6784140969,
          "dow": "Tuesday",
          "reviews": 227
        },
        {
          "avg_rating": 4.6157894737,
          "dow": "Wednesday",
          "reviews": 190
        },
        {
          "avg_rating": 4.6308724832,
          "dow": "Thursday",
          "reviews": 298
        },
        {
          "avg_rating": 4.6945996276,
          "dow": "Friday",
          "reviews": 537
        },
        {
          "avg_rating": 4.6576086957,
          "dow": "Saturday",
          "reviews": 552
        },
        {
          "avg_rating": 4.5725388601,
          "dow": "Sunday",
          "reviews": 386
        }
      ],
      "value": {
        "Friday": 4.69,
        "Monday": 4.6,
        "Saturday": 4.66,
        "Sunday": 4.57,
        "Thursday": 4.63,
        "Tuesday": 4.68,
        "Wednesday": 4.62
      }
    },
    "rating_by_month": {
      "datapoints": 7539,
      "method": "Average rating per restaurant per month (≥10 reviews), averaged across restaurants.",
      "period": "reviews submitted January – September 2026",
      "restaurants": 30,
      "table": [
        {
          "avg_rating": 4.341,
          "month": "2026-01"
        },
        {
          "avg_rating": 4.4,
          "month": "2026-02"
        },
        {
          "avg_rating": 4.54,
          "month": "2026-03"
        },
        {
          "avg_rating": 4.669,
          "month": "2026-04"
        },
        {
          "avg_rating": 4.654,
          "month": "2026-05"
        },
        {
          "avg_rating": 4.665,
          "month": "2026-06"
        },
        {
          "avg_rating": 4.532,
          "month": "2026-07"
        },
        {
          "avg_rating": 4.585,
          "month": "2026-08"
        },
        {
          "avg_rating": 4.524,
          "month": "2026-09"
        }
      ],
      "value": {
        "2026-01": 4.34,
        "2026-02": 4.4,
        "2026-03": 4.54,
        "2026-04": 4.67,
        "2026-05": 4.65,
        "2026-06": 4.66,
        "2026-07": 4.53,
        "2026-08": 4.59,
        "2026-09": 4.52
      }
    },
    "rating_by_party": {
      "datapoints": 2326,
      "method": "Average overall rating by party size of the reservation linked to the review. Pooled (reviews linked to a reservation only).",
      "period": "reviews submitted 1 January 2025 – 30 September 2026",
      "restaurants": 36,
      "table": [
        {
          "avg_rating": 4.6474411048,
          "psize": "1–2",
          "reviews": 1231
        },
        {
          "avg_rating": 4.6561314791,
          "psize": "3–4",
          "reviews": 791
        },
        {
          "avg_rating": 4.6287128713,
          "psize": "5–6",
          "reviews": 202
        },
        {
          "avg_rating": 4.5392156863,
          "psize": "7+",
          "reviews": 102
        }
      ],
      "value": {
        "1–2": 4.65,
        "3–4": 4.66,
        "5–6": 4.63,
        "7+": 4.54
      }
    },
    "repeat_visit_share": {
      "datapoints": 32624,
      "method": "Share of reservations in the period that are a 2nd-or-later visit of the same guest at the same restaurant within the period; distribution of guests by number of visits. Same fixed panel; per restaurant, averaged.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 23,
      "table": [
        {
          "datapoints": 24481,
          "share_pooled": 0.8892803952,
          "share_restaurant_weighted": 0.8920613249,
          "visits": "1"
        },
        {
          "datapoints": 2200,
          "share_pooled": 0.0799157252,
          "share_restaurant_weighted": 0.0782576284,
          "visits": "2"
        },
        {
          "datapoints": 509,
          "share_pooled": 0.0184895928,
          "share_restaurant_weighted": 0.0179314469,
          "visits": "3"
        },
        {
          "datapoints": 243,
          "share_pooled": 0.0088270551,
          "share_restaurant_weighted": 0.0085542228,
          "visits": "4–5"
        },
        {
          "datapoints": 96,
          "share_pooled": 0.0034872316,
          "share_restaurant_weighted": 0.003195377,
          "visits": "6+"
        }
      ],
      "value": {
        "once": 89.2,
        "repeat_share": 15.1
      }
    },
    "return_gap": {
      "datapoints": 3039,
      "method": "Returning guests: days between their first and second visit within the period. Median per restaurant, then median across restaurants; bands restaurant-weighted.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 22,
      "table": [
        {
          "datapoints": 326,
          "gap_bucket": "Within 2 weeks",
          "share_pooled": 0.107272129,
          "share_restaurant_weighted": 0.1113764564
        },
        {
          "datapoints": 421,
          "gap_bucket": "2–4 weeks",
          "share_pooled": 0.138532412,
          "share_restaurant_weighted": 0.1332540113
        },
        {
          "datapoints": 650,
          "gap_bucket": "1–2 months",
          "share_pooled": 0.2138861468,
          "share_restaurant_weighted": 0.2147306859
        },
        {
          "datapoints": 513,
          "gap_bucket": "2–3 months",
          "share_pooled": 0.1688055281,
          "share_restaurant_weighted": 0.16912322
        },
        {
          "datapoints": 898,
          "gap_bucket": "3–6 months",
          "share_pooled": 0.2954919381,
          "share_restaurant_weighted": 0.2921541077
        },
        {
          "datapoints": 231,
          "gap_bucket": "6+ months",
          "share_pooled": 0.076011846,
          "share_restaurant_weighted": 0.0793615187
        }
      ],
      "value": {
        "median_days": 63,
        "within30": 24.5
      }
    },
    "return_rate": {
      "datapoints": 27529,
      "method": "Guests identified by email or phone INSIDE one restaurant (never across restaurants); a visit = a distinct reservation date. Fixed panel of 23 restaurants with reservations in every month, so every restaurant had the same nine months. Share of guests with 2+ visits in the period, per restaurant (≥200 guests), averaged. Second figure: only guests whose first visit was before 1 July 2026 (at least three months to come back).",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 23,
      "table": null,
      "value": {
        "first_half": 13.9,
        "rw": 10.8
      }
    },
    "seasonality": {
      "datapoints": 46112,
      "method": "Two normalisations: (1) covers per ACTIVE restaurant (≥20 reservations that month); (2) a fixed panel of 23 restaurants active in every month, each indexed to its own monthly average (100 = that restaurant’s average month), then averaged. Raw totals are never compared across months because the number of restaurants on the platform grew.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 44,
      "table": [
        {
          "active_restaurants": 25,
          "covers": 14017,
          "covers_per_active_restaurant": 560.7,
          "month": "2026-01",
          "reservations": 3941,
          "reservations_per_active_restaurant": 157.6,
          "same_restaurant_index": 91.6
        },
        {
          "active_restaurants": 28,
          "covers": 17599,
          "covers_per_active_restaurant": 628.5,
          "month": "2026-02",
          "reservations": 5255,
          "reservations_per_active_restaurant": 187.7,
          "same_restaurant_index": 103.3
        },
        {
          "active_restaurants": 27,
          "covers": 17065,
          "covers_per_active_restaurant": 632,
          "month": "2026-03",
          "reservations": 4735,
          "reservations_per_active_restaurant": 175.4,
          "same_restaurant_index": 100.3
        },
        {
          "active_restaurants": 26,
          "covers": 15819,
          "covers_per_active_restaurant": 608.4,
          "month": "2026-04",
          "reservations": 4505,
          "reservations_per_active_restaurant": 173.3,
          "same_restaurant_index": 98.6
        },
        {
          "active_restaurants": 28,
          "covers": 20317,
          "covers_per_active_restaurant": 725.6,
          "month": "2026-05",
          "reservations": 5520,
          "reservations_per_active_restaurant": 197.1,
          "same_restaurant_index": 111.3
        },
        {
          "active_restaurants": 30,
          "covers": 17766,
          "covers_per_active_restaurant": 592.2,
          "month": "2026-06",
          "reservations": 4962,
          "reservations_per_active_restaurant": 165.4,
          "same_restaurant_index": 94.1
        },
        {
          "active_restaurants": 32,
          "covers": 19205,
          "covers_per_active_restaurant": 600.2,
          "month": "2026-07",
          "reservations": 5719,
          "reservations_per_active_restaurant": 178.7,
          "same_restaurant_index": 97.9
        },
        {
          "active_restaurants": 33,
          "covers": 22223,
          "covers_per_active_restaurant": 673.4,
          "month": "2026-08",
          "reservations": 6441,
          "reservations_per_active_restaurant": 195.2,
          "same_restaurant_index": 113.2
        },
        {
          "active_restaurants": 34,
          "covers": 17468,
          "covers_per_active_restaurant": 513.8,
          "month": "2026-09",
          "reservations": 5034,
          "reservations_per_active_restaurant": 148.1,
          "same_restaurant_index": 89.6
        }
      ],
      "value": {
        "low": "2026-09",
        "low_idx": 89.6,
        "panel": 23,
        "top": "2026-08",
        "top_idx": 113.2
      }
    },
    "seat_fill": {
      "datapoints": 31547,
      "method": "Pre-booked dinner covers divided by the seat count the restaurant set in its settings (restaurants with no seat count set, or fewer than 10 seats, are left out), on dinner services with at least one reservation; per restaurant, then averaged.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 35,
      "table": [
        {
          "pre_booked_share_of_seats": 0.269,
          "weekday": "Monday"
        },
        {
          "pre_booked_share_of_seats": 0.433,
          "weekday": "Tuesday"
        },
        {
          "pre_booked_share_of_seats": 0.347,
          "weekday": "Wednesday"
        },
        {
          "pre_booked_share_of_seats": 0.38,
          "weekday": "Thursday"
        },
        {
          "pre_booked_share_of_seats": 0.558,
          "weekday": "Friday"
        },
        {
          "pre_booked_share_of_seats": 0.711,
          "weekday": "Saturday"
        },
        {
          "pre_booked_share_of_seats": 0.422,
          "weekday": "Sunday"
        }
      ],
      "value": {
        "avg": 47,
        "fri": 56,
        "low": "Monday",
        "low_v": 27,
        "sat": 71
      }
    },
    "service_split": {
      "datapoints": 46408,
      "method": "Reservation start time classified as breakfast (<11:00), lunch (11:00–14:59), afternoon (15:00–16:59) or dinner (≥17:00). Each restaurant’s own distribution is computed first, then averaged with equal weight per restaurant (restaurant-weighted), so a busy restaurant or a newly onboarded one cannot dominate. Restaurants with fewer than 30 reservations in the period are left out.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 41,
      "table": [
        {
          "datapoints": 662,
          "service": "Breakfast",
          "share_pooled": 0.0142647819,
          "share_restaurant_weighted": 0.0561846605
        },
        {
          "datapoints": 13794,
          "service": "Lunch",
          "share_pooled": 0.2972332356,
          "share_restaurant_weighted": 0.2553977096
        },
        {
          "datapoints": 417,
          "service": "Afternoon",
          "share_pooled": 0.0089855197,
          "share_restaurant_weighted": 0.0124360263
        },
        {
          "datapoints": 31535,
          "service": "Dinner",
          "share_pooled": 0.6795164627,
          "share_restaurant_weighted": 0.6759816036
        }
      ],
      "value": {
        "Afternoon": 1.2,
        "Breakfast": 5.6,
        "Dinner": 67.6,
        "Lunch": 25.5
      }
    },
    "slot_type": {
      "datapoints": 46408,
      "method": "Minute part of the reserved start time. Each restaurant’s own distribution is computed first, then averaged with equal weight per restaurant (restaurant-weighted), so a busy restaurant or a newly onboarded one cannot dominate. Restaurants with fewer than 30 reservations in the period are left out.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 41,
      "table": [
        {
          "datapoints": 21726,
          "share_pooled": 0.4681520428,
          "share_restaurant_weighted": 0.4846636169,
          "slot_type": "On the hour (:00)"
        },
        {
          "datapoints": 16317,
          "share_pooled": 0.3515988623,
          "share_restaurant_weighted": 0.3572970165,
          "slot_type": "Half hour (:30)"
        },
        {
          "datapoints": 7989,
          "share_pooled": 0.1721470436,
          "share_restaurant_weighted": 0.1524881522,
          "slot_type": "Quarter (:15/:45)"
        },
        {
          "datapoints": 376,
          "share_pooled": 0.0081020514,
          "share_restaurant_weighted": 0.0055512144,
          "slot_type": "Other"
        }
      ],
      "value": {
        "Half hour (:30)": 35.7,
        "On the hour (:00)": 48.5,
        "Other": 0.6,
        "Quarter (:15/:45)": 15.2
      }
    },
    "staff_creation_hour": {
      "datapoints": 10144,
      "method": "Hour (Belgian time) at which restaurant staff entered reservations (phone, walk-in, email). Each restaurant’s own distribution is computed first, then averaged with equal weight per restaurant (restaurant-weighted), so a busy restaurant or a newly onboarded one cannot dominate. Restaurants with fewer than 30 reservations in the period are left out.",
      "period": "restaurant-entered reservations created 1 October 2025 – 30 September 2026",
      "restaurants": 29,
      "table": [
        {
          "chour": 0,
          "datapoints": 36,
          "share_pooled": 0.0035488959,
          "share_restaurant_weighted": 0.0129731164
        },
        {
          "chour": 1,
          "datapoints": 17,
          "share_pooled": 0.0016758675,
          "share_restaurant_weighted": 0.0042068794
        },
        {
          "chour": 2,
          "datapoints": 3,
          "share_pooled": 0.0002957413,
          "share_restaurant_weighted": 0.0002414181
        },
        {
          "chour": 4,
          "datapoints": 1,
          "share_pooled": 0.0000985804,
          "share_restaurant_weighted": 0.0007662835
        },
        {
          "chour": 5,
          "datapoints": 1,
          "share_pooled": 0.0000985804,
          "share_restaurant_weighted": 0.0005473454
        },
        {
          "chour": 6,
          "datapoints": 4,
          "share_pooled": 0.0003943218,
          "share_restaurant_weighted": 0.0004825424
        },
        {
          "chour": 7,
          "datapoints": 41,
          "share_pooled": 0.0040417981,
          "share_restaurant_weighted": 0.0061654415
        },
        {
          "chour": 8,
          "datapoints": 88,
          "share_pooled": 0.0086750789,
          "share_restaurant_weighted": 0.0115816144
        },
        {
          "chour": 9,
          "datapoints": 335,
          "share_pooled": 0.0330244479,
          "share_restaurant_weighted": 0.0318805015
        },
        {
          "chour": 10,
          "datapoints": 751,
          "share_pooled": 0.0740339117,
          "share_restaurant_weighted": 0.0698055682
        },
        {
          "chour": 11,
          "datapoints": 1147,
          "share_pooled": 0.1130717666,
          "share_restaurant_weighted": 0.0989148818
        },
        {
          "chour": 12,
          "datapoints": 971,
          "share_pooled": 0.0957216088,
          "share_restaurant_weighted": 0.0845255477
        },
        {
          "chour": 13,
          "datapoints": 791,
          "share_pooled": 0.0779771293,
          "share_restaurant_weighted": 0.0728858756
        },
        {
          "chour": 14,
          "datapoints": 860,
          "share_pooled": 0.0847791798,
          "share_restaurant_weighted": 0.0755880742
        },
        {
          "chour": 15,
          "datapoints": 877,
          "share_pooled": 0.0864550473,
          "share_restaurant_weighted": 0.0749304462
        },
        {
          "chour": 16,
          "datapoints": 878,
          "share_pooled": 0.0865536278,
          "share_restaurant_weighted": 0.0830654448
        },
        {
          "chour": 17,
          "datapoints": 1059,
          "share_pooled": 0.1043966877,
          "share_restaurant_weighted": 0.12429603
        },
        {
          "chour": 18,
          "datapoints": 900,
          "share_pooled": 0.0887223975,
          "share_restaurant_weighted": 0.0911808528
        },
        {
          "chour": 19,
          "datapoints": 471,
          "share_pooled": 0.046431388,
          "share_restaurant_weighted": 0.0439588002
        },
        {
          "chour": 20,
          "datapoints": 369,
          "share_pooled": 0.036376183,
          "share_restaurant_weighted": 0.043775228
        },
        {
          "chour": 21,
          "datapoints": 300,
          "share_pooled": 0.0295741325,
          "share_restaurant_weighted": 0.0366098099
        },
        {
          "chour": 22,
          "datapoints": 162,
          "share_pooled": 0.0159700315,
          "share_restaurant_weighted": 0.0234993754
        },
        {
          "chour": 23,
          "datapoints": 82,
          "share_pooled": 0.0080835962,
          "share_restaurant_weighted": 0.0081189227
        }
      ],
      "value": {
        "peak": 17,
        "peak_v": 12.4
      }
    },
    "subscores": {
      "datapoints": 9760,
      "method": "Average 1–5 score per aspect, per restaurant (≥30), averaged.",
      "period": "reviews submitted 1 January 2025 – 30 September 2026",
      "restaurants": 38,
      "table": [
        {
          "aspect": "Food",
          "avg_score": 4.66,
          "share_5_stars": 0.7252
        },
        {
          "aspect": "Friendliness / service",
          "avg_score": 4.8,
          "share_5_stars": 0.8304
        },
        {
          "aspect": "Interior / ambiance",
          "avg_score": 4.54,
          "share_5_stars": 0.614
        }
      ],
      "value": {
        "Food": 4.66,
        "Friendliness / service": 4.8,
        "Interior / ambiance": 4.54
      }
    },
    "tables_used": {
      "datapoints": 20076,
      "method": "Number of distinct tables that actually received reservations in the period, per restaurant (restaurants that do not assign tables are left out: they do not have zero tables, they just do not use the table plan). Combined-table share = reservations assigned to 2+ tables.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 16,
      "table": [
        {
          "party_size": "1–2",
          "share_on_combined_tables": 0.0023
        },
        {
          "party_size": "3–4",
          "share_on_combined_tables": 0.1577
        },
        {
          "party_size": "5–6",
          "share_on_combined_tables": 0.3815
        },
        {
          "party_size": "7–8",
          "share_on_combined_tables": 0.7134
        },
        {
          "party_size": "9+",
          "share_on_combined_tables": 0.8409
        }
      ],
      "value": {
        "multi": 12.6,
        "multi_by_party": {
          "1–2": 0,
          "3–4": 16,
          "5–6": 38,
          "7–8": 71,
          "9+": 84
        }
      }
    },
    "terrace": {
      "datapoints": 8758,
      "method": "Share of reservations with a terrace/outdoor seating choice, only for restaurants that offer an outdoor area in their booking form, per restaurant per month, averaged.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 9,
      "table": [
        {
          "month": "2026-01",
          "terrace_share": 0.0034
        },
        {
          "month": "2026-02",
          "terrace_share": 0.0079
        },
        {
          "month": "2026-03",
          "terrace_share": 0.0243
        },
        {
          "month": "2026-04",
          "terrace_share": 0.0394
        },
        {
          "month": "2026-05",
          "terrace_share": 0.2696
        },
        {
          "month": "2026-06",
          "terrace_share": 0.3401
        },
        {
          "month": "2026-07",
          "terrace_share": 0.5913
        },
        {
          "month": "2026-08",
          "terrace_share": 0.4349
        },
        {
          "month": "2026-09",
          "terrace_share": 0.3699
        }
      ],
      "value": {
        "low": "2026-01",
        "low_v": 0.3,
        "restaurants": 9,
        "top": "2026-07",
        "top_v": 59.1
      }
    },
    "top_time_dinner": {
      "datapoints": 31485,
      "method": "Most booked dinner start times; share of each restaurant’s dinner reservations per start time, averaged. Each restaurant’s own distribution is computed first, then averaged with equal weight per restaurant (restaurant-weighted), so a busy restaurant or a newly onboarded one cannot dominate. Restaurants with fewer than 30 reservations in the period are left out.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 37,
      "table": [
        {
          "datapoints": 8743,
          "share_pooled": 0.2776877878,
          "share_restaurant_weighted": 0.3137901337,
          "slot": "19:00"
        },
        {
          "datapoints": 4122,
          "share_pooled": 0.1309194855,
          "share_restaurant_weighted": 0.1492535353,
          "slot": "19:30"
        },
        {
          "datapoints": 4908,
          "share_pooled": 0.1558837542,
          "share_restaurant_weighted": 0.1449843384,
          "slot": "18:30"
        },
        {
          "datapoints": 4101,
          "share_pooled": 0.1302525012,
          "share_restaurant_weighted": 0.1143950247,
          "slot": "18:00"
        },
        {
          "datapoints": 1562,
          "share_pooled": 0.0496109258,
          "share_restaurant_weighted": 0.0590926254,
          "slot": "20:00"
        },
        {
          "datapoints": 1836,
          "share_pooled": 0.0583134826,
          "share_restaurant_weighted": 0.0517185677,
          "slot": "19:15"
        },
        {
          "datapoints": 1431,
          "share_pooled": 0.0454502144,
          "share_restaurant_weighted": 0.0341932804,
          "slot": "17:30"
        },
        {
          "datapoints": 1186,
          "share_pooled": 0.0376687311,
          "share_restaurant_weighted": 0.0328427841,
          "slot": "18:45"
        },
        {
          "datapoints": 908,
          "share_pooled": 0.0288391297,
          "share_restaurant_weighted": 0.0230748308,
          "slot": "18:15"
        },
        {
          "datapoints": 837,
          "share_pooled": 0.0265840877,
          "share_restaurant_weighted": 0.0198641399,
          "slot": "17:00"
        },
        {
          "datapoints": 441,
          "share_pooled": 0.0140066698,
          "share_restaurant_weighted": 0.0160786313,
          "slot": "19:45"
        },
        {
          "datapoints": 272,
          "share_pooled": 0.0086390345,
          "share_restaurant_weighted": 0.0098665321,
          "slot": "20:30"
        }
      ],
      "value": {
        "second": "19:30",
        "second_share": 14.9,
        "top": "19:00",
        "top_share": 31.4
      }
    },
    "top_time_lunch": {
      "datapoints": 13694,
      "method": "Most booked lunch start times; share of each restaurant’s lunch reservations per start time, averaged. Each restaurant’s own distribution is computed first, then averaged with equal weight per restaurant (restaurant-weighted), so a busy restaurant or a newly onboarded one cannot dominate. Restaurants with fewer than 30 reservations in the period are left out.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 29,
      "table": [
        {
          "datapoints": 4639,
          "share_pooled": 0.3387615014,
          "share_restaurant_weighted": 0.347107657,
          "slot": "12:30"
        },
        {
          "datapoints": 3909,
          "share_pooled": 0.2854534833,
          "share_restaurant_weighted": 0.2733340336,
          "slot": "12:00"
        },
        {
          "datapoints": 1651,
          "share_pooled": 0.1205637505,
          "share_restaurant_weighted": 0.1477785359,
          "slot": "13:00"
        },
        {
          "datapoints": 1747,
          "share_pooled": 0.1275741201,
          "share_restaurant_weighted": 0.0846700316,
          "slot": "12:15"
        },
        {
          "datapoints": 541,
          "share_pooled": 0.0395063531,
          "share_restaurant_weighted": 0.031956302,
          "slot": "12:45"
        },
        {
          "datapoints": 253,
          "share_pooled": 0.0184752446,
          "share_restaurant_weighted": 0.0279077194,
          "slot": "13:30"
        },
        {
          "datapoints": 295,
          "share_pooled": 0.0215422813,
          "share_restaurant_weighted": 0.0225930583,
          "slot": "11:30"
        },
        {
          "datapoints": 138,
          "share_pooled": 0.0100774062,
          "share_restaurant_weighted": 0.0175992759,
          "slot": "14:00"
        },
        {
          "datapoints": 193,
          "share_pooled": 0.0140937637,
          "share_restaurant_weighted": 0.0160517874,
          "slot": "13:15"
        },
        {
          "datapoints": 50,
          "share_pooled": 0.0036512341,
          "share_restaurant_weighted": 0.0084709785,
          "slot": "14:30"
        },
        {
          "datapoints": 23,
          "share_pooled": 0.0016795677,
          "share_restaurant_weighted": 0.0044897066,
          "slot": "14:15"
        },
        {
          "datapoints": 54,
          "share_pooled": 0.0039433328,
          "share_restaurant_weighted": 0.0037741862,
          "slot": "11:45"
        }
      ],
      "value": {
        "second": "12:00",
        "second_share": 27.3,
        "top": "12:30",
        "top_share": 34.7
      }
    },
    "waitlist": {
      "datapoints": 1775,
      "method": "Waitlist requests in restaurants that use the waitlist (≥20 requests). Converted = a request that became a confirmed reservation; a request still waiting after its date passed = not converted. Conversion per restaurant, averaged.",
      "period": "visit dates 1 January – 30 September 2026",
      "restaurants": 9,
      "table": [
        {
          "datapoints": 6,
          "dw": "Monday",
          "share_pooled": 0.0033802817,
          "share_restaurant_weighted": 0.0072188887
        },
        {
          "datapoints": 132,
          "dw": "Tuesday",
          "share_pooled": 0.0743661972,
          "share_restaurant_weighted": 0.0151579209
        },
        {
          "datapoints": 71,
          "dw": "Wednesday",
          "share_pooled": 0.04,
          "share_restaurant_weighted": 0.0199432044
        },
        {
          "datapoints": 203,
          "dw": "Thursday",
          "share_pooled": 0.1143661972,
          "share_restaurant_weighted": 0.0378151924
        },
        {
          "datapoints": 429,
          "dw": "Friday",
          "share_pooled": 0.2416901408,
          "share_restaurant_weighted": 0.2467065621
        },
        {
          "datapoints": 863,
          "dw": "Saturday",
          "share_pooled": 0.4861971831,
          "share_restaurant_weighted": 0.576914415
        },
        {
          "datapoints": 71,
          "dw": "Sunday",
          "share_pooled": 0.04,
          "share_restaurant_weighted": 0.0962438167
        }
      ],
      "value": {
        "avg_party_wl": 2.7,
        "conv": 28,
        "entries": 1775,
        "restaurants": 9,
        "top_dow": "Saturday"
      }
    },
    "weekly_index": {
      "datapoints": 33548,
      "method": "Fixed panel of restaurants with reservations in at least 35 of the weeks: each restaurant’s weekly covers indexed to its own average week (100), median across restaurants.",
      "period": "ISO weeks 2–39 of 2026",
      "restaurants": 20,
      "table": [
        {
          "index": 75.8,
          "week": 2
        },
        {
          "index": 88.5,
          "week": 3
        },
        {
          "index": 98.8,
          "week": 4
        },
        {
          "index": 105,
          "week": 5
        },
        {
          "index": 95.2,
          "week": 6
        },
        {
          "index": 120.3,
          "week": 7
        },
        {
          "index": 112.6,
          "week": 8
        },
        {
          "index": 115.8,
          "week": 9
        },
        {
          "index": 104.6,
          "week": 10
        },
        {
          "index": 96.3,
          "week": 11
        },
        {
          "index": 101.2,
          "week": 12
        },
        {
          "index": 107.6,
          "week": 13
        },
        {
          "index": 98.7,
          "week": 14
        },
        {
          "index": 109.6,
          "week": 15
        },
        {
          "index": 105.7,
          "week": 16
        },
        {
          "index": 97.7,
          "week": 17
        },
        {
          "index": 104.9,
          "week": 18
        },
        {
          "index": 112.1,
          "week": 19
        },
        {
          "index": 108.1,
          "week": 20
        },
        {
          "index": 101.4,
          "week": 21
        },
        {
          "index": 88.4,
          "week": 22
        },
        {
          "index": 98.6,
          "week": 23
        },
        {
          "index": 122.3,
          "week": 24
        },
        {
          "index": 100.7,
          "week": 25
        },
        {
          "index": 91.4,
          "week": 26
        },
        {
          "index": 104.7,
          "week": 27
        },
        {
          "index": 103.9,
          "week": 28
        },
        {
          "index": 103.3,
          "week": 29
        },
        {
          "index": 97.5,
          "week": 30
        },
        {
          "index": 120.3,
          "week": 31
        },
        {
          "index": 102.4,
          "week": 32
        },
        {
          "index": 121.1,
          "week": 33
        },
        {
          "index": 115.9,
          "week": 34
        },
        {
          "index": 121.2,
          "week": 35
        },
        {
          "index": 102.2,
          "week": 36
        },
        {
          "index": 91.1,
          "week": 37
        },
        {
          "index": 102.6,
          "week": 38
        },
        {
          "index": 111,
          "week": 39
        }
      ],
      "value": {
        "low": 2,
        "low_v": 76,
        "top": 24,
        "top_v": 122
      }
    },
    "written_review": {
      "datapoints": 11636,
      "method": "Share of reviews with a written comment, and its length in words (median per restaurant, then median). Comment text is never published.",
      "period": "reviews submitted 1 January 2025 – 30 September 2026",
      "restaurants": 38,
      "table": null,
      "value": {
        "median_words": 10.25,
        "share": 34.9,
        "words_5": 10,
        "words_low": 30.5
      }
    }
  }
}
