{
  "_meta": {
    "title": "PEKO loyalty failure-mode framework 2026",
    "licence": "https://creativecommons.org/licenses/by/4.0/",
    "attribution": "PEKO (Hungry Bear Internet Pte. Ltd.), \"PEKO loyalty failure-mode framework 2026\", 2026. Licensed CC BY 4.0.",
    "version": "1.0.0",
    "generated": "2026-09-16",
    "report": "https://heypeko.com/reports/f-and-b-retention-sea-2026#why-loyalty-programmes-fail-in-southeast-asia",
    "note": "The six structural reasons loyalty programmes fail, with the mechanism that removes each one."
  },
  "failure_modes": [
    {
      "mode_id": "cashier-bottleneck",
      "name_en": "Cashier bottleneck",
      "name_vi": "Nút cổ chai ở quầy thu ngân",
      "cause": "Enrolment only when staff remember to ask",
      "remedy": "Guest scans an in-venue QR or photographs the receipt. Anyone at the table can join — not only the payer. OCR reads receipts from any POS, so no integration is needed."
    },
    {
      "mode_id": "blind-points",
      "name_en": "Blind points",
      "name_vi": "Điểm mù — khách không tự xem được điểm",
      "cause": "Balance visible only on the staff sales screen",
      "remedy": "Balance, tier, stamps and vouchers live in the guest's WhatsApp (Singapore, Malaysia) or Zalo (Vietnam). The guest checks it between visits without asking anyone."
    },
    {
      "mode_id": "death-spiral",
      "name_en": "Death spiral",
      "name_vi": "Vòng xoáy chết của chương trình tích điểm",
      "cause": "No new members + no visible reward = no return visits",
      "remedy": "Streaks, referrals and tiers give the guest a reason to return that exists before the next visit, not only after it."
    },
    {
      "mode_id": "cashback-trap",
      "name_en": "Cashback trap",
      "name_vi": "Bẫy hoàn tiền",
      "cause": "Merchant-funded discount on every bill",
      "remedy": "Rewards are earned on behaviour the venue chooses — visits, streaks, referrals — and released on the venue's rules, not on every transaction."
    },
    {
      "mode_id": "platform-owned-customer",
      "name_en": "Platform-owned customer",
      "name_vi": "Khách thuộc về nền tảng, không thuộc về quán",
      "cause": "Balance lives in a third-party app",
      "remedy": "The venue owns the member list and can export it at any time. The messaging channel is the guest's own WhatsApp or Zalo, not a marketplace."
    },
    {
      "mode_id": "reminder-not-prediction",
      "name_en": "Reminder, not prediction",
      "name_vi": "Nhắc sau thay vì đoán trước",
      "cause": "Fixed 'inactive 30 days' rules fire too late",
      "remedy": "Cadence model learns each guest's rhythm and flags lapse risk 3–7 days before the usual return window closes."
    }
  ]
}
