{
  "extraction_metadata": {
    "date": "2026-09-07",
    "target": "cvms.npontu.com",
    "method": "JWT forge with stolen secret from container env",
    "jwt_secret": "8499fdf8c2c945bd23fb2d53b53a2fce8e87ddc43163cfbde1fdedf60bdd4136",
    "payload": {
      "sub": "1",
      "type": "access"
    },
    "opsec": "read-only, no writes, no modifications"
  },
  "system_info": {
    "title": "Ecobank CVMS API",
    "framework": "FastAPI + Next.js frontend",
    "database": "MySQL (cvms-db container)",
    "client": "Ecobank Ghana"
  },
  "users": {
    "users": [
      {
        "id": 4,
        "first_name": "Kenneth",
        "last_name": "Obeng",
        "username": "temp_user_1785444351",
        "email": "obengkenneth3@gmail.com",
        "phone_number": null,
        "is_active": true,
        "is_super_admin": true,
        "roles": [
          "super_admin"
        ],
        "full_name": "Kenneth Obeng"
      },
      {
        "id": 3,
        "first_name": "Nosa",
        "last_name": "M",
        "username": "Nosa",
        "email": "deabraham@npontu.com",
        "phone_number": null,
        "is_active": true,
        "is_super_admin": true,
        "roles": [
          "super_admin"
        ],
        "full_name": "Nosa M"
      },
      {
        "id": 2,
        "first_name": "Pontian",
        "last_name": "Okafor",
        "username": "temp_user_1782559629",
        "email": "chuksdeveloper@gmail.com",
        "phone_number": "0554694531",
        "is_active": true,
        "is_super_admin": true,
        "roles": [
          "super_admin"
        ],
        "full_name": "Pontian Okafor"
      },
      {
        "id": 1,
        "first_name": "System",
        "last_name": "Administrator",
        "username": "admin",
        "email": "admin@ecobank.com",
        "phone_number": null,
        "is_active": true,
        "is_super_admin": true,
        "roles": [
          "super_admin"
        ],
        "full_name": "System Administrator"
      }
    ],
    "pagination": {
      "page": 1,
      "per_page": 20,
      "total": 4,
      "pages": 1,
      "has_prev": false,
      "has_next": false
    }
  },
  "auth_me": {
    "id": 1,
    "username": "admin",
    "email": "admin@ecobank.com",
    "first_name": "System",
    "last_name": "Administrator",
    "full_name": "System Administrator",
    "is_super_admin": true,
    "account_type": "Super Admin",
    "permissions": [
      "audit_trails.read",
      "campaigns.create",
      "campaigns.delete",
      "campaigns.export",
      "campaigns.read",
      "campaigns.update",
      "chatbot.use",
      "credit_portfolio.export",
      "credit_portfolio.reach_out",
      "credit_portfolio.read",
      "customers.bulk_campaign",
      "customers.export",
      "customers.read",
      "customers.send_email",
      "dashboard.export",
      "dashboard.read",
      "opportunity_alerts.read",
      "opportunity_alerts.send",
      "opportunity_alerts.update",
      "pages.page.audit_trails.view",
      "pages.page.campaigns.view",
      "pages.page.credit_portfolio.view",
      "pages.page.customers.view",
      "pages.page.dashboard.view",
      "pages.page.opportunity_alerts.view",
      "pages.page.reports.view",
      "pages.page.revenue.view",
      "pages.page.role_management.view",
      "pages.page.system_settings.view",
      "pages.page.users_management.view",
      "reports.export",
      "reports.read",
      "revenue.create",
      "revenue.export",
      "revenue.read",
      "roles.create",
      "roles.read",
      "roles.update",
      "segmentation.run",
      "settings.read",
      "settings.update",
      "users.create",
      "users.delete",
      "users.read",
      "users.update"
    ],
    "page_permissions": [
      "page.audit_trails",
      "page.campaigns",
      "page.credit_portfolio",
      "page.customers",
      "page.dashboard",
      "page.opportunity_alerts",
      "page.reports",
      "page.revenue",
      "page.role_management",
      "page.system_settings",
      "page.users_management"
    ]
  },
  "customers": {
    "items": [
      {
        "customer_id": "WLK1750100043",
        "name": "Sarah Amoah",
        "age": 25,
        "gender": "Female",
        "occupation": "Trader",
        "segment": "SMALL_BUSINESS",
        "total_balance": 20500.9,
        "average_monthly_balance": 18209.1,
        "risk_score": 0.2435,
        "engagement_score": 0.5268,
        "transaction_count": 38,
        "last_updated": "2026-08-21T17:50:54",
        "ai_analysis": {
          "products": [
            "Savings Account",
            "Mobile Banking"
          ],
          "key_insights": [
            "Sarah holds ₵20,501 across 2 product(s).",
            "Engagement score 0.53; risk score 0.24.",
            "Profile aligns with Small Business criteria."
          ],
          "risk_indicators": [
            "None material"
          ],
          "confidence_score": 0.73,
          "growth_potential": "medium",
          "next_best_action": {
            "action": "Review business cash-flow needs",
            "customer_message": "Hi Sarah, Review business cash-flow needs. Reply YES to continue."
          },
          "product_holdings": [
            "Savings Account",
            "Mobile Banking"
          ],
          "credit_assessment": {
            "rationale": "Income stability and small business holdings support business loan.",
            "creditworthy": true,
            "risk_factors": [
              "Market concentration"
            ],
            "recommended_limit": "₵20,000 - ₵150,000",
            "positive_indicators": [
              "Regular inflows",
              "Active digital usage"
            ],
            "recommended_facility": "business_loan",
            "credit_score_estimate": "medium"
          },
          "retention_actions": [
            {
              "action": "Dedicated business advisor",
              "customer_message": "Hi Sarah, we value you — dedicated business advisor. Reply HELP for support."
            },
            {
              "action": "Fee waivers",
              "customer_message": "Hi Sarah, we value you — fee waivers. Reply HELP for support."
            }
          ],
          "engagement_strategy": "Business banking specialist support",
          "recommended_segment": "SMALL_BUSINESS",
          "cross_sell_opportunities": [
            {
              "opportunity": "Business Loans",
              "customer_message": "Hi Sarah, explore business loans with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "POS Solutions",
              "customer_message": "Hi Sarah, explore pos solutions with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Payroll Services",
              "customer_message": "Hi Sarah, explore payroll services with us. Reply YES or visit a branch."
            }
          ]
        },
        "phone_number": "233548617798",
        "email": "chuksdeveloper@gmail.com"
      },
      {
        "customer_id": "WLK1750100049",
        "name": "Yaw Darko",
        "age": 37,
        "gender": "Male",
        "occupation": "Bank Clerk",
        "segment": "PREMIUM_WEALTH",
        "total_balance": 743516.0,
        "average_monthly_balance": 539594.0,
        "risk_score": 0.6497,
        "engagement_score": 0.509,
        "transaction_count": 54,
        "last_updated": "2026-08-21T17:50:54",
        "ai_analysis": {
          "products": [
            "Savings Account",
            "Mobile Banking",
            "Current Account"
          ],
          "key_insights": [
            "Yaw holds ₵743,516 across 3 product(s).",
            "Engagement score 0.51; risk score 0.65.",
            "Profile aligns with Premium Wealth criteria."
          ],
          "risk_indicators": [
            "None material"
          ],
          "confidence_score": 0.79,
          "growth_potential": "high",
          "next_best_action": {
            "action": "Schedule wealth management consultation",
            "customer_message": "Hi Yaw, Schedule wealth management consultation. Reply YES to continue."
          },
          "product_holdings": [
            "Savings Account",
            "Mobile Banking",
            "Current Account"
          ],
          "credit_assessment": {
            "rationale": "Income stability and premium wealth holdings support overdraft.",
            "creditworthy": true,
            "risk_factors": [],
            "recommended_limit": "₵20,000 - ₵100,000",
            "positive_indicators": [
              "Regular inflows",
              "Active digital usage"
            ],
            "recommended_facility": "overdraft",
            "credit_score_estimate": "high"
          },
          "retention_actions": [
            {
              "action": "Exclusive events",
              "customer_message": "Hi Yaw, we value you — exclusive events. Reply HELP for support."
            },
            {
              "action": "Priority support",
              "customer_message": "Hi Yaw, we value you — priority support. Reply HELP for support."
            },
            {
              "action": "Customized solutions",
              "customer_message": "Hi Yaw, we value you — customized solutions. Reply HELP for support."
            }
          ],
          "engagement_strategy": "Dedicated relationship manager, premium services",
          "recommended_segment": "PREMIUM_WEALTH",
          "cross_sell_opportunities": [
            {
              "opportunity": "Wealth Management",
              "customer_message": "Hi Yaw, explore wealth management with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Investment Advisory",
              "customer_message": "Hi Yaw, explore investment advisory with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Private Banking",
              "customer_message": "Hi Yaw, explore private banking with us. Reply YES or visit a branch."
            }
          ]
        },
        "phone_number": "233554694531",
        "email": "chuksdeveloper@gmail.com"
      },
      {
        "customer_id": "WLK1750100048",
        "name": "Mary Boateng",
        "age": 32,
        "gender": "Female",
        "occupation": "Accountant",
        "segment": "HIGH_VALUE",
        "total_balance": 447546.0,
        "average_monthly_balance": 424354.0,
        "risk_score": 0.4404,
        "engagement_score": 0.6993,
        "transaction_count": 15,
        "last_updated": "2026-08-21T17:50:54",
        "ai_analysis": {
          "products": [
            "Savings Account",
            "Mobile Banking"
          ],
          "key_insights": [
            "Mary holds ₵447,546 across 2 product(s).",
            "Engagement score 0.70; risk score 0.44.",
            "Profile aligns with High Value criteria."
          ],
          "risk_indicators": [
            "None material"
          ],
          "confidence_score": 0.91,
          "growth_potential": "high",
          "next_best_action": {
            "action": "Offer investment consultation",
            "customer_message": "Hi Mary, Offer investment consultation. Reply YES to continue."
          },
          "product_holdings": [
            "Savings Account",
            "Mobile Banking"
          ],
          "credit_assessment": {
            "rationale": "Income stability and high value holdings support personal loan.",
            "creditworthy": true,
            "risk_factors": [],
            "recommended_limit": "₵50,000 - ₵200,000",
            "positive_indicators": [
              "Regular inflows",
              "Active digital usage"
            ],
            "recommended_facility": "personal_loan",
            "credit_score_estimate": "high"
          },
          "retention_actions": [
            {
              "action": "Preferential rates",
              "customer_message": "Hi Mary, we value you — preferential rates. Reply HELP for support."
            },
            {
              "action": "Priority support",
              "customer_message": "Hi Mary, we value you — priority support. Reply HELP for support."
            }
          ],
          "engagement_strategy": "Priority banking, regular reviews",
          "recommended_segment": "HIGH_VALUE",
          "cross_sell_opportunities": [
            {
              "opportunity": "Investment Products",
              "customer_message": "Hi Mary, explore investment products with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Insurance",
              "customer_message": "Hi Mary, explore insurance with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Premium Cards",
              "customer_message": "Hi Mary, explore premium cards with us. Reply YES or visit a branch."
            }
          ]
        },
        "phone_number": "233249430715",
        "email": "kylechukwuma@gmail.com"
      },
      {
        "customer_id": "WLK1750100054",
        "name": "Patricia Gyasi",
        "age": 29,
        "gender": "Female",
        "occupation": "Entrepreneur",
        "segment": "SMALL_BUSINESS",
        "total_balance": 20458.4,
        "average_monthly_balance": 17619.1,
        "risk_score": 0.6925,
        "engagement_score": 0.7828,
        "transaction_count": 20,
        "last_updated": "2026-08-21T17:50:54",
        "ai_analysis": {
          "products": [
            "Savings Account",
            "Mobile Banking",
            "Investment Account",
            "Business Account"
          ],
          "key_insights": [
            "Patricia holds ₵20,458 across 4 product(s).",
            "Engagement score 0.78; risk score 0.69.",
            "Profile aligns with Small Business criteria."
          ],
          "risk_indicators": [
            "None material"
          ],
          "confidence_score": 0.84,
          "growth_potential": "medium",
          "next_best_action": {
            "action": "Review business cash-flow needs",
            "customer_message": "Hi Patricia, Review business cash-flow needs. Reply YES to continue."
          },
          "product_holdings": [
            "Savings Account",
            "Mobile Banking",
            "Investment Account",
            "Business Account"
          ],
          "credit_assessment": {
            "rationale": "Income stability and small business holdings support business loan.",
            "creditworthy": true,
            "risk_factors": [
              "Market concentration"
            ],
            "recommended_limit": "₵20,000 - ₵150,000",
            "positive_indicators": [
              "Regular inflows",
              "Active digital usage"
            ],
            "recommended_facility": "business_loan",
            "credit_score_estimate": "medium"
          },
          "retention_actions": [
            {
              "action": "Dedicated business advisor",
              "customer_message": "Hi Patricia, we value you — dedicated business advisor. Reply HELP for support."
            },
            {
              "action": "Fee waivers",
              "customer_message": "Hi Patricia, we value you — fee waivers. Reply HELP for support."
            }
          ],
          "engagement_strategy": "Business banking specialist support",
          "recommended_segment": "SMALL_BUSINESS",
          "cross_sell_opportunities": [
            {
              "opportunity": "Business Loans",
              "customer_message": "Hi Patricia, explore business loans with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "POS Solutions",
              "customer_message": "Hi Patricia, explore pos solutions with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Payroll Services",
              "customer_message": "Hi Patricia, explore payroll services with us. Reply YES or visit a branch."
            }
          ]
        },
        "phone_number": "233209366367",
        "email": "kylechukwuma@gmail.com"
      },
      {
        "customer_id": "WLK1750100055",
        "name": "Ama Adjei",
        "age": 34,
        "gender": "Female",
        "occupation": "Entrepreneur",
        "segment": "SMALL_BUSINESS",
        "total_balance": 29021.6,
        "average_monthly_balance": 20605.7,
        "risk_score": 0.7151,
        "engagement_score": 0.8456,
        "transaction_count": 32,
        "last_updated": "2026-08-21T17:50:54",
        "ai_analysis": {
          "products": [
            "Savings Account",
            "Mobile Banking",
            "Current Account"
          ],
          "key_insights": [
            "Ama holds ₵29,022 across 3 product(s).",
            "Engagement score 0.85; risk score 0.72.",
            "Profile aligns with Small Business criteria."
          ],
          "risk_indicators": [
            "None material"
          ],
          "confidence_score": 0.94,
          "growth_potential": "medium",
          "next_best_action": {
            "action": "Review business cash-flow needs",
            "customer_message": "Hi Ama, Review business cash-flow needs. Reply YES to continue."
          },
          "product_holdings": [
            "Savings Account",
            "Mobile Banking",
            "Current Account"
          ],
          "credit_assessment": {
            "rationale": "Small Business profile does not currently meet credit criteria.",
            "creditworthy": false,
            "risk_factors": [
              "Limited repayment history"
            ],
            "recommended_limit": null,
            "positive_indicators": [
              "Existing deposit relationship"
            ],
            "recommended_facility": null,
            "credit_score_estimate": "medium"
          },
          "retention_actions": [
            {
              "action": "Dedicated business advisor",
              "customer_message": "Hi Ama, we value you — dedicated business advisor. Reply HELP for support."
            },
            {
              "action": "Fee waivers",
              "customer_message": "Hi Ama, we value you — fee waivers. Reply HELP for support."
            }
          ],
          "engagement_strategy": "Business banking specialist support",
          "recommended_segment": "SMALL_BUSINESS",
          "cross_sell_opportunities": [
            {
              "opportunity": "Business Loans",
              "customer_message": "Hi Ama, explore business loans with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "POS Solutions",
              "customer_message": "Hi Ama, explore pos solutions with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Payroll Services",
              "customer_message": "Hi Ama, explore payroll services with us. Reply YES or visit a branch."
            }
          ]
        },
        "phone_number": "233548617798",
        "email": "chuksdeveloper@gmail.com"
      },
      {
        "customer_id": "WLK1750100056",
        "name": "Akosua Appiah",
        "age": 41,
        "gender": "Female",
        "occupation": "Entrepreneur",
        "segment": "SMALL_BUSINESS",
        "total_balance": 116575.0,
        "average_monthly_balance": 108535.0,
        "risk_score": 0.1308,
        "engagement_score": 0.7273,
        "transaction_count": 47,
        "last_updated": "2026-08-21T17:50:54",
        "ai_analysis": {
          "products": [
            "Savings Account",
            "Mobile Banking",
            "Current Account",
            "Business Account"
          ],
          "key_insights": [
            "Akosua holds ₵116,575 across 4 product(s).",
            "Engagement score 0.73; risk score 0.13.",
            "Profile aligns with Small Business criteria."
          ],
          "risk_indicators": [
            "None material"
          ],
          "confidence_score": 0.8,
          "growth_potential": "medium",
          "next_best_action": {
            "action": "Review business cash-flow needs",
            "customer_message": "Hi Akosua, Review business cash-flow needs. Reply YES to continue."
          },
          "product_holdings": [
            "Savings Account",
            "Mobile Banking",
            "Current Account",
            "Business Account"
          ],
          "credit_assessment": {
            "rationale": "Income stability and small business holdings support business loan.",
            "creditworthy": true,
            "risk_factors": [
              "Market concentration"
            ],
            "recommended_limit": "₵20,000 - ₵150,000",
            "positive_indicators": [
              "Regular inflows",
              "Active digital usage"
            ],
            "recommended_facility": "business_loan",
            "credit_score_estimate": "medium"
          },
          "retention_actions": [
            {
              "action": "Dedicated business advisor",
              "customer_message": "Hi Akosua, we value you — dedicated business advisor. Reply HELP for support."
            },
            {
              "action": "Fee waivers",
              "customer_message": "Hi Akosua, we value you — fee waivers. Reply HELP for support."
            }
          ],
          "engagement_strategy": "Business banking specialist support",
          "recommended_segment": "SMALL_BUSINESS",
          "cross_sell_opportunities": [
            {
              "opportunity": "Business Loans",
              "customer_message": "Hi Akosua, explore business loans with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "POS Solutions",
              "customer_message": "Hi Akosua, explore pos solutions with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Payroll Services",
              "customer_message": "Hi Akosua, explore payroll services with us. Reply YES or visit a branch."
            }
          ]
        },
        "phone_number": "233249430715",
        "email": "donchukz01@gmail.com"
      },
      {
        "customer_id": "WLK1750100057",
        "name": "Kwesi Osei",
        "age": 46,
        "gender": "Male",
        "occupation": "Civil Servant",
        "segment": "PREMIUM_WEALTH",
        "total_balance": 1545980.0,
        "average_monthly_balance": 1276740.0,
        "risk_score": 0.4152,
        "engagement_score": 0.4298,
        "transaction_count": 55,
        "last_updated": "2026-08-21T17:50:54",
        "ai_analysis": {
          "products": [
            "Savings Account",
            "Mobile Banking",
            "Investment Account"
          ],
          "key_insights": [
            "Kwesi holds ₵1,545,978 across 3 product(s).",
            "Engagement score 0.43; risk score 0.42.",
            "Profile aligns with Premium Wealth criteria."
          ],
          "risk_indicators": [
            "None material"
          ],
          "confidence_score": 0.8,
          "growth_potential": "high",
          "next_best_action": {
            "action": "Schedule wealth management consultation",
            "customer_message": "Hi Kwesi, Schedule wealth management consultation. Reply YES to continue."
          },
          "product_holdings": [
            "Savings Account",
            "Mobile Banking",
            "Investment Account"
          ],
          "credit_assessment": {
            "rationale": "Income stability and premium wealth holdings support mortgage.",
            "creditworthy": true,
            "risk_factors": [],
            "recommended_limit": "₵150,000 - ₵500,000",
            "positive_indicators": [
              "Regular inflows",
              "Active digital usage"
            ],
            "recommended_facility": "mortgage",
            "credit_score_estimate": "high"
          },
          "retention_actions": [
            {
              "action": "Exclusive events",
              "customer_message": "Hi Kwesi, we value you — exclusive events. Reply HELP for support."
            },
            {
              "action": "Priority support",
              "customer_message": "Hi Kwesi, we value you — priority support. Reply HELP for support."
            },
            {
              "action": "Customized solutions",
              "customer_message": "Hi Kwesi, we value you — customized solutions. Reply HELP for support."
            }
          ],
          "engagement_strategy": "Dedicated relationship manager, premium services",
          "recommended_segment": "PREMIUM_WEALTH",
          "cross_sell_opportunities": [
            {
              "opportunity": "Wealth Management",
              "customer_message": "Hi Kwesi, explore wealth management with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Investment Advisory",
              "customer_message": "Hi Kwesi, explore investment advisory with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Private Banking",
              "customer_message": "Hi Kwesi, explore private banking with us. Reply YES or visit a branch."
            }
          ]
        },
        "phone_number": "233554694531",
        "email": "kylechukwuma@gmail.com"
      },
      {
        "customer_id": "WLK1750100058",
        "name": "Patricia Adjei",
        "age": 41,
        "gender": "Female",
        "occupation": "Software Engineer",
        "segment": "NEW_CUSTOMER",
        "total_balance": 7403.58,
        "average_monthly_balance": 6727.53,
        "risk_score": 0.4086,
        "engagement_score": 0.7885,
        "transaction_count": 26,
        "last_updated": "2026-08-21T17:50:54",
        "ai_analysis": {
          "products": [
            "Savings Account",
            "Mobile Banking",
            "Current Account"
          ],
          "key_insights": [
            "Patricia holds ₵7,404 across 3 product(s).",
            "Engagement score 0.79; risk score 0.41.",
            "Profile aligns with New Customer criteria."
          ],
          "risk_indicators": [
            "None material"
          ],
          "confidence_score": 0.89,
          "growth_potential": "medium",
          "next_best_action": {
            "action": "Complete digital onboarding checklist",
            "customer_message": "Hi Patricia, Complete digital onboarding checklist. Reply YES to continue."
          },
          "product_holdings": [
            "Savings Account",
            "Mobile Banking",
            "Current Account"
          ],
          "credit_assessment": {
            "rationale": "New Customer profile does not currently meet credit criteria.",
            "creditworthy": false,
            "risk_factors": [
              "Limited repayment history"
            ],
            "recommended_limit": null,
            "positive_indicators": [
              "Existing deposit relationship"
            ],
            "recommended_facility": null,
            "credit_score_estimate": "insufficient_data"
          },
          "retention_actions": [
            {
              "action": "Welcome calls",
              "customer_message": "Hi Patricia, we value you — welcome calls. Reply HELP for support."
            },
            {
              "action": "Onboarding support",
              "customer_message": "Hi Patricia, we value you — onboarding support. Reply HELP for support."
            }
          ],
          "engagement_strategy": "Onboarding journey and product education",
          "recommended_segment": "NEW_CUSTOMER",
          "cross_sell_opportunities": [
            {
              "opportunity": "Mobile Banking",
              "customer_message": "Hi Patricia, explore mobile banking with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Debit Card",
              "customer_message": "Hi Patricia, explore debit card with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Savings Plan",
              "customer_message": "Hi Patricia, explore savings plan with us. Reply YES or visit a branch."
            }
          ]
        },
        "phone_number": "233209366367",
        "email": "chuksdeveloper@gmail.com"
      },
      {
        "customer_id": "WLK1750100059",
        "name": "Elizabeth Amoah",
        "age": 35,
        "gender": "Female",
        "occupation": "Driver",
        "segment": "NEW_CUSTOMER",
        "total_balance": 3589.47,
        "average_monthly_balance": 3130.01,
        "risk_score": 0.2587,
        "engagement_score": 0.1923,
        "transaction_count": 57,
        "last_updated": "2026-08-21T17:50:54",
        "ai_analysis": {
          "products": [
            "Savings Account",
            "Mobile Banking",
            "Current Account"
          ],
          "key_insights": [
            "Elizabeth holds ₵3,589 across 3 product(s).",
            "Engagement score 0.19; risk score 0.26.",
            "Profile aligns with New Customer criteria."
          ],
          "risk_indicators": [
            "None material"
          ],
          "confidence_score": 0.78,
          "growth_potential": "medium",
          "next_best_action": {
            "action": "Complete digital onboarding checklist",
            "customer_message": "Hi Elizabeth, Complete digital onboarding checklist. Reply YES to continue."
          },
          "product_holdings": [
            "Savings Account",
            "Mobile Banking",
            "Current Account"
          ],
          "credit_assessment": {
            "rationale": "New Customer profile does not currently meet credit criteria.",
            "creditworthy": false,
            "risk_factors": [
              "Limited repayment history"
            ],
            "recommended_limit": null,
            "positive_indicators": [
              "Existing deposit relationship"
            ],
            "recommended_facility": null,
            "credit_score_estimate": "insufficient_data"
          },
          "retention_actions": [
            {
              "action": "Welcome calls",
              "customer_message": "Hi Elizabeth, we value you — welcome calls. Reply HELP for support."
            },
            {
              "action": "Onboarding support",
              "customer_message": "Hi Elizabeth, we value you — onboarding support. Reply HELP for support."
            }
          ],
          "engagement_strategy": "Onboarding journey and product education",
          "recommended_segment": "NEW_CUSTOMER",
          "cross_sell_opportunities": [
            {
              "opportunity": "Mobile Banking",
              "customer_message": "Hi Elizabeth, explore mobile banking with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Debit Card",
              "customer_message": "Hi Elizabeth, explore debit card with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Savings Plan",
              "customer_message": "Hi Elizabeth, explore savings plan with us. Reply YES or visit a branch."
            }
          ]
        },
        "phone_number": "233548617798",
        "email": "donchukz01@gmail.com"
      },
      {
        "customer_id": "WLK1750100060",
        "name": "Kofi Appiah",
        "age": 62,
        "gender": "Male",
        "occupation": "Entrepreneur",
        "segment": "YOUNG_PROFESSIONAL",
        "total_balance": 9849.74,
        "average_monthly_balance": 7170.44,
        "risk_score": 0.1587,
        "engagement_score": 0.6431,
        "transaction_count": 49,
        "last_updated": "2026-08-21T17:50:54",
        "ai_analysis": {
          "products": [
            "Savings Account",
            "Mobile Banking",
            "Current Account"
          ],
          "key_insights": [
            "Kofi holds ₵9,850 across 3 product(s).",
            "Engagement score 0.64; risk score 0.16.",
            "Profile aligns with Young Professional criteria."
          ],
          "risk_indicators": [
            "None material"
          ],
          "confidence_score": 0.95,
          "growth_potential": "medium",
          "next_best_action": {
            "action": "Promote mobile banking features",
            "customer_message": "Hi Kofi, Promote mobile banking features. Reply YES to continue."
          },
          "product_holdings": [
            "Savings Account",
            "Mobile Banking",
            "Current Account"
          ],
          "credit_assessment": {
            "rationale": "Young Professional profile does not currently meet credit criteria.",
            "creditworthy": false,
            "risk_factors": [
              "Limited repayment history"
            ],
            "recommended_limit": null,
            "positive_indicators": [
              "Existing deposit relationship"
            ],
            "recommended_facility": null,
            "credit_score_estimate": "medium"
          },
          "retention_actions": [
            {
              "action": "Digital convenience",
              "customer_message": "Hi Kofi, we value you — digital convenience. Reply HELP for support."
            },
            {
              "action": "Career resources",
              "customer_message": "Hi Kofi, we value you — career resources. Reply HELP for support."
            }
          ],
          "engagement_strategy": "Digital-first, career-focused products",
          "recommended_segment": "YOUNG_PROFESSIONAL",
          "cross_sell_opportunities": [
            {
              "opportunity": "Personal Loans",
              "customer_message": "Hi Kofi, explore personal loans with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Investment Apps",
              "customer_message": "Hi Kofi, explore investment apps with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Insurance",
              "customer_message": "Hi Kofi, explore insurance with us. Reply YES or visit a branch."
            }
          ]
        },
        "phone_number": "233249430715",
        "email": "kylechukwuma@gmail.com"
      },
      {
        "customer_id": "WLK1750100053",
        "name": "Abena Gyasi",
        "age": 24,
        "gender": "Female",
        "occupation": "Trader",
        "segment": "GROWTH_POTENTIAL",
        "total_balance": 10709.1,
        "average_monthly_balance": 9054.48,
        "risk_score": 0.3699,
        "engagement_score": 0.2559,
        "transaction_count": 10,
        "last_updated": "2026-08-21T17:50:54",
        "ai_analysis": {
          "products": [
            "Savings Account",
            "Mobile Banking",
            "Current Account"
          ],
          "key_insights": [
            "Abena holds ₵10,709 across 3 product(s).",
            "Engagement score 0.26; risk score 0.37.",
            "Profile aligns with Growth Potential criteria."
          ],
          "risk_indicators": [
            "None material"
          ],
          "confidence_score": 0.89,
          "growth_potential": "high",
          "next_best_action": {
            "action": "Promote savings and investment products",
            "customer_message": "Hi Abena, Promote savings and investment products. Reply YES to continue."
          },
          "product_holdings": [
            "Savings Account",
            "Mobile Banking",
            "Current Account"
          ],
          "credit_assessment": {
            "rationale": "Income stability and growth potential holdings support overdraft.",
            "creditworthy": true,
            "risk_factors": [
              "Market concentration"
            ],
            "recommended_limit": "₵5,000 - ₵20,000",
            "positive_indicators": [
              "Regular inflows",
              "Active digital usage"
            ],
            "recommended_facility": "overdraft",
            "credit_score_estimate": "medium"
          },
          "retention_actions": [
            {
              "action": "Loyalty rewards",
              "customer_message": "Hi Abena, we value you — loyalty rewards. Reply HELP for support."
            },
            {
              "action": "Financial literacy content",
              "customer_message": "Hi Abena, we value you — financial literacy content. Reply HELP for support."
            }
          ],
          "engagement_strategy": "Growth-focused product recommendations and digital engagement",
          "recommended_segment": "GROWTH_POTENTIAL",
          "cross_sell_opportunities": [
            {
              "opportunity": "Savings Plans",
              "customer_message": "Hi Abena, explore savings plans with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Personal Loans",
              "customer_message": "Hi Abena, explore personal loans with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Investment Apps",
              "customer_message": "Hi Abena, explore investment apps with us. Reply YES or visit a branch."
            }
          ]
        },
        "phone_number": "233554694531",
        "email": "donchukz01@gmail.com"
      },
      {
        "customer_id": "WLK1750100045",
        "name": "Sarah Asante",
        "age": 26,
        "gender": "Female",
        "occupation": "Teacher",
        "segment": "HIGH_VALUE",
        "total_balance": 200259.0,
        "average_monthly_balance": 171498.0,
        "risk_score": 0.1892,
        "engagement_score": 0.4446,
        "transaction_count": 16,
        "last_updated": "2026-08-21T17:50:54",
        "ai_analysis": {
          "products": [
            "Savings Account",
            "Mobile Banking"
          ],
          "key_insights": [
            "Sarah holds ₵200,259 across 2 product(s).",
            "Engagement score 0.44; risk score 0.19.",
            "Profile aligns with High Value criteria."
          ],
          "risk_indicators": [
            "None material"
          ],
          "confidence_score": 0.9,
          "growth_potential": "high",
          "next_best_action": {
            "action": "Offer investment consultation",
            "customer_message": "Hi Sarah, Offer investment consultation. Reply YES to continue."
          },
          "product_holdings": [
            "Savings Account",
            "Mobile Banking"
          ],
          "credit_assessment": {
            "rationale": "Income stability and high value holdings support mortgage.",
            "creditworthy": true,
            "risk_factors": [],
            "recommended_limit": "₵80,000 - ₵350,000",
            "positive_indicators": [
              "Regular inflows",
              "Active digital usage"
            ],
            "recommended_facility": "mortgage",
            "credit_score_estimate": "high"
          },
          "retention_actions": [
            {
              "action": "Preferential rates",
              "customer_message": "Hi Sarah, we value you — preferential rates. Reply HELP for support."
            },
            {
              "action": "Priority support",
              "customer_message": "Hi Sarah, we value you — priority support. Reply HELP for support."
            }
          ],
          "engagement_strategy": "Priority banking, regular reviews",
          "recommended_segment": "HIGH_VALUE",
          "cross_sell_opportunities": [
            {
              "opportunity": "Investment Products",
              "customer_message": "Hi Sarah, explore investment products with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Insurance",
              "customer_message": "Hi Sarah, explore insurance with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Premium Cards",
              "customer_message": "Hi Sarah, explore premium cards with us. Reply YES or visit a branch."
            }
          ]
        },
        "phone_number": "233554694531",
        "email": "kylechukwuma@gmail.com"
      },
      {
        "customer_id": "WLK1750100044",
        "name": "Kwame Darko",
        "age": 62,
        "gender": "Male",
        "occupation": "Nurse",
        "segment": "DORMANT",
        "total_balance": 1333.88,
        "average_monthly_balance": 1222.76,
        "risk_score": 0.3475,
        "engagement_score": 0.3234,
        "transaction_count": 36,
        "last_updated": "2026-08-21T17:50:54",
        "ai_analysis": {
          "products": [
            "Savings Account",
            "Mobile Banking",
            "Current Account"
          ],
          "key_insights": [
            "Kwame holds ₵1,334 across 3 product(s).",
            "Engagement score 0.32; risk score 0.35.",
            "Profile aligns with Dormant criteria."
          ],
          "risk_indicators": [
            "Declining engagement",
            "Low recent activity"
          ],
          "confidence_score": 0.95,
          "growth_potential": "low",
          "next_best_action": {
            "action": "Send reactivation SMS and email",
            "customer_message": "Hi Kwame, Send reactivation SMS and email. Reply YES to continue."
          },
          "product_holdings": [
            "Savings Account",
            "Mobile Banking",
            "Current Account"
          ],
          "credit_assessment": {
            "rationale": "Dormant profile does not currently meet credit criteria.",
            "creditworthy": false,
            "risk_factors": [
              "Limited repayment history"
            ],
            "recommended_limit": null,
            "positive_indicators": [
              "Existing deposit relationship"
            ],
            "recommended_facility": null,
            "credit_score_estimate": "insufficient_data"
          },
          "retention_actions": [
            {
              "action": "Win-back offers",
              "customer_message": "Hi Kwame, we value you — win-back offers. Reply HELP for support."
            },
            {
              "action": "Account reactivation bonus",
              "customer_message": "Hi Kwame, we value you — account reactivation bonus. Reply HELP for support."
            }
          ],
          "engagement_strategy": "Reactivation campaign with incentives",
          "recommended_segment": "DORMANT",
          "cross_sell_opportunities": [
            {
              "opportunity": "Zero-fee accounts",
              "customer_message": "Hi Kwame, explore zero-fee accounts with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Mobile Banking",
              "customer_message": "Hi Kwame, explore mobile banking with us. Reply YES or visit a branch."
            }
          ]
        },
        "phone_number": "233249430715",
        "email": "donchukz01@gmail.com"
      },
      {
        "customer_id": "WLK1750100046",
        "name": "Mary Adjei",
        "age": 49,
        "gender": "Female",
        "occupation": "Nurse",
        "segment": "SMALL_BUSINESS",
        "total_balance": 63386.8,
        "average_monthly_balance": 57485.8,
        "risk_score": 0.132,
        "engagement_score": 0.623,
        "transaction_count": 31,
        "last_updated": "2026-08-21T17:50:54",
        "ai_analysis": {
          "products": [
            "Savings Account",
            "Mobile Banking",
            "Current Account"
          ],
          "key_insights": [
            "Mary holds ₵63,387 across 3 product(s).",
            "Engagement score 0.62; risk score 0.13.",
            "Profile aligns with Small Business criteria."
          ],
          "risk_indicators": [
            "None material"
          ],
          "confidence_score": 0.79,
          "growth_potential": "medium",
          "next_best_action": {
            "action": "Review business cash-flow needs",
            "customer_message": "Hi Mary, Review business cash-flow needs. Reply YES to continue."
          },
          "product_holdings": [
            "Savings Account",
            "Mobile Banking",
            "Current Account"
          ],
          "credit_assessment": {
            "rationale": "Income stability and small business holdings support business loan.",
            "creditworthy": true,
            "risk_factors": [
              "Market concentration"
            ],
            "recommended_limit": "₵20,000 - ₵150,000",
            "positive_indicators": [
              "Regular inflows",
              "Active digital usage"
            ],
            "recommended_facility": "business_loan",
            "credit_score_estimate": "medium"
          },
          "retention_actions": [
            {
              "action": "Dedicated business advisor",
              "customer_message": "Hi Mary, we value you — dedicated business advisor. Reply HELP for support."
            },
            {
              "action": "Fee waivers",
              "customer_message": "Hi Mary, we value you — fee waivers. Reply HELP for support."
            }
          ],
          "engagement_strategy": "Business banking specialist support",
          "recommended_segment": "SMALL_BUSINESS",
          "cross_sell_opportunities": [
            {
              "opportunity": "Business Loans",
              "customer_message": "Hi Mary, explore business loans with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "POS Solutions",
              "customer_message": "Hi Mary, explore pos solutions with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Payroll Services",
              "customer_message": "Hi Mary, explore payroll services with us. Reply YES or visit a branch."
            }
          ]
        },
        "phone_number": "233209366367",
        "email": "chuksdeveloper@gmail.com"
      },
      {
        "customer_id": "WLK1750100042",
        "name": "Nana Appiah",
        "age": 35,
        "gender": "Male",
        "occupation": "Doctor",
        "segment": "MASS_MARKET",
        "total_balance": 3364.82,
        "average_monthly_balance": 2871.07,
        "risk_score": 0.3519,
        "engagement_score": 0.5542,
        "transaction_count": 22,
        "last_updated": "2026-08-21T17:50:54",
        "ai_analysis": {
          "products": [
            "Savings Account",
            "Mobile Banking",
            "Current Account"
          ],
          "key_insights": [
            "Nana holds ₵3,365 across 3 product(s).",
            "Engagement score 0.55; risk score 0.35.",
            "Profile aligns with Mass Market criteria."
          ],
          "risk_indicators": [
            "None material"
          ],
          "confidence_score": 0.85,
          "growth_potential": "medium",
          "next_best_action": {
            "action": "Monitor customer activity",
            "customer_message": "Hi Nana, Monitor customer activity. Reply YES to continue."
          },
          "product_holdings": [
            "Savings Account",
            "Mobile Banking",
            "Current Account"
          ],
          "credit_assessment": {
            "rationale": "Mass Market profile does not currently meet credit criteria.",
            "creditworthy": false,
            "risk_factors": [
              "Limited repayment history"
            ],
            "recommended_limit": null,
            "positive_indicators": [
              "Existing deposit relationship"
            ],
            "recommended_facility": null,
            "credit_score_estimate": "low"
          },
          "retention_actions": [
            {
              "action": "Regular service delivery",
              "customer_message": "Hi Nana, we value you — regular service delivery. Reply HELP for support."
            }
          ],
          "engagement_strategy": "Standard relationship management",
          "recommended_segment": "MASS_MARKET",
          "cross_sell_opportunities": [
            {
              "opportunity": "Savings Accounts",
              "customer_message": "Hi Nana, explore savings accounts with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Mobile Banking",
              "customer_message": "Hi Nana, explore mobile banking with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Insurance",
              "customer_message": "Hi Nana, explore insurance with us. Reply YES or visit a branch."
            }
          ]
        },
        "phone_number": "233209366367",
        "email": "kylechukwuma@gmail.com"
      },
      {
        "customer_id": "WLK1750100041",
        "name": "Michael Appiah",
        "age": 28,
        "gender": "Male",
        "occupation": "Civil Servant",
        "segment": "PREMIUM_WEALTH",
        "total_balance": 1450890.0,
        "average_monthly_balance": 1295360.0,
        "risk_score": 0.647,
        "engagement_score": 0.2941,
        "transaction_count": 30,
        "last_updated": "2026-08-21T17:50:54",
        "ai_analysis": {
          "products": [
            "Savings Account",
            "Mobile Banking",
            "Current Account"
          ],
          "key_insights": [
            "Michael holds ₵1,450,891 across 3 product(s).",
            "Engagement score 0.29; risk score 0.65.",
            "Profile aligns with Premium Wealth criteria."
          ],
          "risk_indicators": [
            "None material"
          ],
          "confidence_score": 0.92,
          "growth_potential": "high",
          "next_best_action": {
            "action": "Schedule wealth management consultation",
            "customer_message": "Hi Michael, Schedule wealth management consultation. Reply YES to continue."
          },
          "product_holdings": [
            "Savings Account",
            "Mobile Banking",
            "Current Account"
          ],
          "credit_assessment": {
            "rationale": "Income stability and premium wealth holdings support mortgage.",
            "creditworthy": true,
            "risk_factors": [],
            "recommended_limit": "₵150,000 - ₵500,000",
            "positive_indicators": [
              "Regular inflows",
              "Active digital usage"
            ],
            "recommended_facility": "mortgage",
            "credit_score_estimate": "high"
          },
          "retention_actions": [
            {
              "action": "Exclusive events",
              "customer_message": "Hi Michael, we value you — exclusive events. Reply HELP for support."
            },
            {
              "action": "Priority support",
              "customer_message": "Hi Michael, we value you — priority support. Reply HELP for support."
            },
            {
              "action": "Customized solutions",
              "customer_message": "Hi Michael, we value you — customized solutions. Reply HELP for support."
            }
          ],
          "engagement_strategy": "Dedicated relationship manager, premium services",
          "recommended_segment": "PREMIUM_WEALTH",
          "cross_sell_opportunities": [
            {
              "opportunity": "Wealth Management",
              "customer_message": "Hi Michael, explore wealth management with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Investment Advisory",
              "customer_message": "Hi Michael, explore investment advisory with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Private Banking",
              "customer_message": "Hi Michael, explore private banking with us. Reply YES or visit a branch."
            }
          ]
        },
        "phone_number": "233554694531",
        "email": "donchukz01@gmail.com"
      },
      {
        "customer_id": "WLK1750100040",
        "name": "Kwesi Darko",
        "age": 32,
        "gender": "Male",
        "occupation": "Trader",
        "segment": "HIGH_VALUE",
        "total_balance": 411370.0,
        "average_monthly_balance": 343554.0,
        "risk_score": 0.5313,
        "engagement_score": 0.1714,
        "transaction_count": 19,
        "last_updated": "2026-08-21T17:50:54",
        "ai_analysis": {
          "products": [
            "Savings Account",
            "Mobile Banking"
          ],
          "key_insights": [
            "Kwesi holds ₵411,370 across 2 product(s).",
            "Engagement score 0.17; risk score 0.53.",
            "Profile aligns with High Value criteria."
          ],
          "risk_indicators": [
            "None material"
          ],
          "confidence_score": 0.93,
          "growth_potential": "high",
          "next_best_action": {
            "action": "Offer investment consultation",
            "customer_message": "Hi Kwesi, Offer investment consultation. Reply YES to continue."
          },
          "product_holdings": [
            "Savings Account",
            "Mobile Banking"
          ],
          "credit_assessment": {
            "rationale": "Income stability and high value holdings support credit card.",
            "creditworthy": true,
            "risk_factors": [],
            "recommended_limit": "₵10,000 - ₵40,000",
            "positive_indicators": [
              "Regular inflows",
              "Active digital usage"
            ],
            "recommended_facility": "credit_card",
            "credit_score_estimate": "high"
          },
          "retention_actions": [
            {
              "action": "Preferential rates",
              "customer_message": "Hi Kwesi, we value you — preferential rates. Reply HELP for support."
            },
            {
              "action": "Priority support",
              "customer_message": "Hi Kwesi, we value you — priority support. Reply HELP for support."
            }
          ],
          "engagement_strategy": "Priority banking, regular reviews",
          "recommended_segment": "HIGH_VALUE",
          "cross_sell_opportunities": [
            {
              "opportunity": "Investment Products",
              "customer_message": "Hi Kwesi, explore investment products with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Insurance",
              "customer_message": "Hi Kwesi, explore insurance with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Premium Cards",
              "customer_message": "Hi Kwesi, explore premium cards with us. Reply YES or visit a branch."
            }
          ]
        },
        "phone_number": "233249430715",
        "email": "chuksdeveloper@gmail.com"
      },
      {
        "customer_id": "WLK1750100039",
        "name": "Kofi Adjei",
        "age": 54,
        "gender": "Male",
        "occupation": "Accountant",
        "segment": "DORMANT",
        "total_balance": 1583.85,
        "average_monthly_balance": 1446.93,
        "risk_score": 0.5861,
        "engagement_score": 0.8541,
        "transaction_count": 10,
        "last_updated": "2026-08-21T17:50:54",
        "ai_analysis": {
          "products": [
            "Savings Account",
            "Mobile Banking",
            "Current Account"
          ],
          "key_insights": [
            "Kofi holds ₵1,584 across 3 product(s).",
            "Engagement score 0.85; risk score 0.59.",
            "Profile aligns with Dormant criteria."
          ],
          "risk_indicators": [
            "Declining engagement",
            "Low recent activity"
          ],
          "confidence_score": 0.85,
          "growth_potential": "low",
          "next_best_action": {
            "action": "Send reactivation SMS and email",
            "customer_message": "Hi Kofi, Send reactivation SMS and email. Reply YES to continue."
          },
          "product_holdings": [
            "Savings Account",
            "Mobile Banking",
            "Current Account"
          ],
          "credit_assessment": {
            "rationale": "Dormant profile does not currently meet credit criteria.",
            "creditworthy": false,
            "risk_factors": [
              "Limited repayment history"
            ],
            "recommended_limit": null,
            "positive_indicators": [
              "Existing deposit relationship"
            ],
            "recommended_facility": null,
            "credit_score_estimate": "insufficient_data"
          },
          "retention_actions": [
            {
              "action": "Win-back offers",
              "customer_message": "Hi Kofi, we value you — win-back offers. Reply HELP for support."
            },
            {
              "action": "Account reactivation bonus",
              "customer_message": "Hi Kofi, we value you — account reactivation bonus. Reply HELP for support."
            }
          ],
          "engagement_strategy": "Reactivation campaign with incentives",
          "recommended_segment": "DORMANT",
          "cross_sell_opportunities": [
            {
              "opportunity": "Zero-fee accounts",
              "customer_message": "Hi Kofi, explore zero-fee accounts with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Mobile Banking",
              "customer_message": "Hi Kofi, explore mobile banking with us. Reply YES or visit a branch."
            }
          ]
        },
        "phone_number": "233548617798",
        "email": "kylechukwuma@gmail.com"
      },
      {
        "customer_id": "WLK1750100038",
        "name": "Abena Appiah",
        "age": 42,
        "gender": "Female",
        "occupation": "Driver",
        "segment": "NEW_CUSTOMER",
        "total_balance": 5645.09,
        "average_monthly_balance": 4157.39,
        "risk_score": 0.5685,
        "engagement_score": 0.7606,
        "transaction_count": 49,
        "last_updated": "2026-08-21T17:50:54",
        "ai_analysis": {
          "products": [
            "Savings Account",
            "Mobile Banking",
            "Investment Account"
          ],
          "key_insights": [
            "Abena holds ₵5,645 across 3 product(s).",
            "Engagement score 0.76; risk score 0.57.",
            "Profile aligns with New Customer criteria."
          ],
          "risk_indicators": [
            "None material"
          ],
          "confidence_score": 0.91,
          "growth_potential": "medium",
          "next_best_action": {
            "action": "Complete digital onboarding checklist",
            "customer_message": "Hi Abena, Complete digital onboarding checklist. Reply YES to continue."
          },
          "product_holdings": [
            "Savings Account",
            "Mobile Banking",
            "Investment Account"
          ],
          "credit_assessment": {
            "rationale": "New Customer profile does not currently meet credit criteria.",
            "creditworthy": false,
            "risk_factors": [
              "Limited repayment history"
            ],
            "recommended_limit": null,
            "positive_indicators": [
              "Existing deposit relationship"
            ],
            "recommended_facility": null,
            "credit_score_estimate": "insufficient_data"
          },
          "retention_actions": [
            {
              "action": "Welcome calls",
              "customer_message": "Hi Abena, we value you — welcome calls. Reply HELP for support."
            },
            {
              "action": "Onboarding support",
              "customer_message": "Hi Abena, we value you — onboarding support. Reply HELP for support."
            }
          ],
          "engagement_strategy": "Onboarding journey and product education",
          "recommended_segment": "NEW_CUSTOMER",
          "cross_sell_opportunities": [
            {
              "opportunity": "Mobile Banking",
              "customer_message": "Hi Abena, explore mobile banking with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Debit Card",
              "customer_message": "Hi Abena, explore debit card with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Savings Plan",
              "customer_message": "Hi Abena, explore savings plan with us. Reply YES or visit a branch."
            }
          ]
        },
        "phone_number": "233209366367",
        "email": "donchukz01@gmail.com"
      },
      {
        "customer_id": "WLK1750100037",
        "name": "Mary Gyasi",
        "age": 42,
        "gender": "Female",
        "occupation": "Entrepreneur",
        "segment": "SMALL_BUSINESS",
        "total_balance": 92418.7,
        "average_monthly_balance": 74470.4,
        "risk_score": 0.3586,
        "engagement_score": 0.5334,
        "transaction_count": 36,
        "last_updated": "2026-08-21T17:50:54",
        "ai_analysis": {
          "products": [
            "Savings Account",
            "Mobile Banking",
            "Current Account",
            "Business Account"
          ],
          "key_insights": [
            "Mary holds ₵92,419 across 4 product(s).",
            "Engagement score 0.53; risk score 0.36.",
            "Profile aligns with Small Business criteria."
          ],
          "risk_indicators": [
            "None material"
          ],
          "confidence_score": 0.9,
          "growth_potential": "medium",
          "next_best_action": {
            "action": "Review business cash-flow needs",
            "customer_message": "Hi Mary, Review business cash-flow needs. Reply YES to continue."
          },
          "product_holdings": [
            "Savings Account",
            "Mobile Banking",
            "Current Account",
            "Business Account"
          ],
          "credit_assessment": {
            "rationale": "Income stability and small business holdings support business loan.",
            "creditworthy": true,
            "risk_factors": [
              "Market concentration"
            ],
            "recommended_limit": "₵20,000 - ₵150,000",
            "positive_indicators": [
              "Regular inflows",
              "Active digital usage"
            ],
            "recommended_facility": "business_loan",
            "credit_score_estimate": "medium"
          },
          "retention_actions": [
            {
              "action": "Dedicated business advisor",
              "customer_message": "Hi Mary, we value you — dedicated business advisor. Reply HELP for support."
            },
            {
              "action": "Fee waivers",
              "customer_message": "Hi Mary, we value you — fee waivers. Reply HELP for support."
            }
          ],
          "engagement_strategy": "Business banking specialist support",
          "recommended_segment": "SMALL_BUSINESS",
          "cross_sell_opportunities": [
            {
              "opportunity": "Business Loans",
              "customer_message": "Hi Mary, explore business loans with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "POS Solutions",
              "customer_message": "Hi Mary, explore pos solutions with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Payroll Services",
              "customer_message": "Hi Mary, explore payroll services with us. Reply YES or visit a branch."
            }
          ]
        },
        "phone_number": "233554694531",
        "email": "chuksdeveloper@gmail.com"
      },
      {
        "customer_id": "WLK1750100036",
        "name": "Samuel Mensah",
        "age": 37,
        "gender": "Male",
        "occupation": "Doctor",
        "segment": "AT_RISK",
        "total_balance": 37659.9,
        "average_monthly_balance": 31800.5,
        "risk_score": 0.4136,
        "engagement_score": 0.7378,
        "transaction_count": 51,
        "last_updated": "2026-08-21T17:50:54",
        "ai_analysis": {
          "products": [
            "Savings Account",
            "Mobile Banking",
            "Current Account"
          ],
          "key_insights": [
            "Samuel holds ₵37,660 across 3 product(s).",
            "Engagement score 0.74; risk score 0.41.",
            "Profile aligns with At Risk criteria."
          ],
          "risk_indicators": [
            "Declining engagement",
            "Low recent activity"
          ],
          "confidence_score": 0.81,
          "growth_potential": "low",
          "next_best_action": {
            "action": "Assign relationship manager for retention call",
            "customer_message": "Hi Samuel, Assign relationship manager for retention call. Reply YES to continue."
          },
          "product_holdings": [
            "Savings Account",
            "Mobile Banking",
            "Current Account"
          ],
          "credit_assessment": {
            "rationale": "At Risk profile does not currently meet credit criteria.",
            "creditworthy": false,
            "risk_factors": [
              "Limited repayment history"
            ],
            "recommended_limit": null,
            "positive_indicators": [
              "Existing deposit relationship"
            ],
            "recommended_facility": null,
            "credit_score_estimate": "low"
          },
          "retention_actions": [
            {
              "action": "Personal outreach",
              "customer_message": "Hi Samuel, we value you — personal outreach. Reply HELP for support."
            },
            {
              "action": "Satisfaction check",
              "customer_message": "Hi Samuel, we value you — satisfaction check. Reply HELP for support."
            }
          ],
          "engagement_strategy": "Proactive re-engagement and retention outreach",
          "recommended_segment": "AT_RISK",
          "cross_sell_opportunities": [
            {
              "opportunity": "Fee waivers",
              "customer_message": "Hi Samuel, explore fee waivers with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Financial advisory",
              "customer_message": "Hi Samuel, explore financial advisory with us. Reply YES or visit a branch."
            }
          ]
        },
        "phone_number": "233249430715",
        "email": "kylechukwuma@gmail.com"
      },
      {
        "customer_id": "WLK1750100035",
        "name": "Kwame Adjei",
        "age": 33,
        "gender": "Male",
        "occupation": "Teacher",
        "segment": "NEW_CUSTOMER",
        "total_balance": 7111.64,
        "average_monthly_balance": 6297.2,
        "risk_score": 0.5215,
        "engagement_score": 0.1799,
        "transaction_count": 39,
        "last_updated": "2026-08-21T17:50:54",
        "ai_analysis": {
          "products": [
            "Savings Account",
            "Mobile Banking",
            "Current Account"
          ],
          "key_insights": [
            "Kwame holds ₵7,112 across 3 product(s).",
            "Engagement score 0.18; risk score 0.52.",
            "Profile aligns with New Customer criteria."
          ],
          "risk_indicators": [
            "None material"
          ],
          "confidence_score": 0.74,
          "growth_potential": "medium",
          "next_best_action": {
            "action": "Complete digital onboarding checklist",
            "customer_message": "Hi Kwame, Complete digital onboarding checklist. Reply YES to continue."
          },
          "product_holdings": [
            "Savings Account",
            "Mobile Banking",
            "Current Account"
          ],
          "credit_assessment": {
            "rationale": "New Customer profile does not currently meet credit criteria.",
            "creditworthy": false,
            "risk_factors": [
              "Limited repayment history"
            ],
            "recommended_limit": null,
            "positive_indicators": [
              "Existing deposit relationship"
            ],
            "recommended_facility": null,
            "credit_score_estimate": "insufficient_data"
          },
          "retention_actions": [
            {
              "action": "Welcome calls",
              "customer_message": "Hi Kwame, we value you — welcome calls. Reply HELP for support."
            },
            {
              "action": "Onboarding support",
              "customer_message": "Hi Kwame, we value you — onboarding support. Reply HELP for support."
            }
          ],
          "engagement_strategy": "Onboarding journey and product education",
          "recommended_segment": "NEW_CUSTOMER",
          "cross_sell_opportunities": [
            {
              "opportunity": "Mobile Banking",
              "customer_message": "Hi Kwame, explore mobile banking with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Debit Card",
              "customer_message": "Hi Kwame, explore debit card with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Savings Plan",
              "customer_message": "Hi Kwame, explore savings plan with us. Reply YES or visit a branch."
            }
          ]
        },
        "phone_number": "233548617798",
        "email": "donchukz01@gmail.com"
      },
      {
        "customer_id": "WLK1750100034",
        "name": "Joseph Adjei",
        "age": 42,
        "gender": "Male",
        "occupation": "Software Engineer",
        "segment": "YOUNG_PROFESSIONAL",
        "total_balance": 1602.01,
        "average_monthly_balance": 1402.11,
        "risk_score": 0.4476,
        "engagement_score": 0.655,
        "transaction_count": 6,
        "last_updated": "2026-08-21T17:50:54",
        "ai_analysis": {
          "products": [
            "Savings Account",
            "Mobile Banking",
            "Current Account"
          ],
          "key_insights": [
            "Joseph holds ₵1,602 across 3 product(s).",
            "Engagement score 0.66; risk score 0.45.",
            "Profile aligns with Young Professional criteria."
          ],
          "risk_indicators": [
            "None material"
          ],
          "confidence_score": 0.87,
          "growth_potential": "medium",
          "next_best_action": {
            "action": "Promote mobile banking features",
            "customer_message": "Hi Joseph, Promote mobile banking features. Reply YES to continue."
          },
          "product_holdings": [
            "Savings Account",
            "Mobile Banking",
            "Current Account"
          ],
          "credit_assessment": {
            "rationale": "Income stability and young professional holdings support credit card.",
            "creditworthy": true,
            "risk_factors": [
              "Market concentration"
            ],
            "recommended_limit": "₵5,000 - ₵25,000",
            "positive_indicators": [
              "Regular inflows",
              "Active digital usage"
            ],
            "recommended_facility": "credit_card",
            "credit_score_estimate": "medium"
          },
          "retention_actions": [
            {
              "action": "Digital convenience",
              "customer_message": "Hi Joseph, we value you — digital convenience. Reply HELP for support."
            },
            {
              "action": "Career resources",
              "customer_message": "Hi Joseph, we value you — career resources. Reply HELP for support."
            }
          ],
          "engagement_strategy": "Digital-first, career-focused products",
          "recommended_segment": "YOUNG_PROFESSIONAL",
          "cross_sell_opportunities": [
            {
              "opportunity": "Personal Loans",
              "customer_message": "Hi Joseph, explore personal loans with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Investment Apps",
              "customer_message": "Hi Joseph, explore investment apps with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Insurance",
              "customer_message": "Hi Joseph, explore insurance with us. Reply YES or visit a branch."
            }
          ]
        },
        "phone_number": "233209366367",
        "email": "chuksdeveloper@gmail.com"
      },
      {
        "customer_id": "WLK1750100033",
        "name": "Patricia Adjei",
        "age": 53,
        "gender": "Female",
        "occupation": "Civil Servant",
        "segment": "MASS_MARKET",
        "total_balance": 1329.33,
        "average_monthly_balance": 1223.45,
        "risk_score": 0.1673,
        "engagement_score": 0.7614,
        "transaction_count": 28,
        "last_updated": "2026-08-21T17:50:54",
        "ai_analysis": {
          "products": [
            "Savings Account",
            "Mobile Banking",
            "Current Account",
            "Investment Account"
          ],
          "key_insights": [
            "Patricia holds ₵1,329 across 4 product(s).",
            "Engagement score 0.76; risk score 0.17.",
            "Profile aligns with Mass Market criteria."
          ],
          "risk_indicators": [
            "None material"
          ],
          "confidence_score": 0.88,
          "growth_potential": "medium",
          "next_best_action": {
            "action": "Monitor customer activity",
            "customer_message": "Hi Patricia, Monitor customer activity. Reply YES to continue."
          },
          "product_holdings": [
            "Savings Account",
            "Mobile Banking",
            "Current Account",
            "Investment Account"
          ],
          "credit_assessment": {
            "rationale": "Mass Market profile does not currently meet credit criteria.",
            "creditworthy": false,
            "risk_factors": [
              "Limited repayment history"
            ],
            "recommended_limit": null,
            "positive_indicators": [
              "Existing deposit relationship"
            ],
            "recommended_facility": null,
            "credit_score_estimate": "low"
          },
          "retention_actions": [
            {
              "action": "Regular service delivery",
              "customer_message": "Hi Patricia, we value you — regular service delivery. Reply HELP for support."
            }
          ],
          "engagement_strategy": "Standard relationship management",
          "recommended_segment": "MASS_MARKET",
          "cross_sell_opportunities": [
            {
              "opportunity": "Savings Accounts",
              "customer_message": "Hi Patricia, explore savings accounts with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Mobile Banking",
              "customer_message": "Hi Patricia, explore mobile banking with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Insurance",
              "customer_message": "Hi Patricia, explore insurance with us. Reply YES or visit a branch."
            }
          ]
        },
        "phone_number": "233554694531",
        "email": "kylechukwuma@gmail.com"
      },
      {
        "customer_id": "WLK1750100032",
        "name": "Yaw Osei",
        "age": 46,
        "gender": "Male",
        "occupation": "Software Engineer",
        "segment": "PREMIUM_WEALTH",
        "total_balance": 2239300.0,
        "average_monthly_balance": 1860350.0,
        "risk_score": 0.5834,
        "engagement_score": 0.5436,
        "transaction_count": 46,
        "last_updated": "2026-08-21T17:50:54",
        "ai_analysis": {
          "products": [
            "Savings Account",
            "Mobile Banking"
          ],
          "key_insights": [
            "Yaw holds ₵2,239,298 across 2 product(s).",
            "Engagement score 0.54; risk score 0.58.",
            "Profile aligns with Premium Wealth criteria."
          ],
          "risk_indicators": [
            "None material"
          ],
          "confidence_score": 0.89,
          "growth_potential": "high",
          "next_best_action": {
            "action": "Schedule wealth management consultation",
            "customer_message": "Hi Yaw, Schedule wealth management consultation. Reply YES to continue."
          },
          "product_holdings": [
            "Savings Account",
            "Mobile Banking"
          ],
          "credit_assessment": {
            "rationale": "Income stability and premium wealth holdings support overdraft.",
            "creditworthy": true,
            "risk_factors": [],
            "recommended_limit": "₵20,000 - ₵100,000",
            "positive_indicators": [
              "Regular inflows",
              "Active digital usage"
            ],
            "recommended_facility": "overdraft",
            "credit_score_estimate": "high"
          },
          "retention_actions": [
            {
              "action": "Exclusive events",
              "customer_message": "Hi Yaw, we value you — exclusive events. Reply HELP for support."
            },
            {
              "action": "Priority support",
              "customer_message": "Hi Yaw, we value you — priority support. Reply HELP for support."
            },
            {
              "action": "Customized solutions",
              "customer_message": "Hi Yaw, we value you — customized solutions. Reply HELP for support."
            }
          ],
          "engagement_strategy": "Dedicated relationship manager, premium services",
          "recommended_segment": "PREMIUM_WEALTH",
          "cross_sell_opportunities": [
            {
              "opportunity": "Wealth Management",
              "customer_message": "Hi Yaw, explore wealth management with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Investment Advisory",
              "customer_message": "Hi Yaw, explore investment advisory with us. Reply YES or visit a branch."
            },
            {
              "opportunity": "Private Banking",
              "customer_message": "Hi Yaw, explore private banking with us. Reply YES or visit a branch."
            }
          ]
        },
        "phone_number": "233249430715",
        "email": "donchukz01@gmail.com"
      }
    ],
    "pagination": {
      "page": 1,
      "per_page": 25,
      "total": 60,
      "pages": 3,
      "has_prev": false,
      "has_next": true
    }
  },
  "campaigns": {
    "campaigns": [
      {
        "id": 12,
        "name": "25.08.2026",
        "type": "sms",
        "subject": null,
        "message": "Dear {customer_name},\nCelebrate your high-value account! Get a free month of premium services. 🎉\nVisit ecobank.com for details. Reply STOP to opt out",
        "filters": {
          "AT_RISK": false,
          "DORMANT": false,
          "HIGH_VALUE": true,
          "MASS_MARKET": false,
          "NEW_CUSTOMER": false,
          "PREMIUM_WEALTH": false,
          "SMALL_BUSINESS": false,
          "GROWTH_POTENTIAL": false,
          "YOUNG_PROFESSIONAL": false
        },
        "status": "completed",
        "target_segment": "HIGH_VALUE",
        "recipients": 4,
        "created_at": "2026-08-25T16:47:17",
        "updated_at": "2026-08-25T16:47:19",
        "created_by": "Pontian Okafor",
        "is_active": false,
        "delivered": 0,
        "delivery_failed": 0,
        "delivery_submitted": 4
      },
      {
        "id": 10,
        "name": "Walkthrough Retention SMS (24f35f)",
        "type": "sms",
        "subject": null,
        "message": "Hi {customer_name}, we miss you. Reply YES for a relationship manager call. Reply STOP to opt out",
        "filters": {
          "segment": "AT_RISK"
        },
        "status": "completed",
        "target_segment": "AT_RISK",
        "recipients": 7,
        "created_at": "2026-08-20T13:51:01",
        "updated_at": "2026-08-21T17:51:01",
        "created_by": "Walkthrough",
        "is_active": false,
        "delivered": 4,
        "delivery_failed": 1,
        "delivery_submitted": 1
      },
      {
        "id": 9,
        "name": "Walkthrough Growth Email (24f35f)",
        "type": "email",
        "subject": "Opportunities tailored to your growth",
        "message": "Hello {customer_name}, based on your profile we have savings and investment options that may fit you. Reply or visit a branch to continue.",
        "filters": {
          "segment": "GROWTH_POTENTIAL"
        },
        "status": "completed",
        "target_segment": "GROWTH_POTENTIAL",
        "recipients": 7,
        "created_at": "2026-08-19T18:51:01",
        "updated_at": "2026-08-21T17:51:01",
        "created_by": "Walkthrough",
        "is_active": false,
        "delivered": 2,
        "delivery_failed": 0,
        "delivery_submitted": 5
      },
      {
        "id": 11,
        "name": "Walkthrough Onboarding Email (24f35f)",
        "type": "email",
        "subject": "Welcome — finish setting up your account",
        "message": "Hello {customer_name}, complete your digital onboarding to unlock cards and mobile banking.",
        "filters": {
          "segment": "NEW_CUSTOMER"
        },
        "status": "completed",
        "target_segment": "NEW_CUSTOMER",
        "recipients": 8,
        "created_at": "2026-08-19T18:51:01",
        "updated_at": "2026-08-21T17:51:01",
        "created_by": "Walkthrough",
        "is_active": false,
        "delivered": 5,
        "delivery_failed": 1,
        "delivery_submitted": 1
      },
      {
        "id": 5,
        "name": "Final Test",
        "type": "email",
        "subject": "Important Banking Updates and Payment Deadlines",
        "message": "Dear {customer_name},\n\nWe hope this message finds you well. We wanted to remind you about upcoming payment deadlines for your account ending in XXXX. To avoid any inconvenience, please ensure that all payments are made by their respective due dates.\n\nYour current account balance is {account_balance}. If you have any questions or need assistance, our customer service team is always ready to help. Don't hesitate to contact us at 123-456-7890 or reply directly to this email for immediate support.\n\nThank you for choosing ECOBANK for all your banking needs. We look forward to serving you again soon.\n\nBest regards,\nThe ECOBANK Team",
        "filters": {
          "AT_RISK": true,
          "DORMANT": true,
          "HIGH_VALUE": true,
          "MASS_MARKET": true,
          "NEW_CUSTOMER": true,
          "PREMIUM_WEALTH": true,
          "SMALL_BUSINESS": true,
          "GROWTH_POTENTIAL": true,
          "YOUNG_PROFESSIONAL": true
        },
        "status": "draft",
        "target_segment": "PREMIUM_WEALTH,HIGH_VALUE,GROWTH_POTENTIAL,YOUNG_PROFESSIONAL,SMALL_BUSINESS,MASS_MARKET,AT_RISK,DORMANT,NEW_CUSTOMER",
        "recipients": 60,
        "created_at": "2026-08-08T11:47:47",
        "updated_at": "2026-08-08T11:47:47",
        "created_by": "Pontian Okafor",
        "is_active": false,
        "delivered": 0,
        "delivery_failed": 0,
        "delivery_submitted": 0
      },
      {
        "id": 4,
        "name": "New Test",
        "type": "email",
        "subject": "Thank You for Choosing Ecobank - Your Partner in Financial Growth!",
        "message": "Dear {customer_name},\n\nWe are thrilled to celebrate your continued trust and loyalty with Ecobank. As a valued member of our community, we are proud to support you on your financial journey.\n\nYour account balance is currently at {account_balance}. We hope this milestone marks the beginning of many more successful transactions together. Thank you for choosing us as your trusted banking partner.\n\nTo continue enjoying all that Ecobank has to offer, don’t forget to download our mobile app or visit us online at www.ecobank.com.\n\nSincerely,\nThe Ecobank Team\nwww.ecobank.com",
        "filters": {
          "AT_RISK": false,
          "DORMANT": false,
          "HIGH_VALUE": true,
          "MASS_MARKET": false,
          "NEW_CUSTOMER": false,
          "PREMIUM_WEALTH": true,
          "SMALL_BUSINESS": false,
          "GROWTH_POTENTIAL": false,
          "YOUNG_PROFESSIONAL": false
        },
        "status": "completed",
        "target_segment": "PREMIUM_WEALTH,HIGH_VALUE",
        "recipients": 6,
        "created_at": "2026-08-08T10:59:30",
        "updated_at": "2026-08-08T10:59:30",
        "created_by": "Pontian Okafor",
        "is_active": false,
        "delivered": 0,
        "delivery_failed": 0,
        "delivery_submitted": 0
      },
      {
        "id": 3,
        "name": "Manager",
        "type": "sms",
        "subject": null,
        "message": "Hey {customer_name}! 🌟 Exciting news at Ecobank - our new mobile app makes banking easier than ever! Download now and get up to {account_… Reply STOP to opt out",
        "filters": {
          "AT_RISK": false,
          "DORMANT": false,
          "HIGH_VALUE": false,
          "MASS_MARKET": false,
          "NEW_CUSTOMER": false,
          "PREMIUM_WEALTH": true,
          "SMALL_BUSINESS": false,
          "GROWTH_POTENTIAL": false,
          "YOUNG_PROFESSIONAL": false
        },
        "status": "completed",
        "target_segment": "PREMIUM_WEALTH",
        "recipients": 6,
        "created_at": "2026-08-08T10:08:37",
        "updated_at": "2026-08-08T10:08:37",
        "created_by": "Pontian Okafor",
        "is_active": false,
        "delivered": 0,
        "delivery_failed": 0,
        "delivery_submitted": 0
      },
      {
        "id": 2,
        "name": "Test",
        "type": "email",
        "subject": "Unlock Exclusive Savings with Ecobank!",
        "message": "Hello {customer_name},\n\nWe're thrilled to announce a special offer exclusively for our valued customers like you! Starting this month, all savings account holders can enjoy a 30% bonus on any deposit made within the first three months. Your current balance of ${account_balance} is eligible for this exciting promotion.\n\nTo claim your bonus and take advantage of this limited-time offer, simply visit us at [Branch Location] or log in to your online banking account by clicking here: [Insert Link]\n\nThank you for choosing Ecobank. We look forward to serving you even better!\n\nBest regards,\nThe Ecobank Team",
        "filters": {
          "AT_RISK": false,
          "DORMANT": false,
          "HIGH_VALUE": true,
          "MASS_MARKET": false,
          "NEW_CUSTOMER": false,
          "PREMIUM_WEALTH": true,
          "SMALL_BUSINESS": false,
          "GROWTH_POTENTIAL": true,
          "YOUNG_PROFESSIONAL": true
        },
        "status": "completed",
        "target_segment": "PREMIUM_WEALTH,HIGH_VALUE,GROWTH_POTENTIAL,YOUNG_PROFESSIONAL",
        "recipients": 7,
        "created_at": "2026-08-08T09:47:35",
        "updated_at": "2026-08-08T09:54:59",
        "created_by": "Pontian Okafor",
        "is_active": false,
        "delivered": 0,
        "delivery_failed": 0,
        "delivery_submitted": 0
      }
    ],
    "total": 8
  },
  "opportunity_alerts": {
    "items": [
      {
        "id": 927,
        "customer_id": "WLK1750100053",
        "customer_name": "Abena Gyasi",
        "segment": "GROWTH_POTENTIAL",
        "opportunity_type": "cross_sell",
        "opportunity_text": "Savings Plans",
        "growth_potential": "high",
        "channel": "sms",
        "message": "Hi Abena, explore savings plans with us. Reply YES or visit a branch.",
        "subject": null,
        "status": "pending",
        "priority": 1,
        "source_run_id": "walkthrough-20260821175053-24f35f",
        "extracted_at": "2026-08-21T17:51:01",
        "approved_by": null,
        "approved_at": null,
        "sent_at": null,
        "failure_reason": null,
        "delivery_status": null,
        "provider_message_id": null
      },
      {
        "id": 933,
        "customer_id": "WLK1750100053",
        "customer_name": "Abena Gyasi",
        "segment": "GROWTH_POTENTIAL",
        "opportunity_type": "credit_facility",
        "opportunity_text": "overdraft: ₵5,000 - ₵20,000 — Income stability and growth potential holdings support overdraft.",
        "growth_potential": "high",
        "channel": "sms",
        "message": "Hi Abena, overdraft: ₵5,000 - ₵20,000 — Income stability and growth potential holdings support overdraft.. Reply YES to continue.",
        "subject": null,
        "status": "pending",
        "priority": 1,
        "source_run_id": "walkthrough-20260821175053-24f35f",
        "extracted_at": "2026-08-21T17:51:01",
        "approved_by": null,
        "approved_at": null,
        "sent_at": null,
        "failure_reason": null,
        "delivery_status": null,
        "provider_message_id": null
      },
      {
        "id": 932,
        "customer_id": "WLK1750100053",
        "customer_name": "Abena Gyasi",
        "segment": "GROWTH_POTENTIAL",
        "opportunity_type": "next_best_action",
        "opportunity_text": "Promote savings and investment products",
        "growth_potential": "high",
        "channel": "sms",
        "message": "Hi Abena, Promote savings and investment products. Reply YES to continue.",
        "subject": null,
        "status": "pending",
        "priority": 1,
        "source_run_id": "walkthrough-20260821175053-24f35f",
        "extracted_at": "2026-08-21T17:51:01",
        "approved_by": null,
        "approved_at": null,
        "sent_at": null,
        "failure_reason": null,
        "delivery_status": null,
        "provider_message_id": null
      },
      {
        "id": 954,
        "customer_id": "WLK1750100057",
        "customer_name": "Kwesi Osei",
        "segment": "PREMIUM_WEALTH",
        "opportunity_type": "cross_sell",
        "opportunity_text": "Wealth Management",
        "growth_potential": "high",
        "channel": "sms",
        "message": "Hi Kwesi, explore wealth management with us. Reply YES or visit a branch.",
        "subject": null,
        "status": "pending",
        "priority": 1,
        "source_run_id": "walkthrough-20260821175053-24f35f",
        "extracted_at": "2026-08-21T17:51:01",
        "approved_by": null,
        "approved_at": null,
        "sent_at": null,
        "failure_reason": null,
        "delivery_status": null,
        "provider_message_id": null
      },
      {
        "id": 955,
        "customer_id": "WLK1750100057",
        "customer_name": "Kwesi Osei",
        "segment": "PREMIUM_WEALTH",
        "opportunity_type": "cross_sell",
        "opportunity_text": "Investment Advisory",
        "growth_potential": "high",
        "channel": "sms",
        "message": "Hi Kwesi, explore investment advisory with us. Reply YES or visit a branch.",
        "subject": null,
        "status": "pending",
        "priority": 1,
        "source_run_id": "walkthrough-20260821175053-24f35f",
        "extracted_at": "2026-08-21T17:51:01",
        "approved_by": null,
        "approved_at": null,
        "sent_at": null,
        "failure_reason": null,
        "delivery_status": null,
        "provider_message_id": null
      },
      {
        "id": 956,
        "customer_id": "WLK1750100057",
        "customer_name": "Kwesi Osei",
        "segment": "PREMIUM_WEALTH",
        "opportunity_type": "cross_sell",
        "opportunity_text": "Private Banking",
        "growth_potential": "high",
        "channel": "sms",
        "message": "Hi Kwesi, explore private banking with us. Reply YES or visit a branch.",
        "subject": null,
        "status": "pending",
        "priority": 1,
        "source_run_id": "walkthrough-20260821175053-24f35f",
        "extracted_at": "2026-08-21T17:51:01",
        "approved_by": null,
        "approved_at": null,
        "sent_at": null,
        "failure_reason": null,
        "delivery_status": null,
        "provider_message_id": null
      },
      {
        "id": 957,
        "customer_id": "WLK1750100057",
        "customer_name": "Kwesi Osei",
        "segment": "PREMIUM_WEALTH",
        "opportunity_type": "retention",
        "opportunity_text": "Exclusive events",
        "growth_potential": "high",
        "channel": "sms",
        "message": "Hi Kwesi, we value you — exclusive events. Reply HELP for support.",
        "subject": null,
        "status": "pending",
        "priority": 1,
        "source_run_id": "walkthrough-20260821175053-24f35f",
        "extracted_at": "2026-08-21T17:51:01",
        "approved_by": null,
        "approved_at": null,
        "sent_at": null,
        "failure_reason": null,
        "delivery_status": null,
        "provider_message_id": null
      },
      {
        "id": 958,
        "customer_id": "WLK1750100057",
        "customer_name": "Kwesi Osei",
        "segment": "PREMIUM_WEALTH",
        "opportunity_type": "retention",
        "opportunity_text": "Priority support",
        "growth_potential": "high",
        "channel": "sms",
        "message": "Hi Kwesi, we value you — priority support. Reply HELP for support.",
        "subject": null,
        "status": "pending",
        "priority": 1,
        "source_run_id": "walkthrough-20260821175053-24f35f",
        "extracted_at": "2026-08-21T17:51:01",
        "approved_by": null,
        "approved_at": null,
        "sent_at": null,
        "failure_reason": null,
        "delivery_status": null,
        "provider_message_id": null
      },
      {
        "id": 959,
        "customer_id": "WLK1750100057",
        "customer_name": "Kwesi Osei",
        "segment": "PREMIUM_WEALTH",
        "opportunity_type": "retention",
        "opportunity_text": "Customized solutions",
        "growth_potential": "high",
        "channel": "sms",
        "message": "Hi Kwesi, we value you — customized solutions. Reply HELP for support.",
        "subject": null,
        "status": "sent",
        "priority": 1,
        "source_run_id": "walkthrough-20260821175053-24f35f",
        "extracted_at": "2026-08-21T17:51:01",
        "approved_by": "Pontian Okafor",
        "approved_at": "2026-08-21T18:04:07",
        "sent_at": "2026-08-21T18:04:08",
        "failure_reason": null,
        "delivery_status": "submitted",
        "provider_message_id": null
      },
      {
        "id": 960,
        "customer_id": "WLK1750100057",
        "customer_name": "Kwesi Osei",
        "segment": "PREMIUM_WEALTH",
        "opportunity_type": "next_best_action",
        "opportunity_text": "Schedule wealth management consultation",
        "growth_potential": "high",
        "channel": "sms",
        "message": "Hi Kwesi, Schedule wealth management consultation. Reply YES to continue.",
        "subject": null,
        "status": "pending",
        "priority": 1,
        "source_run_id": "walkthrough-20260821175053-24f35f",
        "extracted_at": "2026-08-21T17:51:01",
        "approved_by": null,
        "approved_at": null,
        "sent_at": null,
        "failure_reason": null,
        "delivery_status": null,
        "provider_message_id": null
      },
      {
        "id": 961,
        "customer_id": "WLK1750100057",
        "customer_name": "Kwesi Osei",
        "segment": "PREMIUM_WEALTH",
        "opportunity_type": "credit_facility",
        "opportunity_text": "mortgage: ₵150,000 - ₵500,000 — Income stability and premium wealth holdings support mortgage.",
        "growth_potential": "high",
        "channel": "sms",
        "message": "Hi Kwesi, mortgage: ₵150,000 - ₵500,000 — Income stability and premium wealth holdings support mortgage.. Reply YES to continue.",
        "subject": null,
        "status": "pending",
        "priority": 1,
        "source_run_id": "walkthrough-20260821175053-24f35f",
        "extracted_at": "2026-08-21T17:51:01",
        "approved_by": null,
        "approved_at": null,
        "sent_at": null,
        "failure_reason": null,
        "delivery_status": null,
        "provider_message_id": null
      },
      {
        "id": 931,
        "customer_id": "WLK1750100053",
        "customer_name": "Abena Gyasi",
        "segment": "GROWTH_POTENTIAL",
        "opportunity_type": "retention",
        "opportunity_text": "Financial literacy content",
        "growth_potential": "high",
        "channel": "sms",
        "message": "Hi Abena, we value you — financial literacy content. Reply HELP for support.",
        "subject": null,
        "status": "pending",
        "priority": 1,
        "source_run_id": "walkthrough-20260821175053-24f35f",
        "extracted_at": "2026-08-21T17:51:01",
        "approved_by": null,
        "approved_at": null,
        "sent_at": null,
        "failure_reason": null,
        "delivery_status": null,
        "provider_message_id": null
      },
      {
        "id": 930,
        "customer_id": "WLK1750100053",
        "customer_name": "Abena Gyasi",
        "segment": "GROWTH_POTENTIAL",
        "opportunity_type": "retention",
        "opportunity_text": "Loyalty rewards",
        "growth_potential": "high",
        "channel": "sms",
        "message": "Hi Abena, we value you — loyalty rewards. Reply HELP for support.",
        "subject": null,
        "status": "pending",
        "priority": 1,
        "source_run_id": "walkthrough-20260821175053-24f35f",
        "extracted_at": "2026-08-21T17:51:01",
        "approved_by": null,
        "approved_at": null,
        "sent_at": null,
        "failure_reason": null,
        "delivery_status": null,
        "provider_message_id": null
      },
      {
        "id": 929,
        "customer_id": "WLK1750100053",
        "customer_name": "Abena Gyasi",
        "segment": "GROWTH_POTENTIAL",
        "opportunity_type": "cross_sell",
        "opportunity_text": "Investment Apps",
        "growth_potential": "high",
        "channel": "sms",
        "message": "Hi Abena, explore investment apps with us. Reply YES or visit a branch.",
        "subject": null,
        "status": "pending",
        "priority": 1,
        "source_run_id": "walkthrough-20260821175053-24f35f",
        "extracted_at": "2026-08-21T17:51:01",
        "approved_by": null,
        "approved_at": null,
        "sent_at": null,
        "failure_reason": null,
        "delivery_status": null,
        "provider_message_id": null
      },
      {
        "id": 928,
        "customer_id": "WLK1750100053",
        "customer_name": "Abena Gyasi",
        "segment": "GROWTH_POTENTIAL",
        "opportunity_type": "cross_sell",
        "opportunity_text": "Personal Loans",
        "growth_potential": "high",
        "channel": "sms",
        "message": "Hi Abena, explore personal loans with us. Reply YES or visit a branch.",
        "subject": null,
        "status": "pending",
        "priority": 1,
        "source_run_id": "walkthrough-20260821175053-24f35f",
        "extracted_at": "2026-08-21T17:51:01",
        "approved_by": null,
        "approved_at": null,
        "sent_at": null,
        "failure_reason": null,
        "delivery_status": null,
        "provider_message_id": null
      },
      {
        "id": 879,
        "customer_id": "WLK1750100045",
        "customer_name": "Sarah Asante",
        "segment": "HIGH_VALUE",
        "opportunity_type": "credit_facility",
        "opportunity_text": "mortgage: ₵80,000 - ₵350,000 — Income stability and high value holdings support mortgage.",
        "growth_potential": "high",
        "channel": "sms",
        "message": "Hi Sarah, mortgage: ₵80,000 - ₵350,000 — Income stability and high value holdings support mortgage.. Reply YES to continue.",
        "subject": null,
        "status": "pending",
        "priority": 1,
        "source_run_id": "walkthrough-20260821175053-24f35f",
        "extracted_at": "2026-08-21T17:51:00",
        "approved_by": null,
        "approved_at": null,
        "sent_at": null,
        "failure_reason": null,
        "delivery_status": null,
        "provider_message_id": null
      },
      {
        "id": 890,
        "customer_id": "WLK1750100047",
        "customer_name": "Emmanuel Owusu",
        "segment": "GROWTH_POTENTIAL",
        "opportunity_type": "retention",
        "opportunity_text": "Loyalty rewards",
        "growth_potential": "high",
        "channel": "sms",
        "message": "Hi Emmanuel, we value you — loyalty rewards. Reply HELP for support.",
        "subject": null,
        "status": "pending",
        "priority": 1,
        "source_run_id": "walkthrough-20260821175053-24f35f",
        "extracted_at": "2026-08-21T17:51:00",
        "approved_by": null,
        "approved_at": null,
        "sent_at": null,
        "failure_reason": null,
        "delivery_status": null,
        "provider_message_id": null
      },
      {
        "id": 878,
        "customer_id": "WLK1750100045",
        "customer_name": "Sarah Asante",
        "segment": "HIGH_VALUE",
        "opportunity_type": "next_best_action",
        "opportunity_text": "Offer investment consultation",
        "growth_potential": "high",
        "channel": "sms",
        "message": "Hi Sarah, Offer investment consultation. Reply YES to continue.",
        "subject": null,
        "status": "pending",
        "priority": 1,
        "source_run_id": "walkthrough-20260821175053-24f35f",
        "extracted_at": "2026-08-21T17:51:00",
        "approved_by": null,
        "approved_at": null,
        "sent_at": null,
        "failure_reason": null,
        "delivery_status": null,
        "provider_message_id": null
      },
      {
        "id": 877,
        "customer_id": "WLK1750100045",
        "customer_name": "Sarah Asante",
        "segment": "HIGH_VALUE",
        "opportunity_type": "retention",
        "opportunity_text": "Priority support",
        "growth_potential": "high",
        "channel": "sms",
        "message": "Hi Sarah, we value you — priority support. Reply HELP for support.",
        "subject": null,
        "status": "pending",
        "priority": 1,
        "source_run_id": "walkthrough-20260821175053-24f35f",
        "extracted_at": "2026-08-21T17:51:00",
        "approved_by": null,
        "approved_at": null,
        "sent_at": null,
        "failure_reason": null,
        "delivery_status": null,
        "provider_message_id": null
      },
      {
        "id": 874,
        "customer_id": "WLK1750100045",
        "customer_name": "Sarah Asante",
        "segment": "HIGH_VALUE",
        "opportunity_type": "cross_sell",
        "opportunity_text": "Insurance",
        "growth_potential": "high",
        "channel": "sms",
        "message": "Hi Sarah, explore insurance with us. Reply YES or visit a branch.",
        "subject": null,
        "status": "pending",
        "priority": 1,
        "source_run_id": "walkthrough-20260821175053-24f35f",
        "extracted_at": "2026-08-21T17:51:00",
        "approved_by": null,
        "approved_at": null,
        "sent_at": null,
        "failure_reason": null,
        "delivery_status": null,
        "provider_message_id": null
      }
    ],
    "pagination": {
      "page": 1,
      "per_page": 20,
      "total": 376,
      "pages": 19,
      "has_prev": false,
      "has_next": true
    },
    "stats": {
      "pending": 367,
      "approved": 0,
      "sent": 9,
      "failed": 0,
      "dismissed": 0,
      "total": 376
    }
  },
  "audit_trails": {
    "items": [
      {
        "id": 240,
        "user_id": 1,
        "user_name": "System Administrator",
        "user_email": "admin@ecobank.com",
        "action": "view",
        "action_label": "View",
        "category": "customers",
        "category_label": "Customers",
        "resource_type": "customer",
        "resource_id": "WLK1750100032",
        "details": "{\"name\": \"Yaw Osei\", \"segment\": \"PREMIUM_WEALTH\"}",
        "status": "success",
        "ip_address": "104.225.131.74",
        "http_method": "GET",
        "request_path": "/api/v1/customers/WLK1750100032",
        "created_at": "2026-09-07T12:42:20"
      },
      {
        "id": 239,
        "user_id": 1,
        "user_name": "System Administrator",
        "user_email": "admin@ecobank.com",
        "action": "view",
        "action_label": "View",
        "category": "customers",
        "category_label": "Customers",
        "resource_type": "customer",
        "resource_id": "WLK1750100033",
        "details": "{\"name\": \"Patricia Adjei\", \"segment\": \"MASS_MARKET\"}",
        "status": "success",
        "ip_address": "104.225.131.74",
        "http_method": "GET",
        "request_path": "/api/v1/customers/WLK1750100033",
        "created_at": "2026-09-07T12:42:19"
      },
      {
        "id": 238,
        "user_id": 1,
        "user_name": "System Administrator",
        "user_email": "admin@ecobank.com",
        "action": "view",
        "action_label": "View",
        "category": "customers",
        "category_label": "Customers",
        "resource_type": "customer",
        "resource_id": "WLK1750100034",
        "details": "{\"name\": \"Joseph Adjei\", \"segment\": \"YOUNG_PROFESSIONAL\"}",
        "status": "success",
        "ip_address": "104.225.131.74",
        "http_method": "GET",
        "request_path": "/api/v1/customers/WLK1750100034",
        "created_at": "2026-09-07T12:42:18"
      },
      {
        "id": 237,
        "user_id": 1,
        "user_name": "System Administrator",
        "user_email": "admin@ecobank.com",
        "action": "view",
        "action_label": "View",
        "category": "customers",
        "category_label": "Customers",
        "resource_type": "customer",
        "resource_id": "WLK1750100035",
        "details": "{\"name\": \"Kwame Adjei\", \"segment\": \"NEW_CUSTOMER\"}",
        "status": "success",
        "ip_address": "104.225.131.74",
        "http_method": "GET",
        "request_path": "/api/v1/customers/WLK1750100035",
        "created_at": "2026-09-07T12:42:18"
      },
      {
        "id": 236,
        "user_id": 1,
        "user_name": "System Administrator",
        "user_email": "admin@ecobank.com",
        "action": "view",
        "action_label": "View",
        "category": "customers",
        "category_label": "Customers",
        "resource_type": "customer",
        "resource_id": "WLK1750100036",
        "details": "{\"name\": \"Samuel Mensah\", \"segment\": \"AT_RISK\"}",
        "status": "success",
        "ip_address": "104.225.131.74",
        "http_method": "GET",
        "request_path": "/api/v1/customers/WLK1750100036",
        "created_at": "2026-09-07T12:42:17"
      },
      {
        "id": 235,
        "user_id": 1,
        "user_name": "System Administrator",
        "user_email": "admin@ecobank.com",
        "action": "view",
        "action_label": "View",
        "category": "customers",
        "category_label": "Customers",
        "resource_type": "customer",
        "resource_id": "WLK1750100037",
        "details": "{\"name\": \"Mary Gyasi\", \"segment\": \"SMALL_BUSINESS\"}",
        "status": "success",
        "ip_address": "104.225.131.74",
        "http_method": "GET",
        "request_path": "/api/v1/customers/WLK1750100037",
        "created_at": "2026-09-07T12:42:16"
      },
      {
        "id": 234,
        "user_id": 1,
        "user_name": "System Administrator",
        "user_email": "admin@ecobank.com",
        "action": "view",
        "action_label": "View",
        "category": "customers",
        "category_label": "Customers",
        "resource_type": "customer",
        "resource_id": "WLK1750100038",
        "details": "{\"name\": \"Abena Appiah\", \"segment\": \"NEW_CUSTOMER\"}",
        "status": "success",
        "ip_address": "104.225.131.74",
        "http_method": "GET",
        "request_path": "/api/v1/customers/WLK1750100038",
        "created_at": "2026-09-07T12:42:16"
      },
      {
        "id": 233,
        "user_id": 1,
        "user_name": "System Administrator",
        "user_email": "admin@ecobank.com",
        "action": "view",
        "action_label": "View",
        "category": "customers",
        "category_label": "Customers",
        "resource_type": "customer",
        "resource_id": "WLK1750100039",
        "details": "{\"name\": \"Kofi Adjei\", \"segment\": \"DORMANT\"}",
        "status": "success",
        "ip_address": "104.225.131.74",
        "http_method": "GET",
        "request_path": "/api/v1/customers/WLK1750100039",
        "created_at": "2026-09-07T12:42:15"
      },
      {
        "id": 232,
        "user_id": 1,
        "user_name": "System Administrator",
        "user_email": "admin@ecobank.com",
        "action": "view",
        "action_label": "View",
        "category": "customers",
        "category_label": "Customers",
        "resource_type": "customer",
        "resource_id": "WLK1750100040",
        "details": "{\"name\": \"Kwesi Darko\", \"segment\": \"HIGH_VALUE\"}",
        "status": "success",
        "ip_address": "104.225.131.74",
        "http_method": "GET",
        "request_path": "/api/v1/customers/WLK1750100040",
        "created_at": "2026-09-07T12:42:14"
      },
      {
        "id": 231,
        "user_id": 1,
        "user_name": "System Administrator",
        "user_email": "admin@ecobank.com",
        "action": "view",
        "action_label": "View",
        "category": "customers",
        "category_label": "Customers",
        "resource_type": "customer",
        "resource_id": "WLK1750100041",
        "details": "{\"name\": \"Michael Appiah\", \"segment\": \"PREMIUM_WEALTH\"}",
        "status": "success",
        "ip_address": "104.225.131.74",
        "http_method": "GET",
        "request_path": "/api/v1/customers/WLK1750100041",
        "created_at": "2026-09-07T12:42:14"
      },
      {
        "id": 230,
        "user_id": 1,
        "user_name": "System Administrator",
        "user_email": "admin@ecobank.com",
        "action": "view",
        "action_label": "View",
        "category": "customers",
        "category_label": "Customers",
        "resource_type": "customer",
        "resource_id": "WLK1750100042",
        "details": "{\"name\": \"Nana Appiah\", \"segment\": \"MASS_MARKET\"}",
        "status": "success",
        "ip_address": "104.225.131.74",
        "http_method": "GET",
        "request_path": "/api/v1/customers/WLK1750100042",
        "created_at": "2026-09-07T12:42:13"
      },
      {
        "id": 229,
        "user_id": 1,
        "user_name": "System Administrator",
        "user_email": "admin@ecobank.com",
        "action": "view",
        "action_label": "View",
        "category": "customers",
        "category_label": "Customers",
        "resource_type": "customer",
        "resource_id": "WLK1750100046",
        "details": "{\"name\": \"Mary Adjei\", \"segment\": \"SMALL_BUSINESS\"}",
        "status": "success",
        "ip_address": "104.225.131.74",
        "http_method": "GET",
        "request_path": "/api/v1/customers/WLK1750100046",
        "created_at": "2026-09-07T12:42:12"
      },
      {
        "id": 228,
        "user_id": 1,
        "user_name": "System Administrator",
        "user_email": "admin@ecobank.com",
        "action": "view",
        "action_label": "View",
        "category": "customers",
        "category_label": "Customers",
        "resource_type": "customer",
        "resource_id": "WLK1750100044",
        "details": "{\"name\": \"Kwame Darko\", \"segment\": \"DORMANT\"}",
        "status": "success",
        "ip_address": "104.225.131.74",
        "http_method": "GET",
        "request_path": "/api/v1/customers/WLK1750100044",
        "created_at": "2026-09-07T12:42:12"
      },
      {
        "id": 227,
        "user_id": 1,
        "user_name": "System Administrator",
        "user_email": "admin@ecobank.com",
        "action": "view",
        "action_label": "View",
        "category": "customers",
        "category_label": "Customers",
        "resource_type": "customer",
        "resource_id": "WLK1750100045",
        "details": "{\"name\": \"Sarah Asante\", \"segment\": \"HIGH_VALUE\"}",
        "status": "success",
        "ip_address": "104.225.131.74",
        "http_method": "GET",
        "request_path": "/api/v1/customers/WLK1750100045",
        "created_at": "2026-09-07T12:42:11"
      },
      {
        "id": 226,
        "user_id": 1,
        "user_name": "System Administrator",
        "user_email": "admin@ecobank.com",
        "action": "view",
        "action_label": "View",
        "category": "customers",
        "category_label": "Customers",
        "resource_type": "customer",
        "resource_id": "WLK1750100053",
        "details": "{\"name\": \"Abena Gyasi\", \"segment\": \"GROWTH_POTENTIAL\"}",
        "status": "success",
        "ip_address": "104.225.131.74",
        "http_method": "GET",
        "request_path": "/api/v1/customers/WLK1750100053",
        "created_at": "2026-09-07T12:42:10"
      },
      {
        "id": 225,
        "user_id": 1,
        "user_name": "System Administrator",
        "user_email": "admin@ecobank.com",
        "action": "view",
        "action_label": "View",
        "category": "customers",
        "category_label": "Customers",
        "resource_type": "customer",
        "resource_id": "WLK1750100060",
        "details": "{\"name\": \"Kofi Appiah\", \"segment\": \"YOUNG_PROFESSIONAL\"}",
        "status": "success",
        "ip_address": "104.225.131.74",
        "http_method": "GET",
        "request_path": "/api/v1/customers/WLK1750100060",
        "created_at": "2026-09-07T12:42:10"
      },
      {
        "id": 224,
        "user_id": 1,
        "user_name": "System Administrator",
        "user_email": "admin@ecobank.com",
        "action": "view",
        "action_label": "View",
        "category": "customers",
        "category_label": "Customers",
        "resource_type": "customer",
        "resource_id": "WLK1750100059",
        "details": "{\"name\": \"Elizabeth Amoah\", \"segment\": \"NEW_CUSTOMER\"}",
        "status": "success",
        "ip_address": "104.225.131.74",
        "http_method": "GET",
        "request_path": "/api/v1/customers/WLK1750100059",
        "created_at": "2026-09-07T12:42:09"
      },
      {
        "id": 223,
        "user_id": 1,
        "user_name": "System Administrator",
        "user_email": "admin@ecobank.com",
        "action": "view",
        "action_label": "View",
        "category": "customers",
        "category_label": "Customers",
        "resource_type": "customer",
        "resource_id": "WLK1750100058",
        "details": "{\"name\": \"Patricia Adjei\", \"segment\": \"NEW_CUSTOMER\"}",
        "status": "success",
        "ip_address": "104.225.131.74",
        "http_method": "GET",
        "request_path": "/api/v1/customers/WLK1750100058",
        "created_at": "2026-09-07T12:42:08"
      },
      {
        "id": 222,
        "user_id": 1,
        "user_name": "System Administrator",
        "user_email": "admin@ecobank.com",
        "action": "view",
        "action_label": "View",
        "category": "customers",
        "category_label": "Customers",
        "resource_type": "customer",
        "resource_id": "WLK1750100057",
        "details": "{\"name\": \"Kwesi Osei\", \"segment\": \"PREMIUM_WEALTH\"}",
        "status": "success",
        "ip_address": "104.225.131.74",
        "http_method": "GET",
        "request_path": "/api/v1/customers/WLK1750100057",
        "created_at": "2026-09-07T12:42:07"
      },
      {
        "id": 221,
        "user_id": 1,
        "user_name": "System Administrator",
        "user_email": "admin@ecobank.com",
        "action": "view",
        "action_label": "View",
        "category": "customers",
        "category_label": "Customers",
        "resource_type": "customer",
        "resource_id": "WLK1750100056",
        "details": "{\"name\": \"Akosua Appiah\", \"segment\": \"SMALL_BUSINESS\"}",
        "status": "success",
        "ip_address": "104.225.131.74",
        "http_method": "GET",
        "request_path": "/api/v1/customers/WLK1750100056",
        "created_at": "2026-09-07T12:42:07"
      }
    ],
    "pagination": {
      "page": 1,
      "per_page": 20,
      "total": 240,
      "pages": 12,
      "has_prev": false,
      "has_next": true
    },
    "summary": {
      "total": 240,
      "authentication": 119,
      "user_management": 7,
      "role_management": 0,
      "system_settings": 21,
      "campaigns": 21,
      "customers": 61,
      "opportunity_alerts": 11
    }
  },
  "roles": {
    "roles": [
      {
        "id": 2,
        "name": "admin",
        "description": "Administrator — manage users, customers, campaigns, and settings",
        "permissions": [
          "pages.page.dashboard.view",
          "pages.page.customers.view",
          "pages.page.campaigns.view",
          "pages.page.users_management.view",
          "pages.page.role_management.view",
          "pages.page.audit_trails.view",
          "pages.page.system_settings.view",
          "dashboard.read",
          "dashboard.export",
          "customers.read",
          "customers.export",
          "customers.bulk_campaign",
          "customers.send_email",
          "campaigns.read",
          "campaigns.create",
          "campaigns.update",
          "campaigns.delete",
          "campaigns.export",
          "users.read",
          "users.create",
          "users.update",
          "users.delete",
          "settings.read",
          "settings.update",
          "audit_trails.read",
          "segmentation.run",
          "chatbot.use",
          "pages.page.opportunity_alerts.view",
          "opportunity_alerts.read",
          "opportunity_alerts.update",
          "opportunity_alerts.send",
          "pages.page.reports.view",
          "pages.page.credit_portfolio.view",
          "reports.read",
          "reports.export",
          "credit_portfolio.read",
          "credit_portfolio.export",
          "credit_portfolio.reach_out"
        ],
        "is_active": true
      },
      {
        "id": 4,
        "name": "analyst",
        "description": "Analyst — read-only customer and dashboard access",
        "permissions": [
          "pages.page.dashboard.view",
          "pages.page.customers.view",
          "dashboard.read",
          "customers.read",
          "customers.export",
          "campaigns.read",
          "chatbot.use"
        ],
        "is_active": true
      },
      {
        "id": 3,
        "name": "customer_admin",
        "description": "Customer Admin — customer and campaign operations",
        "permissions": [
          "pages.page.dashboard.view",
          "pages.page.customers.view",
          "pages.page.campaigns.view",
          "dashboard.read",
          "customers.read",
          "customers.export",
          "customers.bulk_campaign",
          "customers.send_email",
          "campaigns.read",
          "campaigns.create",
          "campaigns.export",
          "chatbot.use"
        ],
        "is_active": true
      },
      {
        "id": 5,
        "name": "revenue",
        "description": "Revenue Partner — Npontu access to AI revenue attribution only",
        "permissions": [
          "settings.read",
          "pages.page.revenue.view",
          "revenue.read",
          "revenue.create",
          "revenue.export"
        ],
        "is_active": true
      },
      {
        "id": 1,
        "name": "super_admin",
        "description": "Super Admin — full platform access",
        "permissions": [
          "pages.page.dashboard.view",
          "pages.page.customers.view",
          "pages.page.campaigns.view",
          "pages.page.users_management.view",
          "pages.page.role_management.view",
          "pages.page.audit_trails.view",
          "pages.page.system_settings.view",
          "dashboard.read",
          "dashboard.export",
          "customers.read",
          "customers.export",
          "customers.bulk_campaign",
          "customers.send_email",
          "campaigns.read",
          "campaigns.create",
          "campaigns.update",
          "campaigns.delete",
          "campaigns.export",
          "users.read",
          "users.create",
          "users.update",
          "users.delete",
          "roles.read",
          "roles.create",
          "roles.update",
          "settings.read",
          "settings.update",
          "audit_trails.read",
          "segmentation.run",
          "chatbot.use",
          "pages.page.opportunity_alerts.view",
          "pages.page.revenue.view",
          "opportunity_alerts.read",
          "opportunity_alerts.update",
          "opportunity_alerts.send",
          "revenue.read",
          "revenue.create",
          "revenue.export",
          "pages.page.reports.view",
          "pages.page.credit_portfolio.view",
          "reports.read",
          "reports.export",
          "credit_portfolio.read",
          "credit_portfolio.export",
          "credit_portfolio.reach_out"
        ],
        "is_active": true
      }
    ]
  },
  "customers_detail": [
    {
      "customer_id": "WLK1750100043",
      "name": "Sarah Amoah",
      "age": 25,
      "gender": "Female",
      "occupation": "Trader",
      "segment": "SMALL_BUSINESS",
      "total_balance": 20500.9,
      "average_monthly_balance": 18209.1,
      "risk_score": 0.2435,
      "engagement_score": 0.5268,
      "transaction_count": 38,
      "last_updated": "2026-08-21T17:50:54",
      "ai_analysis": {
        "products": [
          "Savings Account",
          "Mobile Banking"
        ],
        "key_insights": [
          "Sarah holds ₵20,501 across 2 product(s).",
          "Engagement score 0.53; risk score 0.24.",
          "Profile aligns with Small Business criteria."
        ],
        "risk_indicators": [
          "None material"
        ],
        "confidence_score": 0.73,
        "growth_potential": "medium",
        "next_best_action": {
          "action": "Review business cash-flow needs",
          "customer_message": "Hi Sarah, Review business cash-flow needs. Reply YES to continue."
        },
        "product_holdings": [
          "Savings Account",
          "Mobile Banking"
        ],
        "credit_assessment": {
          "rationale": "Income stability and small business holdings support business loan.",
          "creditworthy": true,
          "risk_factors": [
            "Market concentration"
          ],
          "recommended_limit": "₵20,000 - ₵150,000",
          "positive_indicators": [
            "Regular inflows",
            "Active digital usage"
          ],
          "recommended_facility": "business_loan",
          "credit_score_estimate": "medium"
        },
        "retention_actions": [
          {
            "action": "Dedicated business advisor",
            "customer_message": "Hi Sarah, we value you — dedicated business advisor. Reply HELP for support."
          },
          {
            "action": "Fee waivers",
            "customer_message": "Hi Sarah, we value you — fee waivers. Reply HELP for support."
          }
        ],
        "engagement_strategy": "Business banking specialist support",
        "recommended_segment": "SMALL_BUSINESS",
        "cross_sell_opportunities": [
          {
            "opportunity": "Business Loans",
            "customer_message": "Hi Sarah, explore business loans with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "POS Solutions",
            "customer_message": "Hi Sarah, explore pos solutions with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Payroll Services",
            "customer_message": "Hi Sarah, explore payroll services with us. Reply YES or visit a branch."
          }
        ]
      },
      "phone_number": "233548617798",
      "email": "chuksdeveloper@gmail.com",
      "income_range": "₵15,000 - ₵50,000 GHS",
      "location": "East Legon, Accra",
      "accounts": [
        {
          "account_number": "WLK1750100043-A01",
          "account_type": "Savings Account",
          "account_status": "Active",
          "current_balance": 8541.18,
          "available_balance": 7932.5,
          "currency": "GHS",
          "is_primary": true
        },
        {
          "account_number": "WLK1750100043-A02",
          "account_type": "Mobile Banking",
          "account_status": "Active",
          "current_balance": 11835.6,
          "available_balance": 11395.0,
          "currency": "GHS",
          "is_primary": false
        }
      ],
      "transactions": [
        {
          "transaction_id": "WLK1750100043-A01-T001-89ae0f",
          "date": "2026-08-10T02:50:54",
          "amount": 800.76,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 11051.2
        },
        {
          "transaction_id": "WLK1750100043-A01-T002-1a0a91",
          "date": "2026-06-30T01:50:54",
          "amount": 1105.34,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 12156.5
        },
        {
          "transaction_id": "WLK1750100043-A01-T003-6f18fb",
          "date": "2026-08-03T02:50:54",
          "amount": 1552.17,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 13708.7
        },
        {
          "transaction_id": "WLK1750100043-A01-T004-a9dfaa",
          "date": "2026-07-26T00:50:54",
          "amount": -985.96,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "ATM",
          "balance_after": 12722.7
        },
        {
          "transaction_id": "WLK1750100043-A01-T005-997060",
          "date": "2026-07-09T23:50:54",
          "amount": -161.86,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Mobile Banking",
          "balance_after": 12560.9
        },
        {
          "transaction_id": "WLK1750100043-A01-T006-851a24",
          "date": "2026-07-07T11:50:54",
          "amount": 1350.06,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 13910.9
        },
        {
          "transaction_id": "WLK1750100043-A01-T007-173b3f",
          "date": "2026-07-12T12:50:54",
          "amount": -702.16,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "POS",
          "balance_after": 13208.8
        },
        {
          "transaction_id": "WLK1750100043-A01-T008-30817c",
          "date": "2026-07-22T11:50:54",
          "amount": 1253.9,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 14462.7
        },
        {
          "transaction_id": "WLK1750100043-A02-T001-ab3d42",
          "date": "2026-06-02T13:50:54",
          "amount": 242.5,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 10492.9
        },
        {
          "transaction_id": "WLK1750100043-A02-T002-d96eec",
          "date": "2026-08-06T08:50:54",
          "amount": -47.19,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "POS",
          "balance_after": 10445.7
        },
        {
          "transaction_id": "WLK1750100043-A02-T003-a87895",
          "date": "2026-06-13T11:50:54",
          "amount": 65.04,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 10510.8
        },
        {
          "transaction_id": "WLK1750100043-A02-T004-d5c4fe",
          "date": "2026-06-11T02:50:54",
          "amount": -1101.92,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Mobile Banking",
          "balance_after": 9408.86
        },
        {
          "transaction_id": "WLK1750100043-A02-T005-3243f6",
          "date": "2026-06-14T16:50:54",
          "amount": -765.68,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "ATM",
          "balance_after": 8643.18
        },
        {
          "transaction_id": "WLK1750100043-A02-T006-1b95a2",
          "date": "2026-05-22T22:50:54",
          "amount": 139.02,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 8782.2
        },
        {
          "transaction_id": "WLK1750100043-A02-T007-204620",
          "date": "2026-08-19T15:50:54",
          "amount": -125.11,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Branch",
          "balance_after": 8657.09
        },
        {
          "transaction_id": "WLK1750100043-A02-T008-0abb57",
          "date": "2026-07-05T14:50:54",
          "amount": -1332.7,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Branch",
          "balance_after": 7324.39
        }
      ]
    },
    {
      "customer_id": "WLK1750100049",
      "name": "Yaw Darko",
      "age": 37,
      "gender": "Male",
      "occupation": "Bank Clerk",
      "segment": "PREMIUM_WEALTH",
      "total_balance": 743516.0,
      "average_monthly_balance": 539594.0,
      "risk_score": 0.6497,
      "engagement_score": 0.509,
      "transaction_count": 54,
      "last_updated": "2026-08-21T17:50:54",
      "ai_analysis": {
        "products": [
          "Savings Account",
          "Mobile Banking",
          "Current Account"
        ],
        "key_insights": [
          "Yaw holds ₵743,516 across 3 product(s).",
          "Engagement score 0.51; risk score 0.65.",
          "Profile aligns with Premium Wealth criteria."
        ],
        "risk_indicators": [
          "None material"
        ],
        "confidence_score": 0.79,
        "growth_potential": "high",
        "next_best_action": {
          "action": "Schedule wealth management consultation",
          "customer_message": "Hi Yaw, Schedule wealth management consultation. Reply YES to continue."
        },
        "product_holdings": [
          "Savings Account",
          "Mobile Banking",
          "Current Account"
        ],
        "credit_assessment": {
          "rationale": "Income stability and premium wealth holdings support overdraft.",
          "creditworthy": true,
          "risk_factors": [],
          "recommended_limit": "₵20,000 - ₵100,000",
          "positive_indicators": [
            "Regular inflows",
            "Active digital usage"
          ],
          "recommended_facility": "overdraft",
          "credit_score_estimate": "high"
        },
        "retention_actions": [
          {
            "action": "Exclusive events",
            "customer_message": "Hi Yaw, we value you — exclusive events. Reply HELP for support."
          },
          {
            "action": "Priority support",
            "customer_message": "Hi Yaw, we value you — priority support. Reply HELP for support."
          },
          {
            "action": "Customized solutions",
            "customer_message": "Hi Yaw, we value you — customized solutions. Reply HELP for support."
          }
        ],
        "engagement_strategy": "Dedicated relationship manager, premium services",
        "recommended_segment": "PREMIUM_WEALTH",
        "cross_sell_opportunities": [
          {
            "opportunity": "Wealth Management",
            "customer_message": "Hi Yaw, explore wealth management with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Investment Advisory",
            "customer_message": "Hi Yaw, explore investment advisory with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Private Banking",
            "customer_message": "Hi Yaw, explore private banking with us. Reply YES or visit a branch."
          }
        ]
      },
      "phone_number": "233554694531",
      "email": "chuksdeveloper@gmail.com",
      "income_range": "₵2,000 - ₵5,000 GHS",
      "location": "Tema",
      "accounts": [
        {
          "account_number": "WLK1750100049-A01",
          "account_type": "Savings Account",
          "account_status": "Active",
          "current_balance": 221945.0,
          "available_balance": 245279.0,
          "currency": "GHS",
          "is_primary": true
        },
        {
          "account_number": "WLK1750100049-A02",
          "account_type": "Mobile Banking",
          "account_status": "Active",
          "current_balance": 252487.0,
          "available_balance": 206695.0,
          "currency": "GHS",
          "is_primary": false
        },
        {
          "account_number": "WLK1750100049-A03",
          "account_type": "Current Account",
          "account_status": "Active",
          "current_balance": 184156.0,
          "available_balance": 151039.0,
          "currency": "GHS",
          "is_primary": false
        }
      ],
      "transactions": [
        {
          "transaction_id": "WLK1750100049-A01-T001-ada814",
          "date": "2026-06-29T23:50:54",
          "amount": -1589.01,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "ATM",
          "balance_after": 246250.0
        },
        {
          "transaction_id": "WLK1750100049-A01-T002-f84bd6",
          "date": "2026-06-20T05:50:54",
          "amount": -1249.33,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Branch",
          "balance_after": 245000.0
        },
        {
          "transaction_id": "WLK1750100049-A01-T003-a9f775",
          "date": "2026-06-26T04:50:54",
          "amount": -432.31,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "ATM",
          "balance_after": 244568.0
        },
        {
          "transaction_id": "WLK1750100049-A01-T004-193a44",
          "date": "2026-06-08T02:50:54",
          "amount": -362.71,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "POS",
          "balance_after": 244205.0
        },
        {
          "transaction_id": "WLK1750100049-A01-T005-508df4",
          "date": "2026-06-25T12:50:54",
          "amount": 664.25,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 244870.0
        },
        {
          "transaction_id": "WLK1750100049-A01-T006-a025f9",
          "date": "2026-08-06T22:50:54",
          "amount": 1912.65,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 246782.0
        },
        {
          "transaction_id": "WLK1750100049-A01-T007-36f1de",
          "date": "2026-08-13T15:50:54",
          "amount": -668.27,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "ATM",
          "balance_after": 246114.0
        },
        {
          "transaction_id": "WLK1750100049-A01-T008-5e576b",
          "date": "2026-05-31T17:50:54",
          "amount": -1776.78,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "ATM",
          "balance_after": 244337.0
        },
        {
          "transaction_id": "WLK1750100049-A02-T001-af7859",
          "date": "2026-05-25T07:50:54",
          "amount": 1164.3,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 249003.0
        },
        {
          "transaction_id": "WLK1750100049-A02-T002-256b2f",
          "date": "2026-07-13T04:50:54",
          "amount": -1149.15,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "Mobile Banking",
          "balance_after": 247854.0
        },
        {
          "transaction_id": "WLK1750100049-A02-T003-b7f827",
          "date": "2026-06-16T05:50:54",
          "amount": -1173.8,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Branch",
          "balance_after": 246680.0
        },
        {
          "transaction_id": "WLK1750100049-A02-T004-6349a0",
          "date": "2026-08-14T17:50:54",
          "amount": -143.57,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "Mobile Banking",
          "balance_after": 246537.0
        },
        {
          "transaction_id": "WLK1750100049-A02-T005-b3f0ff",
          "date": "2026-07-21T04:50:54",
          "amount": -1725.27,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Branch",
          "balance_after": 244811.0
        },
        {
          "transaction_id": "WLK1750100049-A02-T006-a1335c",
          "date": "2026-06-26T00:50:54",
          "amount": 1429.31,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 246241.0
        },
        {
          "transaction_id": "WLK1750100049-A02-T007-8c2095",
          "date": "2026-07-27T00:50:54",
          "amount": -1331.73,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Branch",
          "balance_after": 244909.0
        },
        {
          "transaction_id": "WLK1750100049-A02-T008-3c81df",
          "date": "2026-05-27T13:50:54",
          "amount": 1683.13,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 246592.0
        },
        {
          "transaction_id": "WLK1750100049-A03-T001-297890",
          "date": "2026-06-26T13:50:54",
          "amount": -1448.25,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "ATM",
          "balance_after": 246391.0
        },
        {
          "transaction_id": "WLK1750100049-A03-T002-992f89",
          "date": "2026-06-22T22:50:54",
          "amount": 1291.64,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 247682.0
        },
        {
          "transaction_id": "WLK1750100049-A03-T003-a1beec",
          "date": "2026-06-27T00:50:54",
          "amount": -1254.03,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "POS",
          "balance_after": 246428.0
        },
        {
          "transaction_id": "WLK1750100049-A03-T004-9a95cc",
          "date": "2026-06-04T17:50:54",
          "amount": 723.51,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 247152.0
        },
        {
          "transaction_id": "WLK1750100049-A03-T005-c41ac1",
          "date": "2026-06-17T09:50:54",
          "amount": 1696.67,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 248848.0
        },
        {
          "transaction_id": "WLK1750100049-A03-T006-a75b09",
          "date": "2026-08-16T16:50:54",
          "amount": -1854.6,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Branch",
          "balance_after": 246994.0
        },
        {
          "transaction_id": "WLK1750100049-A03-T007-93ecb5",
          "date": "2026-05-24T15:50:54",
          "amount": -244.07,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Branch",
          "balance_after": 246750.0
        },
        {
          "transaction_id": "WLK1750100049-A03-T008-f815a5",
          "date": "2026-06-03T15:50:54",
          "amount": 940.57,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 247690.0
        }
      ]
    },
    {
      "customer_id": "WLK1750100048",
      "name": "Mary Boateng",
      "age": 32,
      "gender": "Female",
      "occupation": "Accountant",
      "segment": "HIGH_VALUE",
      "total_balance": 447546.0,
      "average_monthly_balance": 424354.0,
      "risk_score": 0.4404,
      "engagement_score": 0.6993,
      "transaction_count": 15,
      "last_updated": "2026-08-21T17:50:54",
      "ai_analysis": {
        "products": [
          "Savings Account",
          "Mobile Banking"
        ],
        "key_insights": [
          "Mary holds ₵447,546 across 2 product(s).",
          "Engagement score 0.70; risk score 0.44.",
          "Profile aligns with High Value criteria."
        ],
        "risk_indicators": [
          "None material"
        ],
        "confidence_score": 0.91,
        "growth_potential": "high",
        "next_best_action": {
          "action": "Offer investment consultation",
          "customer_message": "Hi Mary, Offer investment consultation. Reply YES to continue."
        },
        "product_holdings": [
          "Savings Account",
          "Mobile Banking"
        ],
        "credit_assessment": {
          "rationale": "Income stability and high value holdings support personal loan.",
          "creditworthy": true,
          "risk_factors": [],
          "recommended_limit": "₵50,000 - ₵200,000",
          "positive_indicators": [
            "Regular inflows",
            "Active digital usage"
          ],
          "recommended_facility": "personal_loan",
          "credit_score_estimate": "high"
        },
        "retention_actions": [
          {
            "action": "Preferential rates",
            "customer_message": "Hi Mary, we value you — preferential rates. Reply HELP for support."
          },
          {
            "action": "Priority support",
            "customer_message": "Hi Mary, we value you — priority support. Reply HELP for support."
          }
        ],
        "engagement_strategy": "Priority banking, regular reviews",
        "recommended_segment": "HIGH_VALUE",
        "cross_sell_opportunities": [
          {
            "opportunity": "Investment Products",
            "customer_message": "Hi Mary, explore investment products with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Insurance",
            "customer_message": "Hi Mary, explore insurance with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Premium Cards",
            "customer_message": "Hi Mary, explore premium cards with us. Reply YES or visit a branch."
          }
        ]
      },
      "phone_number": "233249430715",
      "email": "kylechukwuma@gmail.com",
      "income_range": "Above ₵100,000 GHS",
      "location": "Madina, Accra",
      "accounts": [
        {
          "account_number": "WLK1750100048-A01",
          "account_type": "Savings Account",
          "account_status": "Active",
          "current_balance": 218317.0,
          "available_balance": 230085.0,
          "currency": "GHS",
          "is_primary": true
        },
        {
          "account_number": "WLK1750100048-A02",
          "account_type": "Mobile Banking",
          "account_status": "Active",
          "current_balance": 219844.0,
          "available_balance": 224958.0,
          "currency": "GHS",
          "is_primary": false
        }
      ],
      "transactions": [
        {
          "transaction_id": "WLK1750100048-A01-T001-2030c3",
          "date": "2026-08-14T22:50:54",
          "amount": 1054.24,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 224827.0
        },
        {
          "transaction_id": "WLK1750100048-A01-T002-51f838",
          "date": "2026-08-07T01:50:54",
          "amount": -679.91,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "Mobile Banking",
          "balance_after": 224147.0
        },
        {
          "transaction_id": "WLK1750100048-A01-T003-6b2504",
          "date": "2026-07-25T07:50:54",
          "amount": 1163.57,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 225311.0
        },
        {
          "transaction_id": "WLK1750100048-A01-T004-ccb7ee",
          "date": "2026-07-11T03:50:54",
          "amount": 401.24,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 225712.0
        },
        {
          "transaction_id": "WLK1750100048-A01-T005-0ad85c",
          "date": "2026-08-06T17:50:54",
          "amount": 559.86,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 226272.0
        },
        {
          "transaction_id": "WLK1750100048-A01-T006-86cd7d",
          "date": "2026-07-11T09:50:54",
          "amount": 429.02,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 226701.0
        },
        {
          "transaction_id": "WLK1750100048-A01-T007-9ae0a4",
          "date": "2026-06-08T10:50:54",
          "amount": -1887.69,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Mobile Banking",
          "balance_after": 224813.0
        },
        {
          "transaction_id": "WLK1750100048-A01-T008-163f49",
          "date": "2026-06-12T03:50:54",
          "amount": -636.53,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "ATM",
          "balance_after": 224177.0
        },
        {
          "transaction_id": "WLK1750100048-A02-T001-5e3d20",
          "date": "2026-06-27T05:50:54",
          "amount": 229.74,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 224003.0
        },
        {
          "transaction_id": "WLK1750100048-A02-T002-af1b3b",
          "date": "2026-06-01T03:50:54",
          "amount": -1415.26,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "Branch",
          "balance_after": 222587.0
        },
        {
          "transaction_id": "WLK1750100048-A02-T003-51a5b9",
          "date": "2026-05-27T00:50:54",
          "amount": 678.02,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 223265.0
        },
        {
          "transaction_id": "WLK1750100048-A02-T004-38f5bd",
          "date": "2026-06-21T23:50:54",
          "amount": -1947.89,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Mobile Banking",
          "balance_after": 221317.0
        },
        {
          "transaction_id": "WLK1750100048-A02-T005-2821f2",
          "date": "2026-06-22T14:50:54",
          "amount": -1629.45,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Branch",
          "balance_after": 219688.0
        },
        {
          "transaction_id": "WLK1750100048-A02-T006-33271b",
          "date": "2026-06-22T02:50:54",
          "amount": -1375.27,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "ATM",
          "balance_after": 218313.0
        },
        {
          "transaction_id": "WLK1750100048-A02-T007-e1712e",
          "date": "2026-07-18T06:50:54",
          "amount": -304.57,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "ATM",
          "balance_after": 218008.0
        },
        {
          "transaction_id": "WLK1750100048-A02-T008-e6fd7c",
          "date": "2026-07-10T03:50:54",
          "amount": -1405.24,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Mobile Banking",
          "balance_after": 216603.0
        }
      ]
    },
    {
      "customer_id": "WLK1750100054",
      "name": "Patricia Gyasi",
      "age": 29,
      "gender": "Female",
      "occupation": "Entrepreneur",
      "segment": "SMALL_BUSINESS",
      "total_balance": 20458.4,
      "average_monthly_balance": 17619.1,
      "risk_score": 0.6925,
      "engagement_score": 0.7828,
      "transaction_count": 20,
      "last_updated": "2026-08-21T17:50:54",
      "ai_analysis": {
        "products": [
          "Savings Account",
          "Mobile Banking",
          "Investment Account",
          "Business Account"
        ],
        "key_insights": [
          "Patricia holds ₵20,458 across 4 product(s).",
          "Engagement score 0.78; risk score 0.69.",
          "Profile aligns with Small Business criteria."
        ],
        "risk_indicators": [
          "None material"
        ],
        "confidence_score": 0.84,
        "growth_potential": "medium",
        "next_best_action": {
          "action": "Review business cash-flow needs",
          "customer_message": "Hi Patricia, Review business cash-flow needs. Reply YES to continue."
        },
        "product_holdings": [
          "Savings Account",
          "Mobile Banking",
          "Investment Account",
          "Business Account"
        ],
        "credit_assessment": {
          "rationale": "Income stability and small business holdings support business loan.",
          "creditworthy": true,
          "risk_factors": [
            "Market concentration"
          ],
          "recommended_limit": "₵20,000 - ₵150,000",
          "positive_indicators": [
            "Regular inflows",
            "Active digital usage"
          ],
          "recommended_facility": "business_loan",
          "credit_score_estimate": "medium"
        },
        "retention_actions": [
          {
            "action": "Dedicated business advisor",
            "customer_message": "Hi Patricia, we value you — dedicated business advisor. Reply HELP for support."
          },
          {
            "action": "Fee waivers",
            "customer_message": "Hi Patricia, we value you — fee waivers. Reply HELP for support."
          }
        ],
        "engagement_strategy": "Business banking specialist support",
        "recommended_segment": "SMALL_BUSINESS",
        "cross_sell_opportunities": [
          {
            "opportunity": "Business Loans",
            "customer_message": "Hi Patricia, explore business loans with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "POS Solutions",
            "customer_message": "Hi Patricia, explore pos solutions with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Payroll Services",
            "customer_message": "Hi Patricia, explore payroll services with us. Reply YES or visit a branch."
          }
        ]
      },
      "phone_number": "233209366367",
      "email": "kylechukwuma@gmail.com",
      "income_range": "Below ₵2,000 GHS",
      "location": "Takoradi",
      "accounts": [
        {
          "account_number": "WLK1750100054-A01",
          "account_type": "Savings Account",
          "account_status": "Active",
          "current_balance": 4351.66,
          "available_balance": 4961.64,
          "currency": "GHS",
          "is_primary": true
        },
        {
          "account_number": "WLK1750100054-A02",
          "account_type": "Mobile Banking",
          "account_status": "Active",
          "current_balance": 4581.05,
          "available_balance": 3369.7,
          "currency": "GHS",
          "is_primary": false
        },
        {
          "account_number": "WLK1750100054-A03",
          "account_type": "Investment Account",
          "account_status": "Active",
          "current_balance": 5519.75,
          "available_balance": 6062.52,
          "currency": "GHS",
          "is_primary": false
        },
        {
          "account_number": "WLK1750100054-A04",
          "account_type": "Business Account",
          "account_status": "Active",
          "current_balance": 6504.02,
          "available_balance": 5847.77,
          "currency": "GHS",
          "is_primary": false
        }
      ],
      "transactions": [
        {
          "transaction_id": "WLK1750100054-A01-T001-f1b972",
          "date": "2026-08-07T16:50:54",
          "amount": -957.18,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "ATM",
          "balance_after": 4157.43
        },
        {
          "transaction_id": "WLK1750100054-A01-T002-f996d3",
          "date": "2026-08-06T15:50:54",
          "amount": -847.06,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "POS",
          "balance_after": 3310.37
        },
        {
          "transaction_id": "WLK1750100054-A01-T003-e6c739",
          "date": "2026-07-26T07:50:54",
          "amount": 644.07,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 3954.44
        },
        {
          "transaction_id": "WLK1750100054-A02-T001-22fc41",
          "date": "2026-07-03T10:50:54",
          "amount": -796.79,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "POS",
          "balance_after": 4317.82
        },
        {
          "transaction_id": "WLK1750100054-A02-T002-106595",
          "date": "2026-06-26T13:50:54",
          "amount": 636.06,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 4953.88
        },
        {
          "transaction_id": "WLK1750100054-A02-T003-db2091",
          "date": "2026-07-02T06:50:54",
          "amount": -996.99,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "POS",
          "balance_after": 3956.89
        },
        {
          "transaction_id": "WLK1750100054-A03-T001-bafa2e",
          "date": "2026-05-23T23:50:54",
          "amount": 232.91,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 5347.52
        },
        {
          "transaction_id": "WLK1750100054-A03-T002-f6e4b2",
          "date": "2026-06-22T03:50:54",
          "amount": 315.45,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 5662.97
        },
        {
          "transaction_id": "WLK1750100054-A03-T003-c28d75",
          "date": "2026-07-13T22:50:54",
          "amount": 200.26,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 5863.23
        },
        {
          "transaction_id": "WLK1750100054-A04-T001-b27340",
          "date": "2026-07-22T15:50:54",
          "amount": -628.72,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "POS",
          "balance_after": 4485.89
        },
        {
          "transaction_id": "WLK1750100054-A04-T002-c4cf00",
          "date": "2026-06-21T03:50:54",
          "amount": 927.83,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 5413.72
        },
        {
          "transaction_id": "WLK1750100054-A04-T003-1b619e",
          "date": "2026-07-20T10:50:54",
          "amount": 35.27,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 5448.99
        }
      ]
    },
    {
      "customer_id": "WLK1750100055",
      "name": "Ama Adjei",
      "age": 34,
      "gender": "Female",
      "occupation": "Entrepreneur",
      "segment": "SMALL_BUSINESS",
      "total_balance": 29021.6,
      "average_monthly_balance": 20605.7,
      "risk_score": 0.7151,
      "engagement_score": 0.8456,
      "transaction_count": 32,
      "last_updated": "2026-08-21T17:50:54",
      "ai_analysis": {
        "products": [
          "Savings Account",
          "Mobile Banking",
          "Current Account"
        ],
        "key_insights": [
          "Ama holds ₵29,022 across 3 product(s).",
          "Engagement score 0.85; risk score 0.72.",
          "Profile aligns with Small Business criteria."
        ],
        "risk_indicators": [
          "None material"
        ],
        "confidence_score": 0.94,
        "growth_potential": "medium",
        "next_best_action": {
          "action": "Review business cash-flow needs",
          "customer_message": "Hi Ama, Review business cash-flow needs. Reply YES to continue."
        },
        "product_holdings": [
          "Savings Account",
          "Mobile Banking",
          "Current Account"
        ],
        "credit_assessment": {
          "rationale": "Small Business profile does not currently meet credit criteria.",
          "creditworthy": false,
          "risk_factors": [
            "Limited repayment history"
          ],
          "recommended_limit": null,
          "positive_indicators": [
            "Existing deposit relationship"
          ],
          "recommended_facility": null,
          "credit_score_estimate": "medium"
        },
        "retention_actions": [
          {
            "action": "Dedicated business advisor",
            "customer_message": "Hi Ama, we value you — dedicated business advisor. Reply HELP for support."
          },
          {
            "action": "Fee waivers",
            "customer_message": "Hi Ama, we value you — fee waivers. Reply HELP for support."
          }
        ],
        "engagement_strategy": "Business banking specialist support",
        "recommended_segment": "SMALL_BUSINESS",
        "cross_sell_opportunities": [
          {
            "opportunity": "Business Loans",
            "customer_message": "Hi Ama, explore business loans with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "POS Solutions",
            "customer_message": "Hi Ama, explore pos solutions with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Payroll Services",
            "customer_message": "Hi Ama, explore payroll services with us. Reply YES or visit a branch."
          }
        ]
      },
      "phone_number": "233548617798",
      "email": "chuksdeveloper@gmail.com",
      "income_range": "₵15,000 - ₵50,000 GHS",
      "location": "Tema",
      "accounts": [
        {
          "account_number": "WLK1750100055-A01",
          "account_type": "Savings Account",
          "account_status": "Active",
          "current_balance": 6966.84,
          "available_balance": 8887.11,
          "currency": "GHS",
          "is_primary": true
        },
        {
          "account_number": "WLK1750100055-A02",
          "account_type": "Mobile Banking",
          "account_status": "Active",
          "current_balance": 11884.4,
          "available_balance": 10074.9,
          "currency": "GHS",
          "is_primary": false
        },
        {
          "account_number": "WLK1750100055-A03",
          "account_type": "Current Account",
          "account_status": "Active",
          "current_balance": 7237.03,
          "available_balance": 11016.3,
          "currency": "GHS",
          "is_primary": false
        }
      ],
      "transactions": [
        {
          "transaction_id": "WLK1750100055-A01-T001-a35e68",
          "date": "2026-08-08T03:50:54",
          "amount": -961.65,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "ATM",
          "balance_after": 8712.21
        },
        {
          "transaction_id": "WLK1750100055-A01-T002-c39d07",
          "date": "2026-05-24T04:50:54",
          "amount": -183.26,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "ATM",
          "balance_after": 8528.95
        },
        {
          "transaction_id": "WLK1750100055-A01-T003-a51ddc",
          "date": "2026-08-09T17:50:54",
          "amount": 724.19,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 9253.14
        },
        {
          "transaction_id": "WLK1750100055-A01-T004-674812",
          "date": "2026-06-22T23:50:54",
          "amount": 1334.5,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 10587.6
        },
        {
          "transaction_id": "WLK1750100055-A01-T005-b3dd60",
          "date": "2026-08-03T05:50:54",
          "amount": -1938.44,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Branch",
          "balance_after": 8649.2
        },
        {
          "transaction_id": "WLK1750100055-A01-T006-e68476",
          "date": "2026-08-19T21:50:54",
          "amount": -1251.54,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "POS",
          "balance_after": 7397.66
        },
        {
          "transaction_id": "WLK1750100055-A01-T007-a74864",
          "date": "2026-08-16T08:50:54",
          "amount": 1775.39,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 9173.05
        },
        {
          "transaction_id": "WLK1750100055-A01-T008-98fcdd",
          "date": "2026-06-03T00:50:54",
          "amount": -1499.25,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Mobile Banking",
          "balance_after": 7673.8
        },
        {
          "transaction_id": "WLK1750100055-A02-T001-413a06",
          "date": "2026-05-26T06:50:54",
          "amount": -127.69,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Mobile Banking",
          "balance_after": 9546.17
        },
        {
          "transaction_id": "WLK1750100055-A02-T002-9912e7",
          "date": "2026-08-15T06:50:54",
          "amount": -772.42,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "ATM",
          "balance_after": 8773.75
        },
        {
          "transaction_id": "WLK1750100055-A02-T003-643cee",
          "date": "2026-06-10T11:50:54",
          "amount": -1293.51,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Branch",
          "balance_after": 7480.24
        },
        {
          "transaction_id": "WLK1750100055-A02-T004-8bd25d",
          "date": "2026-06-19T23:50:54",
          "amount": 488.86,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 7969.1
        },
        {
          "transaction_id": "WLK1750100055-A02-T005-1ed6ab",
          "date": "2026-07-10T06:50:54",
          "amount": -1499.81,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "POS",
          "balance_after": 6469.29
        },
        {
          "transaction_id": "WLK1750100055-A02-T006-3ea82d",
          "date": "2026-07-07T03:50:54",
          "amount": 564.53,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 7033.82
        },
        {
          "transaction_id": "WLK1750100055-A02-T007-4f95d2",
          "date": "2026-06-21T00:50:54",
          "amount": -1005.23,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "POS",
          "balance_after": 6028.59
        },
        {
          "transaction_id": "WLK1750100055-A02-T008-28ec88",
          "date": "2026-05-24T15:50:54",
          "amount": -1240.03,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "POS",
          "balance_after": 4788.56
        },
        {
          "transaction_id": "WLK1750100055-A03-T001-f56675",
          "date": "2026-08-07T12:50:54",
          "amount": -586.59,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "Mobile Banking",
          "balance_after": 9087.27
        },
        {
          "transaction_id": "WLK1750100055-A03-T002-586b3e",
          "date": "2026-07-25T01:50:54",
          "amount": -1389.61,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Branch",
          "balance_after": 7697.66
        },
        {
          "transaction_id": "WLK1750100055-A03-T003-18215b",
          "date": "2026-08-04T02:50:54",
          "amount": -838.4,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "POS",
          "balance_after": 6859.26
        },
        {
          "transaction_id": "WLK1750100055-A03-T004-705b9e",
          "date": "2026-07-14T11:50:54",
          "amount": -892.08,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Mobile Banking",
          "balance_after": 5967.18
        },
        {
          "transaction_id": "WLK1750100055-A03-T005-151b8f",
          "date": "2026-06-14T21:50:54",
          "amount": 1732.88,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 7700.06
        },
        {
          "transaction_id": "WLK1750100055-A03-T006-598922",
          "date": "2026-05-30T07:50:54",
          "amount": 828.88,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 8528.94
        },
        {
          "transaction_id": "WLK1750100055-A03-T007-b6dfa3",
          "date": "2026-06-11T03:50:54",
          "amount": -1185.81,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Branch",
          "balance_after": 7343.13
        },
        {
          "transaction_id": "WLK1750100055-A03-T008-4d104f",
          "date": "2026-07-12T12:50:54",
          "amount": -1134.52,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "ATM",
          "balance_after": 6208.61
        }
      ]
    },
    {
      "customer_id": "WLK1750100056",
      "name": "Akosua Appiah",
      "age": 41,
      "gender": "Female",
      "occupation": "Entrepreneur",
      "segment": "SMALL_BUSINESS",
      "total_balance": 116575.0,
      "average_monthly_balance": 108535.0,
      "risk_score": 0.1308,
      "engagement_score": 0.7273,
      "transaction_count": 47,
      "last_updated": "2026-08-21T17:50:54",
      "ai_analysis": {
        "products": [
          "Savings Account",
          "Mobile Banking",
          "Current Account",
          "Business Account"
        ],
        "key_insights": [
          "Akosua holds ₵116,575 across 4 product(s).",
          "Engagement score 0.73; risk score 0.13.",
          "Profile aligns with Small Business criteria."
        ],
        "risk_indicators": [
          "None material"
        ],
        "confidence_score": 0.8,
        "growth_potential": "medium",
        "next_best_action": {
          "action": "Review business cash-flow needs",
          "customer_message": "Hi Akosua, Review business cash-flow needs. Reply YES to continue."
        },
        "product_holdings": [
          "Savings Account",
          "Mobile Banking",
          "Current Account",
          "Business Account"
        ],
        "credit_assessment": {
          "rationale": "Income stability and small business holdings support business loan.",
          "creditworthy": true,
          "risk_factors": [
            "Market concentration"
          ],
          "recommended_limit": "₵20,000 - ₵150,000",
          "positive_indicators": [
            "Regular inflows",
            "Active digital usage"
          ],
          "recommended_facility": "business_loan",
          "credit_score_estimate": "medium"
        },
        "retention_actions": [
          {
            "action": "Dedicated business advisor",
            "customer_message": "Hi Akosua, we value you — dedicated business advisor. Reply HELP for support."
          },
          {
            "action": "Fee waivers",
            "customer_message": "Hi Akosua, we value you — fee waivers. Reply HELP for support."
          }
        ],
        "engagement_strategy": "Business banking specialist support",
        "recommended_segment": "SMALL_BUSINESS",
        "cross_sell_opportunities": [
          {
            "opportunity": "Business Loans",
            "customer_message": "Hi Akosua, explore business loans with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "POS Solutions",
            "customer_message": "Hi Akosua, explore pos solutions with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Payroll Services",
            "customer_message": "Hi Akosua, explore payroll services with us. Reply YES or visit a branch."
          }
        ]
      },
      "phone_number": "233249430715",
      "email": "donchukz01@gmail.com",
      "income_range": "₵2,000 - ₵5,000 GHS",
      "location": "Tamale",
      "accounts": [
        {
          "account_number": "WLK1750100056-A01",
          "account_type": "Savings Account",
          "account_status": "Active",
          "current_balance": 23588.0,
          "available_balance": 20552.6,
          "currency": "GHS",
          "is_primary": true
        },
        {
          "account_number": "WLK1750100056-A02",
          "account_type": "Mobile Banking",
          "account_status": "Active",
          "current_balance": 22838.6,
          "available_balance": 27120.4,
          "currency": "GHS",
          "is_primary": false
        },
        {
          "account_number": "WLK1750100056-A03",
          "account_type": "Current Account",
          "account_status": "Active",
          "current_balance": 33141.1,
          "available_balance": 24728.9,
          "currency": "GHS",
          "is_primary": false
        },
        {
          "account_number": "WLK1750100056-A04",
          "account_type": "Business Account",
          "account_status": "Active",
          "current_balance": 33772.6,
          "available_balance": 26107.8,
          "currency": "GHS",
          "is_primary": false
        }
      ],
      "transactions": [
        {
          "transaction_id": "WLK1750100056-A01-T001-6a29db",
          "date": "2026-08-01T12:50:54",
          "amount": -1422.06,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Mobile Banking",
          "balance_after": 27721.6
        },
        {
          "transaction_id": "WLK1750100056-A01-T002-a116bc",
          "date": "2026-08-04T03:50:54",
          "amount": 101.48,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 27823.1
        },
        {
          "transaction_id": "WLK1750100056-A01-T003-bd90a0",
          "date": "2026-08-16T07:50:54",
          "amount": 751.95,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 28575.1
        },
        {
          "transaction_id": "WLK1750100056-A01-T004-202fba",
          "date": "2026-07-31T00:50:54",
          "amount": 312.93,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 28888.0
        },
        {
          "transaction_id": "WLK1750100056-A01-T005-d3a675",
          "date": "2026-06-18T13:50:54",
          "amount": 260.55,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 29148.5
        },
        {
          "transaction_id": "WLK1750100056-A01-T006-363696",
          "date": "2026-06-12T01:50:54",
          "amount": 1857.07,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 31005.6
        },
        {
          "transaction_id": "WLK1750100056-A01-T007-c743ba",
          "date": "2026-07-13T23:50:54",
          "amount": 1301.54,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 32307.1
        },
        {
          "transaction_id": "WLK1750100056-A01-T008-107dd9",
          "date": "2026-06-25T07:50:54",
          "amount": -1603.16,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "POS",
          "balance_after": 30704.0
        },
        {
          "transaction_id": "WLK1750100056-A02-T001-2e32c8",
          "date": "2026-07-23T03:50:54",
          "amount": 630.0,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 29773.7
        },
        {
          "transaction_id": "WLK1750100056-A02-T002-d2c99d",
          "date": "2026-05-30T11:50:54",
          "amount": 203.11,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 29976.8
        },
        {
          "transaction_id": "WLK1750100056-A02-T003-e48ff7",
          "date": "2026-07-26T17:50:54",
          "amount": -1566.94,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "POS",
          "balance_after": 28409.8
        },
        {
          "transaction_id": "WLK1750100056-A02-T004-fbf001",
          "date": "2026-06-16T05:50:54",
          "amount": -1360.59,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "POS",
          "balance_after": 27049.3
        },
        {
          "transaction_id": "WLK1750100056-A02-T005-7c3d64",
          "date": "2026-08-13T06:50:54",
          "amount": -649.16,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "ATM",
          "balance_after": 26400.1
        },
        {
          "transaction_id": "WLK1750100056-A02-T006-3ea832",
          "date": "2026-07-02T06:50:54",
          "amount": 1437.61,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 27837.7
        },
        {
          "transaction_id": "WLK1750100056-A02-T007-a49dec",
          "date": "2026-06-24T00:50:54",
          "amount": 583.61,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 28421.3
        },
        {
          "transaction_id": "WLK1750100056-A02-T008-fbc811",
          "date": "2026-06-28T03:50:54",
          "amount": -447.08,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "ATM",
          "balance_after": 27974.2
        },
        {
          "transaction_id": "WLK1750100056-A03-T001-47af41",
          "date": "2026-08-02T11:50:54",
          "amount": -1674.31,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "POS",
          "balance_after": 27469.4
        },
        {
          "transaction_id": "WLK1750100056-A03-T002-e84b17",
          "date": "2026-07-09T15:50:54",
          "amount": -1977.0,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Mobile Banking",
          "balance_after": 25492.4
        },
        {
          "transaction_id": "WLK1750100056-A03-T003-52dcbb",
          "date": "2026-07-17T04:50:54",
          "amount": -33.11,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "POS",
          "balance_after": 25459.3
        },
        {
          "transaction_id": "WLK1750100056-A03-T004-2b1bcf",
          "date": "2026-08-03T11:50:54",
          "amount": -1426.29,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "POS",
          "balance_after": 24033.0
        },
        {
          "transaction_id": "WLK1750100056-A03-T005-fd3bf6",
          "date": "2026-07-12T23:50:54",
          "amount": -593.14,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "POS",
          "balance_after": 23439.8
        },
        {
          "transaction_id": "WLK1750100056-A03-T006-3b9527",
          "date": "2026-08-17T17:50:54",
          "amount": -1127.38,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Branch",
          "balance_after": 22312.4
        },
        {
          "transaction_id": "WLK1750100056-A03-T007-8e3cbd",
          "date": "2026-05-31T02:50:54",
          "amount": -614.34,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Branch",
          "balance_after": 21698.1
        },
        {
          "transaction_id": "WLK1750100056-A03-T008-bc672a",
          "date": "2026-05-23T21:50:54",
          "amount": -845.97,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Mobile Banking",
          "balance_after": 20852.1
        },
        {
          "transaction_id": "WLK1750100056-A04-T001-23f696",
          "date": "2026-07-04T23:50:54",
          "amount": -1941.84,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "POS",
          "balance_after": 27201.8
        },
        {
          "transaction_id": "WLK1750100056-A04-T002-aa936f",
          "date": "2026-06-21T14:50:54",
          "amount": -1739.32,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "Mobile Banking",
          "balance_after": 25462.5
        },
        {
          "transaction_id": "WLK1750100056-A04-T003-34c3fc",
          "date": "2026-08-13T13:50:54",
          "amount": 1693.65,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 27156.2
        },
        {
          "transaction_id": "WLK1750100056-A04-T004-162c48",
          "date": "2026-07-06T12:50:54",
          "amount": -932.87,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Branch",
          "balance_after": 26223.3
        },
        {
          "transaction_id": "WLK1750100056-A04-T005-9c7345",
          "date": "2026-07-06T16:50:54",
          "amount": -735.1,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "Branch",
          "balance_after": 25488.2
        },
        {
          "transaction_id": "WLK1750100056-A04-T006-18c0f3",
          "date": "2026-06-16T11:50:54",
          "amount": -1068.63,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Mobile Banking",
          "balance_after": 24419.6
        },
        {
          "transaction_id": "WLK1750100056-A04-T007-991973",
          "date": "2026-07-10T07:50:54",
          "amount": 1205.55,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 25625.1
        },
        {
          "transaction_id": "WLK1750100056-A04-T008-c26a74",
          "date": "2026-07-05T14:50:54",
          "amount": -557.49,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "ATM",
          "balance_after": 25067.6
        }
      ]
    },
    {
      "customer_id": "WLK1750100057",
      "name": "Kwesi Osei",
      "age": 46,
      "gender": "Male",
      "occupation": "Civil Servant",
      "segment": "PREMIUM_WEALTH",
      "total_balance": 1545980.0,
      "average_monthly_balance": 1276740.0,
      "risk_score": 0.4152,
      "engagement_score": 0.4298,
      "transaction_count": 55,
      "last_updated": "2026-08-21T17:50:54",
      "ai_analysis": {
        "products": [
          "Savings Account",
          "Mobile Banking",
          "Investment Account"
        ],
        "key_insights": [
          "Kwesi holds ₵1,545,978 across 3 product(s).",
          "Engagement score 0.43; risk score 0.42.",
          "Profile aligns with Premium Wealth criteria."
        ],
        "risk_indicators": [
          "None material"
        ],
        "confidence_score": 0.8,
        "growth_potential": "high",
        "next_best_action": {
          "action": "Schedule wealth management consultation",
          "customer_message": "Hi Kwesi, Schedule wealth management consultation. Reply YES to continue."
        },
        "product_holdings": [
          "Savings Account",
          "Mobile Banking",
          "Investment Account"
        ],
        "credit_assessment": {
          "rationale": "Income stability and premium wealth holdings support mortgage.",
          "creditworthy": true,
          "risk_factors": [],
          "recommended_limit": "₵150,000 - ₵500,000",
          "positive_indicators": [
            "Regular inflows",
            "Active digital usage"
          ],
          "recommended_facility": "mortgage",
          "credit_score_estimate": "high"
        },
        "retention_actions": [
          {
            "action": "Exclusive events",
            "customer_message": "Hi Kwesi, we value you — exclusive events. Reply HELP for support."
          },
          {
            "action": "Priority support",
            "customer_message": "Hi Kwesi, we value you — priority support. Reply HELP for support."
          },
          {
            "action": "Customized solutions",
            "customer_message": "Hi Kwesi, we value you — customized solutions. Reply HELP for support."
          }
        ],
        "engagement_strategy": "Dedicated relationship manager, premium services",
        "recommended_segment": "PREMIUM_WEALTH",
        "cross_sell_opportunities": [
          {
            "opportunity": "Wealth Management",
            "customer_message": "Hi Kwesi, explore wealth management with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Investment Advisory",
            "customer_message": "Hi Kwesi, explore investment advisory with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Private Banking",
            "customer_message": "Hi Kwesi, explore private banking with us. Reply YES or visit a branch."
          }
        ]
      },
      "phone_number": "233554694531",
      "email": "kylechukwuma@gmail.com",
      "income_range": "₵2,000 - ₵5,000 GHS",
      "location": "Tamale",
      "accounts": [
        {
          "account_number": "WLK1750100057-A01",
          "account_type": "Savings Account",
          "account_status": "Active",
          "current_balance": 550398.0,
          "available_balance": 566266.0,
          "currency": "GHS",
          "is_primary": true
        },
        {
          "account_number": "WLK1750100057-A02",
          "account_type": "Mobile Banking",
          "account_status": "Active",
          "current_balance": 573469.0,
          "available_balance": 404251.0,
          "currency": "GHS",
          "is_primary": false
        },
        {
          "account_number": "WLK1750100057-A03",
          "account_type": "Investment Account",
          "account_status": "Active",
          "current_balance": 424237.0,
          "available_balance": 587835.0,
          "currency": "GHS",
          "is_primary": false
        }
      ],
      "transactions": [
        {
          "transaction_id": "WLK1750100057-A01-T001-e3062c",
          "date": "2026-06-11T14:50:54",
          "amount": -1060.79,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "POS",
          "balance_after": 514265.0
        },
        {
          "transaction_id": "WLK1750100057-A01-T002-25f42c",
          "date": "2026-08-04T17:50:54",
          "amount": 1833.74,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 516099.0
        },
        {
          "transaction_id": "WLK1750100057-A01-T003-389bb6",
          "date": "2026-08-03T03:50:54",
          "amount": -709.46,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "ATM",
          "balance_after": 515390.0
        },
        {
          "transaction_id": "WLK1750100057-A01-T004-a9e2ea",
          "date": "2026-08-05T10:50:54",
          "amount": 1425.59,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 516815.0
        },
        {
          "transaction_id": "WLK1750100057-A02-T001-a68481",
          "date": "2026-06-27T14:50:54",
          "amount": -435.49,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Mobile Banking",
          "balance_after": 514891.0
        },
        {
          "transaction_id": "WLK1750100057-A02-T002-3b4fdf",
          "date": "2026-08-15T11:50:54",
          "amount": -1553.89,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Mobile Banking",
          "balance_after": 513337.0
        },
        {
          "transaction_id": "WLK1750100057-A02-T003-4c50b9",
          "date": "2026-08-13T02:50:54",
          "amount": -1590.25,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Branch",
          "balance_after": 511746.0
        },
        {
          "transaction_id": "WLK1750100057-A02-T004-eba929",
          "date": "2026-08-19T14:50:54",
          "amount": 105.7,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 511852.0
        },
        {
          "transaction_id": "WLK1750100057-A03-T001-23ba51",
          "date": "2026-08-09T13:50:54",
          "amount": 385.87,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 515712.0
        },
        {
          "transaction_id": "WLK1750100057-A03-T002-6b52ac",
          "date": "2026-07-31T01:50:54",
          "amount": 1898.61,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 517610.0
        },
        {
          "transaction_id": "WLK1750100057-A03-T003-86e39e",
          "date": "2026-06-07T17:50:54",
          "amount": 1019.72,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 518630.0
        },
        {
          "transaction_id": "WLK1750100057-A03-T004-f56480",
          "date": "2026-07-30T00:50:54",
          "amount": -1437.31,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Mobile Banking",
          "balance_after": 517193.0
        }
      ]
    },
    {
      "customer_id": "WLK1750100058",
      "name": "Patricia Adjei",
      "age": 41,
      "gender": "Female",
      "occupation": "Software Engineer",
      "segment": "NEW_CUSTOMER",
      "total_balance": 7403.58,
      "average_monthly_balance": 6727.53,
      "risk_score": 0.4086,
      "engagement_score": 0.7885,
      "transaction_count": 26,
      "last_updated": "2026-08-21T17:50:54",
      "ai_analysis": {
        "products": [
          "Savings Account",
          "Mobile Banking",
          "Current Account"
        ],
        "key_insights": [
          "Patricia holds ₵7,404 across 3 product(s).",
          "Engagement score 0.79; risk score 0.41.",
          "Profile aligns with New Customer criteria."
        ],
        "risk_indicators": [
          "None material"
        ],
        "confidence_score": 0.89,
        "growth_potential": "medium",
        "next_best_action": {
          "action": "Complete digital onboarding checklist",
          "customer_message": "Hi Patricia, Complete digital onboarding checklist. Reply YES to continue."
        },
        "product_holdings": [
          "Savings Account",
          "Mobile Banking",
          "Current Account"
        ],
        "credit_assessment": {
          "rationale": "New Customer profile does not currently meet credit criteria.",
          "creditworthy": false,
          "risk_factors": [
            "Limited repayment history"
          ],
          "recommended_limit": null,
          "positive_indicators": [
            "Existing deposit relationship"
          ],
          "recommended_facility": null,
          "credit_score_estimate": "insufficient_data"
        },
        "retention_actions": [
          {
            "action": "Welcome calls",
            "customer_message": "Hi Patricia, we value you — welcome calls. Reply HELP for support."
          },
          {
            "action": "Onboarding support",
            "customer_message": "Hi Patricia, we value you — onboarding support. Reply HELP for support."
          }
        ],
        "engagement_strategy": "Onboarding journey and product education",
        "recommended_segment": "NEW_CUSTOMER",
        "cross_sell_opportunities": [
          {
            "opportunity": "Mobile Banking",
            "customer_message": "Hi Patricia, explore mobile banking with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Debit Card",
            "customer_message": "Hi Patricia, explore debit card with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Savings Plan",
            "customer_message": "Hi Patricia, explore savings plan with us. Reply YES or visit a branch."
          }
        ]
      },
      "phone_number": "233209366367",
      "email": "chuksdeveloper@gmail.com",
      "income_range": "Below ₵2,000 GHS",
      "location": "Tema",
      "accounts": [
        {
          "account_number": "WLK1750100058-A01",
          "account_type": "Savings Account",
          "account_status": "Active",
          "current_balance": 2488.96,
          "available_balance": 2084.22,
          "currency": "GHS",
          "is_primary": true
        },
        {
          "account_number": "WLK1750100058-A02",
          "account_type": "Mobile Banking",
          "account_status": "Active",
          "current_balance": 2024.04,
          "available_balance": 2730.48,
          "currency": "GHS",
          "is_primary": false
        },
        {
          "account_number": "WLK1750100058-A03",
          "account_type": "Current Account",
          "account_status": "Active",
          "current_balance": 2536.89,
          "available_balance": 2891.22,
          "currency": "GHS",
          "is_primary": false
        }
      ],
      "transactions": [
        {
          "transaction_id": "WLK1750100058-A01-T001-4013ad",
          "date": "2026-06-22T14:50:54",
          "amount": 418.65,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 2886.51
        },
        {
          "transaction_id": "WLK1750100058-A01-T002-4431ea",
          "date": "2026-07-15T00:50:54",
          "amount": 279.6,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 3166.11
        },
        {
          "transaction_id": "WLK1750100058-A01-T003-c7280d",
          "date": "2026-07-02T08:50:54",
          "amount": -63.06,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Branch",
          "balance_after": 3103.05
        },
        {
          "transaction_id": "WLK1750100058-A01-T004-09984d",
          "date": "2026-07-23T00:50:54",
          "amount": -379.72,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Branch",
          "balance_after": 2723.33
        },
        {
          "transaction_id": "WLK1750100058-A01-T005-7d908b",
          "date": "2026-08-12T02:50:54",
          "amount": 535.7,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 3259.03
        },
        {
          "transaction_id": "WLK1750100058-A01-T006-f0d40a",
          "date": "2026-06-19T14:50:54",
          "amount": -113.88,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "POS",
          "balance_after": 3145.15
        },
        {
          "transaction_id": "WLK1750100058-A01-T007-3e5d9a",
          "date": "2026-08-05T13:50:54",
          "amount": -293.65,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "POS",
          "balance_after": 2851.5
        },
        {
          "transaction_id": "WLK1750100058-A01-T008-bd315f",
          "date": "2026-07-30T15:50:54",
          "amount": -383.9,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "ATM",
          "balance_after": 2467.6
        },
        {
          "transaction_id": "WLK1750100058-A02-T001-089941",
          "date": "2026-06-27T02:50:54",
          "amount": 231.67,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 2699.53
        },
        {
          "transaction_id": "WLK1750100058-A02-T002-0fc0c8",
          "date": "2026-06-06T09:50:54",
          "amount": -420.44,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Branch",
          "balance_after": 2279.09
        },
        {
          "transaction_id": "WLK1750100058-A02-T003-718c25",
          "date": "2026-06-30T02:50:54",
          "amount": -269.13,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "ATM",
          "balance_after": 2009.96
        },
        {
          "transaction_id": "WLK1750100058-A02-T004-c1515d",
          "date": "2026-07-19T02:50:54",
          "amount": 422.1,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 2432.06
        },
        {
          "transaction_id": "WLK1750100058-A02-T005-a656dd",
          "date": "2026-08-17T14:50:54",
          "amount": -140.85,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Mobile Banking",
          "balance_after": 2291.21
        },
        {
          "transaction_id": "WLK1750100058-A02-T006-0dd4f7",
          "date": "2026-07-29T05:50:54",
          "amount": 280.81,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 2572.02
        },
        {
          "transaction_id": "WLK1750100058-A02-T007-465b28",
          "date": "2026-08-08T15:50:54",
          "amount": -99.97,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "POS",
          "balance_after": 2472.05
        },
        {
          "transaction_id": "WLK1750100058-A02-T008-9a9c6a",
          "date": "2026-06-19T01:50:54",
          "amount": -125.73,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "Branch",
          "balance_after": 2346.32
        },
        {
          "transaction_id": "WLK1750100058-A03-T001-021412",
          "date": "2026-08-05T05:50:54",
          "amount": 36.54,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 2504.4
        },
        {
          "transaction_id": "WLK1750100058-A03-T002-608cc7",
          "date": "2026-06-23T16:50:54",
          "amount": 184.69,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 2689.09
        },
        {
          "transaction_id": "WLK1750100058-A03-T003-3f62c6",
          "date": "2026-07-13T12:50:54",
          "amount": -112.6,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "POS",
          "balance_after": 2576.49
        },
        {
          "transaction_id": "WLK1750100058-A03-T004-5095c0",
          "date": "2026-06-19T14:50:54",
          "amount": -90.41,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "POS",
          "balance_after": 2486.08
        },
        {
          "transaction_id": "WLK1750100058-A03-T005-95738c",
          "date": "2026-06-17T16:50:54",
          "amount": -269.17,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Branch",
          "balance_after": 2216.91
        },
        {
          "transaction_id": "WLK1750100058-A03-T006-8f5a12",
          "date": "2026-06-03T06:50:54",
          "amount": -279.01,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "Branch",
          "balance_after": 1937.9
        },
        {
          "transaction_id": "WLK1750100058-A03-T007-89fb22",
          "date": "2026-08-04T06:50:54",
          "amount": -52.16,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "Mobile Banking",
          "balance_after": 1885.74
        },
        {
          "transaction_id": "WLK1750100058-A03-T008-aec403",
          "date": "2026-07-03T14:50:54",
          "amount": -420.63,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Branch",
          "balance_after": 1465.11
        }
      ]
    },
    {
      "customer_id": "WLK1750100059",
      "name": "Elizabeth Amoah",
      "age": 35,
      "gender": "Female",
      "occupation": "Driver",
      "segment": "NEW_CUSTOMER",
      "total_balance": 3589.47,
      "average_monthly_balance": 3130.01,
      "risk_score": 0.2587,
      "engagement_score": 0.1923,
      "transaction_count": 57,
      "last_updated": "2026-08-21T17:50:54",
      "ai_analysis": {
        "products": [
          "Savings Account",
          "Mobile Banking",
          "Current Account"
        ],
        "key_insights": [
          "Elizabeth holds ₵3,589 across 3 product(s).",
          "Engagement score 0.19; risk score 0.26.",
          "Profile aligns with New Customer criteria."
        ],
        "risk_indicators": [
          "None material"
        ],
        "confidence_score": 0.78,
        "growth_potential": "medium",
        "next_best_action": {
          "action": "Complete digital onboarding checklist",
          "customer_message": "Hi Elizabeth, Complete digital onboarding checklist. Reply YES to continue."
        },
        "product_holdings": [
          "Savings Account",
          "Mobile Banking",
          "Current Account"
        ],
        "credit_assessment": {
          "rationale": "New Customer profile does not currently meet credit criteria.",
          "creditworthy": false,
          "risk_factors": [
            "Limited repayment history"
          ],
          "recommended_limit": null,
          "positive_indicators": [
            "Existing deposit relationship"
          ],
          "recommended_facility": null,
          "credit_score_estimate": "insufficient_data"
        },
        "retention_actions": [
          {
            "action": "Welcome calls",
            "customer_message": "Hi Elizabeth, we value you — welcome calls. Reply HELP for support."
          },
          {
            "action": "Onboarding support",
            "customer_message": "Hi Elizabeth, we value you — onboarding support. Reply HELP for support."
          }
        ],
        "engagement_strategy": "Onboarding journey and product education",
        "recommended_segment": "NEW_CUSTOMER",
        "cross_sell_opportunities": [
          {
            "opportunity": "Mobile Banking",
            "customer_message": "Hi Elizabeth, explore mobile banking with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Debit Card",
            "customer_message": "Hi Elizabeth, explore debit card with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Savings Plan",
            "customer_message": "Hi Elizabeth, explore savings plan with us. Reply YES or visit a branch."
          }
        ]
      },
      "phone_number": "233548617798",
      "email": "donchukz01@gmail.com",
      "income_range": "Below ₵2,000 GHS",
      "location": "Cape Coast",
      "accounts": [
        {
          "account_number": "WLK1750100059-A01",
          "account_type": "Savings Account",
          "account_status": "Active",
          "current_balance": 1079.9,
          "available_balance": 732.05,
          "currency": "GHS",
          "is_primary": true
        },
        {
          "account_number": "WLK1750100059-A02",
          "account_type": "Mobile Banking",
          "account_status": "Active",
          "current_balance": 905.55,
          "available_balance": 959.71,
          "currency": "GHS",
          "is_primary": false
        },
        {
          "account_number": "WLK1750100059-A03",
          "account_type": "Current Account",
          "account_status": "Active",
          "current_balance": 1066.3,
          "available_balance": 1313.9,
          "currency": "GHS",
          "is_primary": false
        }
      ],
      "transactions": [
        {
          "transaction_id": "WLK1750100059-A01-T001-69e752",
          "date": "2026-06-26T23:50:54",
          "amount": -107.82,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Branch",
          "balance_after": 1088.67
        },
        {
          "transaction_id": "WLK1750100059-A01-T002-b1bda5",
          "date": "2026-08-18T07:50:54",
          "amount": -25.49,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "POS",
          "balance_after": 1063.18
        },
        {
          "transaction_id": "WLK1750100059-A01-T003-d251e9",
          "date": "2026-06-19T14:50:54",
          "amount": 106.83,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 1170.01
        },
        {
          "transaction_id": "WLK1750100059-A01-T004-b8339d",
          "date": "2026-05-27T07:50:54",
          "amount": -110.48,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Branch",
          "balance_after": 1059.53
        },
        {
          "transaction_id": "WLK1750100059-A01-T005-b9f58a",
          "date": "2026-06-17T21:50:54",
          "amount": 117.85,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 1177.38
        },
        {
          "transaction_id": "WLK1750100059-A01-T006-aafb59",
          "date": "2026-07-15T09:50:54",
          "amount": -246.31,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Branch",
          "balance_after": 931.07
        },
        {
          "transaction_id": "WLK1750100059-A01-T007-472f01",
          "date": "2026-07-22T22:50:54",
          "amount": 288.28,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 1219.35
        },
        {
          "transaction_id": "WLK1750100059-A02-T001-4829be",
          "date": "2026-06-21T04:50:54",
          "amount": -38.12,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Branch",
          "balance_after": 1158.37
        },
        {
          "transaction_id": "WLK1750100059-A02-T002-4dcb25",
          "date": "2026-07-13T01:50:54",
          "amount": -234.27,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "POS",
          "balance_after": 924.1
        },
        {
          "transaction_id": "WLK1750100059-A02-T003-5c8873",
          "date": "2026-06-28T05:50:54",
          "amount": 198.67,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 1122.77
        },
        {
          "transaction_id": "WLK1750100059-A02-T004-dc82eb",
          "date": "2026-06-11T12:50:54",
          "amount": -188.3,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "ATM",
          "balance_after": 934.47
        },
        {
          "transaction_id": "WLK1750100059-A02-T005-2d7068",
          "date": "2026-06-22T09:50:54",
          "amount": 175.34,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 1109.81
        },
        {
          "transaction_id": "WLK1750100059-A02-T006-c8f170",
          "date": "2026-08-13T01:50:54",
          "amount": -271.7,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Branch",
          "balance_after": 838.11
        },
        {
          "transaction_id": "WLK1750100059-A02-T007-d76022",
          "date": "2026-05-25T08:50:54",
          "amount": 144.55,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 982.66
        },
        {
          "transaction_id": "WLK1750100059-A03-T001-59adbb",
          "date": "2026-06-29T09:50:54",
          "amount": 37.35,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 1233.84
        },
        {
          "transaction_id": "WLK1750100059-A03-T002-3ed087",
          "date": "2026-06-05T10:50:54",
          "amount": 193.98,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 1427.82
        },
        {
          "transaction_id": "WLK1750100059-A03-T003-bdab7a",
          "date": "2026-08-17T10:50:54",
          "amount": 84.22,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 1512.04
        },
        {
          "transaction_id": "WLK1750100059-A03-T004-3e8321",
          "date": "2026-06-26T04:50:54",
          "amount": -145.0,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "ATM",
          "balance_after": 1367.04
        },
        {
          "transaction_id": "WLK1750100059-A03-T005-d12e56",
          "date": "2026-07-18T09:50:54",
          "amount": 62.91,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 1429.95
        },
        {
          "transaction_id": "WLK1750100059-A03-T006-423bb5",
          "date": "2026-06-19T17:50:54",
          "amount": 193.51,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 1623.46
        },
        {
          "transaction_id": "WLK1750100059-A03-T007-4a5175",
          "date": "2026-06-04T08:50:54",
          "amount": 251.48,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 1874.94
        }
      ]
    },
    {
      "customer_id": "WLK1750100060",
      "name": "Kofi Appiah",
      "age": 62,
      "gender": "Male",
      "occupation": "Entrepreneur",
      "segment": "YOUNG_PROFESSIONAL",
      "total_balance": 9849.74,
      "average_monthly_balance": 7170.44,
      "risk_score": 0.1587,
      "engagement_score": 0.6431,
      "transaction_count": 49,
      "last_updated": "2026-08-21T17:50:54",
      "ai_analysis": {
        "products": [
          "Savings Account",
          "Mobile Banking",
          "Current Account"
        ],
        "key_insights": [
          "Kofi holds ₵9,850 across 3 product(s).",
          "Engagement score 0.64; risk score 0.16.",
          "Profile aligns with Young Professional criteria."
        ],
        "risk_indicators": [
          "None material"
        ],
        "confidence_score": 0.95,
        "growth_potential": "medium",
        "next_best_action": {
          "action": "Promote mobile banking features",
          "customer_message": "Hi Kofi, Promote mobile banking features. Reply YES to continue."
        },
        "product_holdings": [
          "Savings Account",
          "Mobile Banking",
          "Current Account"
        ],
        "credit_assessment": {
          "rationale": "Young Professional profile does not currently meet credit criteria.",
          "creditworthy": false,
          "risk_factors": [
            "Limited repayment history"
          ],
          "recommended_limit": null,
          "positive_indicators": [
            "Existing deposit relationship"
          ],
          "recommended_facility": null,
          "credit_score_estimate": "medium"
        },
        "retention_actions": [
          {
            "action": "Digital convenience",
            "customer_message": "Hi Kofi, we value you — digital convenience. Reply HELP for support."
          },
          {
            "action": "Career resources",
            "customer_message": "Hi Kofi, we value you — career resources. Reply HELP for support."
          }
        ],
        "engagement_strategy": "Digital-first, career-focused products",
        "recommended_segment": "YOUNG_PROFESSIONAL",
        "cross_sell_opportunities": [
          {
            "opportunity": "Personal Loans",
            "customer_message": "Hi Kofi, explore personal loans with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Investment Apps",
            "customer_message": "Hi Kofi, explore investment apps with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Insurance",
            "customer_message": "Hi Kofi, explore insurance with us. Reply YES or visit a branch."
          }
        ]
      },
      "phone_number": "233249430715",
      "email": "kylechukwuma@gmail.com",
      "income_range": "₵2,000 - ₵5,000 GHS",
      "location": "Cape Coast",
      "accounts": [
        {
          "account_number": "WLK1750100060-A01",
          "account_type": "Savings Account",
          "account_status": "Active",
          "current_balance": 3326.5,
          "available_balance": 3603.0,
          "currency": "GHS",
          "is_primary": true
        },
        {
          "account_number": "WLK1750100060-A02",
          "account_type": "Mobile Banking",
          "account_status": "Active",
          "current_balance": 3556.97,
          "available_balance": 3350.13,
          "currency": "GHS",
          "is_primary": false
        },
        {
          "account_number": "WLK1750100060-A03",
          "account_type": "Current Account",
          "account_status": "Active",
          "current_balance": 3432.59,
          "available_balance": 2188.27,
          "currency": "GHS",
          "is_primary": false
        }
      ],
      "transactions": [
        {
          "transaction_id": "WLK1750100060-A01-T001-7ba70f",
          "date": "2026-07-19T02:50:54",
          "amount": -672.09,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "ATM",
          "balance_after": 2611.16
        },
        {
          "transaction_id": "WLK1750100060-A01-T002-26aefd",
          "date": "2026-07-11T07:50:54",
          "amount": -431.87,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "ATM",
          "balance_after": 2179.29
        },
        {
          "transaction_id": "WLK1750100060-A01-T003-95690f",
          "date": "2026-08-07T12:50:54",
          "amount": 662.36,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 2841.65
        },
        {
          "transaction_id": "WLK1750100060-A01-T004-a1e63a",
          "date": "2026-07-18T23:50:54",
          "amount": 686.0,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 3527.65
        },
        {
          "transaction_id": "WLK1750100060-A01-T005-763c9a",
          "date": "2026-08-06T07:50:54",
          "amount": 356.7,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 3884.35
        },
        {
          "transaction_id": "WLK1750100060-A01-T006-7f6183",
          "date": "2026-07-16T13:50:54",
          "amount": 346.06,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 4230.41
        },
        {
          "transaction_id": "WLK1750100060-A01-T007-b5fc29",
          "date": "2026-07-12T17:50:54",
          "amount": 346.31,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 4576.72
        },
        {
          "transaction_id": "WLK1750100060-A01-T008-405d5c",
          "date": "2026-08-14T10:50:54",
          "amount": -597.8,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "POS",
          "balance_after": 3978.92
        },
        {
          "transaction_id": "WLK1750100060-A02-T001-2c6451",
          "date": "2026-06-13T10:50:54",
          "amount": -640.15,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "POS",
          "balance_after": 2643.1
        },
        {
          "transaction_id": "WLK1750100060-A02-T002-9cca21",
          "date": "2026-07-19T08:50:54",
          "amount": -25.4,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "ATM",
          "balance_after": 2617.7
        },
        {
          "transaction_id": "WLK1750100060-A02-T003-4d02e5",
          "date": "2026-07-31T03:50:54",
          "amount": -224.23,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "POS",
          "balance_after": 2393.47
        },
        {
          "transaction_id": "WLK1750100060-A02-T004-cf8f25",
          "date": "2026-08-10T02:50:54",
          "amount": 561.98,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 2955.45
        },
        {
          "transaction_id": "WLK1750100060-A02-T005-30d367",
          "date": "2026-07-09T04:50:54",
          "amount": -526.02,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "ATM",
          "balance_after": 2429.43
        },
        {
          "transaction_id": "WLK1750100060-A02-T006-ef02d7",
          "date": "2026-07-06T04:50:54",
          "amount": -499.61,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "POS",
          "balance_after": 1929.82
        },
        {
          "transaction_id": "WLK1750100060-A02-T007-1077f0",
          "date": "2026-05-29T21:50:54",
          "amount": -497.37,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "POS",
          "balance_after": 1432.45
        },
        {
          "transaction_id": "WLK1750100060-A02-T008-d2a3e8",
          "date": "2026-06-30T11:50:54",
          "amount": 563.15,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 1995.6
        },
        {
          "transaction_id": "WLK1750100060-A03-T001-7558c3",
          "date": "2026-05-29T13:50:54",
          "amount": -191.39,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Branch",
          "balance_after": 3091.86
        },
        {
          "transaction_id": "WLK1750100060-A03-T002-6017e5",
          "date": "2026-08-03T09:50:54",
          "amount": -330.02,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Branch",
          "balance_after": 2761.84
        },
        {
          "transaction_id": "WLK1750100060-A03-T003-7363d9",
          "date": "2026-06-28T06:50:54",
          "amount": 569.0,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 3330.84
        },
        {
          "transaction_id": "WLK1750100060-A03-T004-66e922",
          "date": "2026-06-08T10:50:54",
          "amount": 290.19,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 3621.03
        },
        {
          "transaction_id": "WLK1750100060-A03-T005-abe0e9",
          "date": "2026-05-29T22:50:54",
          "amount": -671.02,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Mobile Banking",
          "balance_after": 2950.01
        },
        {
          "transaction_id": "WLK1750100060-A03-T006-b3e621",
          "date": "2026-05-23T12:50:54",
          "amount": 688.88,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 3638.89
        },
        {
          "transaction_id": "WLK1750100060-A03-T007-1d4b69",
          "date": "2026-07-18T13:50:54",
          "amount": 295.37,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 3934.26
        },
        {
          "transaction_id": "WLK1750100060-A03-T008-fafed1",
          "date": "2026-06-09T14:50:54",
          "amount": 677.83,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 4612.09
        }
      ]
    },
    {
      "customer_id": "WLK1750100053",
      "name": "Abena Gyasi",
      "age": 24,
      "gender": "Female",
      "occupation": "Trader",
      "segment": "GROWTH_POTENTIAL",
      "total_balance": 10709.1,
      "average_monthly_balance": 9054.48,
      "risk_score": 0.3699,
      "engagement_score": 0.2559,
      "transaction_count": 10,
      "last_updated": "2026-08-21T17:50:54",
      "ai_analysis": {
        "products": [
          "Savings Account",
          "Mobile Banking",
          "Current Account"
        ],
        "key_insights": [
          "Abena holds ₵10,709 across 3 product(s).",
          "Engagement score 0.26; risk score 0.37.",
          "Profile aligns with Growth Potential criteria."
        ],
        "risk_indicators": [
          "None material"
        ],
        "confidence_score": 0.89,
        "growth_potential": "high",
        "next_best_action": {
          "action": "Promote savings and investment products",
          "customer_message": "Hi Abena, Promote savings and investment products. Reply YES to continue."
        },
        "product_holdings": [
          "Savings Account",
          "Mobile Banking",
          "Current Account"
        ],
        "credit_assessment": {
          "rationale": "Income stability and growth potential holdings support overdraft.",
          "creditworthy": true,
          "risk_factors": [
            "Market concentration"
          ],
          "recommended_limit": "₵5,000 - ₵20,000",
          "positive_indicators": [
            "Regular inflows",
            "Active digital usage"
          ],
          "recommended_facility": "overdraft",
          "credit_score_estimate": "medium"
        },
        "retention_actions": [
          {
            "action": "Loyalty rewards",
            "customer_message": "Hi Abena, we value you — loyalty rewards. Reply HELP for support."
          },
          {
            "action": "Financial literacy content",
            "customer_message": "Hi Abena, we value you — financial literacy content. Reply HELP for support."
          }
        ],
        "engagement_strategy": "Growth-focused product recommendations and digital engagement",
        "recommended_segment": "GROWTH_POTENTIAL",
        "cross_sell_opportunities": [
          {
            "opportunity": "Savings Plans",
            "customer_message": "Hi Abena, explore savings plans with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Personal Loans",
            "customer_message": "Hi Abena, explore personal loans with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Investment Apps",
            "customer_message": "Hi Abena, explore investment apps with us. Reply YES or visit a branch."
          }
        ]
      },
      "phone_number": "233554694531",
      "email": "donchukz01@gmail.com",
      "income_range": "₵2,000 - ₵5,000 GHS",
      "location": "East Legon, Accra",
      "accounts": [
        {
          "account_number": "WLK1750100053-A01",
          "account_type": "Savings Account",
          "account_status": "Active",
          "current_balance": 3810.52,
          "available_balance": 3807.42,
          "currency": "GHS",
          "is_primary": true
        },
        {
          "account_number": "WLK1750100053-A02",
          "account_type": "Mobile Banking",
          "account_status": "Active",
          "current_balance": 2805.25,
          "available_balance": 2722.14,
          "currency": "GHS",
          "is_primary": false
        },
        {
          "account_number": "WLK1750100053-A03",
          "account_type": "Current Account",
          "account_status": "Active",
          "current_balance": 2508.57,
          "available_balance": 2646.51,
          "currency": "GHS",
          "is_primary": false
        }
      ],
      "transactions": [
        {
          "transaction_id": "WLK1750100053-A01-T001-802f6b",
          "date": "2026-08-20T17:50:54",
          "amount": -31.63,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Mobile Banking",
          "balance_after": 3538.06
        },
        {
          "transaction_id": "WLK1750100053-A01-T002-c45333",
          "date": "2026-07-15T04:50:54",
          "amount": -545.77,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "ATM",
          "balance_after": 2992.29
        },
        {
          "transaction_id": "WLK1750100053-A02-T001-58b7c2",
          "date": "2026-07-28T22:50:54",
          "amount": 355.08,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 3924.77
        },
        {
          "transaction_id": "WLK1750100053-A02-T002-bec66b",
          "date": "2026-06-03T15:50:54",
          "amount": -463.59,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "Branch",
          "balance_after": 3461.18
        },
        {
          "transaction_id": "WLK1750100053-A03-T001-41cc7c",
          "date": "2026-08-07T22:50:54",
          "amount": -107.42,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "ATM",
          "balance_after": 3462.27
        },
        {
          "transaction_id": "WLK1750100053-A03-T002-765695",
          "date": "2026-07-25T09:50:54",
          "amount": -365.35,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "ATM",
          "balance_after": 3096.92
        }
      ]
    },
    {
      "customer_id": "WLK1750100045",
      "name": "Sarah Asante",
      "age": 26,
      "gender": "Female",
      "occupation": "Teacher",
      "segment": "HIGH_VALUE",
      "total_balance": 200259.0,
      "average_monthly_balance": 171498.0,
      "risk_score": 0.1892,
      "engagement_score": 0.4446,
      "transaction_count": 16,
      "last_updated": "2026-08-21T17:50:54",
      "ai_analysis": {
        "products": [
          "Savings Account",
          "Mobile Banking"
        ],
        "key_insights": [
          "Sarah holds ₵200,259 across 2 product(s).",
          "Engagement score 0.44; risk score 0.19.",
          "Profile aligns with High Value criteria."
        ],
        "risk_indicators": [
          "None material"
        ],
        "confidence_score": 0.9,
        "growth_potential": "high",
        "next_best_action": {
          "action": "Offer investment consultation",
          "customer_message": "Hi Sarah, Offer investment consultation. Reply YES to continue."
        },
        "product_holdings": [
          "Savings Account",
          "Mobile Banking"
        ],
        "credit_assessment": {
          "rationale": "Income stability and high value holdings support mortgage.",
          "creditworthy": true,
          "risk_factors": [],
          "recommended_limit": "₵80,000 - ₵350,000",
          "positive_indicators": [
            "Regular inflows",
            "Active digital usage"
          ],
          "recommended_facility": "mortgage",
          "credit_score_estimate": "high"
        },
        "retention_actions": [
          {
            "action": "Preferential rates",
            "customer_message": "Hi Sarah, we value you — preferential rates. Reply HELP for support."
          },
          {
            "action": "Priority support",
            "customer_message": "Hi Sarah, we value you — priority support. Reply HELP for support."
          }
        ],
        "engagement_strategy": "Priority banking, regular reviews",
        "recommended_segment": "HIGH_VALUE",
        "cross_sell_opportunities": [
          {
            "opportunity": "Investment Products",
            "customer_message": "Hi Sarah, explore investment products with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Insurance",
            "customer_message": "Hi Sarah, explore insurance with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Premium Cards",
            "customer_message": "Hi Sarah, explore premium cards with us. Reply YES or visit a branch."
          }
        ]
      },
      "phone_number": "233554694531",
      "email": "kylechukwuma@gmail.com",
      "income_range": "Above ₵100,000 GHS",
      "location": "Tamale",
      "accounts": [
        {
          "account_number": "WLK1750100045-A01",
          "account_type": "Savings Account",
          "account_status": "Active",
          "current_balance": 104509.0,
          "available_balance": 85698.8,
          "currency": "GHS",
          "is_primary": true
        },
        {
          "account_number": "WLK1750100045-A02",
          "account_type": "Mobile Banking",
          "account_status": "Active",
          "current_balance": 74865.4,
          "available_balance": 106928.0,
          "currency": "GHS",
          "is_primary": false
        }
      ],
      "transactions": [
        {
          "transaction_id": "WLK1750100045-A01-T001-3b45d8",
          "date": "2026-06-24T00:50:54",
          "amount": -638.52,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "ATM",
          "balance_after": 99491.0
        },
        {
          "transaction_id": "WLK1750100045-A01-T002-1667f5",
          "date": "2026-05-25T11:50:54",
          "amount": -1311.9,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Branch",
          "balance_after": 98179.1
        },
        {
          "transaction_id": "WLK1750100045-A01-T003-12ef2b",
          "date": "2026-08-03T04:50:54",
          "amount": -1383.29,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "ATM",
          "balance_after": 96795.9
        },
        {
          "transaction_id": "WLK1750100045-A01-T004-8a96f5",
          "date": "2026-08-05T12:50:54",
          "amount": -648.64,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "ATM",
          "balance_after": 96147.2
        },
        {
          "transaction_id": "WLK1750100045-A01-T005-bce5da",
          "date": "2026-06-29T04:50:54",
          "amount": -1459.62,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "POS",
          "balance_after": 94687.6
        },
        {
          "transaction_id": "WLK1750100045-A01-T006-c45bf5",
          "date": "2026-05-31T09:50:54",
          "amount": -1496.31,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "ATM",
          "balance_after": 93191.3
        },
        {
          "transaction_id": "WLK1750100045-A01-T007-a7e02a",
          "date": "2026-06-02T22:50:54",
          "amount": 231.41,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 93422.7
        },
        {
          "transaction_id": "WLK1750100045-A01-T008-7cbf6c",
          "date": "2026-06-05T10:50:54",
          "amount": -1219.1,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Mobile Banking",
          "balance_after": 92203.6
        },
        {
          "transaction_id": "WLK1750100045-A02-T001-42acfb",
          "date": "2026-06-20T21:50:54",
          "amount": -285.49,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "ATM",
          "balance_after": 99844.1
        },
        {
          "transaction_id": "WLK1750100045-A02-T002-001b3b",
          "date": "2026-08-03T12:50:54",
          "amount": -1707.22,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "ATM",
          "balance_after": 98136.8
        },
        {
          "transaction_id": "WLK1750100045-A02-T003-c9e184",
          "date": "2026-08-19T09:50:54",
          "amount": -83.81,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "ATM",
          "balance_after": 98053.0
        },
        {
          "transaction_id": "WLK1750100045-A02-T004-f092a6",
          "date": "2026-07-25T15:50:54",
          "amount": -1489.89,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "POS",
          "balance_after": 96563.1
        },
        {
          "transaction_id": "WLK1750100045-A02-T005-fca59c",
          "date": "2026-07-10T03:50:54",
          "amount": -1736.92,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "POS",
          "balance_after": 94826.2
        },
        {
          "transaction_id": "WLK1750100045-A02-T006-f28b82",
          "date": "2026-07-03T07:50:54",
          "amount": 821.64,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 95647.9
        },
        {
          "transaction_id": "WLK1750100045-A02-T007-57e0d5",
          "date": "2026-06-05T00:50:54",
          "amount": -1230.78,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Mobile Banking",
          "balance_after": 94417.1
        },
        {
          "transaction_id": "WLK1750100045-A02-T008-7f8718",
          "date": "2026-08-15T10:50:54",
          "amount": -914.19,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Mobile Banking",
          "balance_after": 93502.9
        }
      ]
    },
    {
      "customer_id": "WLK1750100044",
      "name": "Kwame Darko",
      "age": 62,
      "gender": "Male",
      "occupation": "Nurse",
      "segment": "DORMANT",
      "total_balance": 1333.88,
      "average_monthly_balance": 1222.76,
      "risk_score": 0.3475,
      "engagement_score": 0.3234,
      "transaction_count": 36,
      "last_updated": "2026-08-21T17:50:54",
      "ai_analysis": {
        "products": [
          "Savings Account",
          "Mobile Banking",
          "Current Account"
        ],
        "key_insights": [
          "Kwame holds ₵1,334 across 3 product(s).",
          "Engagement score 0.32; risk score 0.35.",
          "Profile aligns with Dormant criteria."
        ],
        "risk_indicators": [
          "Declining engagement",
          "Low recent activity"
        ],
        "confidence_score": 0.95,
        "growth_potential": "low",
        "next_best_action": {
          "action": "Send reactivation SMS and email",
          "customer_message": "Hi Kwame, Send reactivation SMS and email. Reply YES to continue."
        },
        "product_holdings": [
          "Savings Account",
          "Mobile Banking",
          "Current Account"
        ],
        "credit_assessment": {
          "rationale": "Dormant profile does not currently meet credit criteria.",
          "creditworthy": false,
          "risk_factors": [
            "Limited repayment history"
          ],
          "recommended_limit": null,
          "positive_indicators": [
            "Existing deposit relationship"
          ],
          "recommended_facility": null,
          "credit_score_estimate": "insufficient_data"
        },
        "retention_actions": [
          {
            "action": "Win-back offers",
            "customer_message": "Hi Kwame, we value you — win-back offers. Reply HELP for support."
          },
          {
            "action": "Account reactivation bonus",
            "customer_message": "Hi Kwame, we value you — account reactivation bonus. Reply HELP for support."
          }
        ],
        "engagement_strategy": "Reactivation campaign with incentives",
        "recommended_segment": "DORMANT",
        "cross_sell_opportunities": [
          {
            "opportunity": "Zero-fee accounts",
            "customer_message": "Hi Kwame, explore zero-fee accounts with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Mobile Banking",
            "customer_message": "Hi Kwame, explore mobile banking with us. Reply YES or visit a branch."
          }
        ]
      },
      "phone_number": "233249430715",
      "email": "donchukz01@gmail.com",
      "income_range": "₵5,000 - ₵15,000 GHS",
      "location": "Tema",
      "accounts": [
        {
          "account_number": "WLK1750100044-A01",
          "account_type": "Savings Account",
          "account_status": "Active",
          "current_balance": 364.29,
          "available_balance": 524.69,
          "currency": "GHS",
          "is_primary": true
        },
        {
          "account_number": "WLK1750100044-A02",
          "account_type": "Mobile Banking",
          "account_status": "Active",
          "current_balance": 416.19,
          "available_balance": 308.66,
          "currency": "GHS",
          "is_primary": false
        },
        {
          "account_number": "WLK1750100044-A03",
          "account_type": "Current Account",
          "account_status": "Active",
          "current_balance": 384.84,
          "available_balance": 283.32,
          "currency": "GHS",
          "is_primary": false
        }
      ],
      "transactions": [
        {
          "transaction_id": "WLK1750100044-A01-T001-70ee7b",
          "date": "2026-08-15T10:50:54",
          "amount": -86.68,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "Branch",
          "balance_after": 357.95
        },
        {
          "transaction_id": "WLK1750100044-A02-T001-e239cd",
          "date": "2026-06-01T08:50:54",
          "amount": 61.24,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 505.87
        },
        {
          "transaction_id": "WLK1750100044-A03-T001-592f09",
          "date": "2026-08-17T00:50:54",
          "amount": 50.64,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 495.27
        }
      ]
    },
    {
      "customer_id": "WLK1750100046",
      "name": "Mary Adjei",
      "age": 49,
      "gender": "Female",
      "occupation": "Nurse",
      "segment": "SMALL_BUSINESS",
      "total_balance": 63386.8,
      "average_monthly_balance": 57485.8,
      "risk_score": 0.132,
      "engagement_score": 0.623,
      "transaction_count": 31,
      "last_updated": "2026-08-21T17:50:54",
      "ai_analysis": {
        "products": [
          "Savings Account",
          "Mobile Banking",
          "Current Account"
        ],
        "key_insights": [
          "Mary holds ₵63,387 across 3 product(s).",
          "Engagement score 0.62; risk score 0.13.",
          "Profile aligns with Small Business criteria."
        ],
        "risk_indicators": [
          "None material"
        ],
        "confidence_score": 0.79,
        "growth_potential": "medium",
        "next_best_action": {
          "action": "Review business cash-flow needs",
          "customer_message": "Hi Mary, Review business cash-flow needs. Reply YES to continue."
        },
        "product_holdings": [
          "Savings Account",
          "Mobile Banking",
          "Current Account"
        ],
        "credit_assessment": {
          "rationale": "Income stability and small business holdings support business loan.",
          "creditworthy": true,
          "risk_factors": [
            "Market concentration"
          ],
          "recommended_limit": "₵20,000 - ₵150,000",
          "positive_indicators": [
            "Regular inflows",
            "Active digital usage"
          ],
          "recommended_facility": "business_loan",
          "credit_score_estimate": "medium"
        },
        "retention_actions": [
          {
            "action": "Dedicated business advisor",
            "customer_message": "Hi Mary, we value you — dedicated business advisor. Reply HELP for support."
          },
          {
            "action": "Fee waivers",
            "customer_message": "Hi Mary, we value you — fee waivers. Reply HELP for support."
          }
        ],
        "engagement_strategy": "Business banking specialist support",
        "recommended_segment": "SMALL_BUSINESS",
        "cross_sell_opportunities": [
          {
            "opportunity": "Business Loans",
            "customer_message": "Hi Mary, explore business loans with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "POS Solutions",
            "customer_message": "Hi Mary, explore pos solutions with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Payroll Services",
            "customer_message": "Hi Mary, explore payroll services with us. Reply YES or visit a branch."
          }
        ]
      },
      "phone_number": "233209366367",
      "email": "chuksdeveloper@gmail.com",
      "income_range": "₵5,000 - ₵15,000 GHS",
      "location": "Kumasi",
      "accounts": [
        {
          "account_number": "WLK1750100046-A01",
          "account_type": "Savings Account",
          "account_status": "Active",
          "current_balance": 18522.7,
          "available_balance": 24328.3,
          "currency": "GHS",
          "is_primary": true
        },
        {
          "account_number": "WLK1750100046-A02",
          "account_type": "Mobile Banking",
          "account_status": "Active",
          "current_balance": 23559.4,
          "available_balance": 24177.8,
          "currency": "GHS",
          "is_primary": false
        },
        {
          "account_number": "WLK1750100046-A03",
          "account_type": "Current Account",
          "account_status": "Active",
          "current_balance": 24046.8,
          "available_balance": 24859.9,
          "currency": "GHS",
          "is_primary": false
        }
      ],
      "transactions": [
        {
          "transaction_id": "WLK1750100046-A01-T001-f61348",
          "date": "2026-06-21T21:50:54",
          "amount": -1386.11,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Mobile Banking",
          "balance_after": 19742.8
        },
        {
          "transaction_id": "WLK1750100046-A01-T002-ac9e18",
          "date": "2026-06-07T00:50:54",
          "amount": 1450.84,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 21193.7
        },
        {
          "transaction_id": "WLK1750100046-A01-T003-2f6b11",
          "date": "2026-08-17T12:50:54",
          "amount": 798.27,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 21991.9
        },
        {
          "transaction_id": "WLK1750100046-A01-T004-2a7dcf",
          "date": "2026-07-26T03:50:54",
          "amount": -1188.82,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Branch",
          "balance_after": 20803.1
        },
        {
          "transaction_id": "WLK1750100046-A02-T001-c18ce7",
          "date": "2026-08-05T15:50:54",
          "amount": -1597.04,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "POS",
          "balance_after": 19531.9
        },
        {
          "transaction_id": "WLK1750100046-A02-T002-1a4404",
          "date": "2026-07-02T01:50:54",
          "amount": 1275.46,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 20807.4
        },
        {
          "transaction_id": "WLK1750100046-A02-T003-fa9e20",
          "date": "2026-07-30T07:50:54",
          "amount": 769.78,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 21577.1
        },
        {
          "transaction_id": "WLK1750100046-A02-T004-942ac0",
          "date": "2026-08-14T04:50:54",
          "amount": 341.01,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 21918.2
        },
        {
          "transaction_id": "WLK1750100046-A03-T001-c2e622",
          "date": "2026-08-04T11:50:54",
          "amount": 591.79,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 21720.7
        },
        {
          "transaction_id": "WLK1750100046-A03-T002-2fa5cc",
          "date": "2026-06-23T02:50:54",
          "amount": 1252.67,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 22973.4
        },
        {
          "transaction_id": "WLK1750100046-A03-T003-b7301b",
          "date": "2026-06-18T10:50:54",
          "amount": 1096.13,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 24069.5
        },
        {
          "transaction_id": "WLK1750100046-A03-T004-7d4940",
          "date": "2026-06-29T03:50:54",
          "amount": -1185.95,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Mobile Banking",
          "balance_after": 22883.6
        }
      ]
    },
    {
      "customer_id": "WLK1750100042",
      "name": "Nana Appiah",
      "age": 35,
      "gender": "Male",
      "occupation": "Doctor",
      "segment": "MASS_MARKET",
      "total_balance": 3364.82,
      "average_monthly_balance": 2871.07,
      "risk_score": 0.3519,
      "engagement_score": 0.5542,
      "transaction_count": 22,
      "last_updated": "2026-08-21T17:50:54",
      "ai_analysis": {
        "products": [
          "Savings Account",
          "Mobile Banking",
          "Current Account"
        ],
        "key_insights": [
          "Nana holds ₵3,365 across 3 product(s).",
          "Engagement score 0.55; risk score 0.35.",
          "Profile aligns with Mass Market criteria."
        ],
        "risk_indicators": [
          "None material"
        ],
        "confidence_score": 0.85,
        "growth_potential": "medium",
        "next_best_action": {
          "action": "Monitor customer activity",
          "customer_message": "Hi Nana, Monitor customer activity. Reply YES to continue."
        },
        "product_holdings": [
          "Savings Account",
          "Mobile Banking",
          "Current Account"
        ],
        "credit_assessment": {
          "rationale": "Mass Market profile does not currently meet credit criteria.",
          "creditworthy": false,
          "risk_factors": [
            "Limited repayment history"
          ],
          "recommended_limit": null,
          "positive_indicators": [
            "Existing deposit relationship"
          ],
          "recommended_facility": null,
          "credit_score_estimate": "low"
        },
        "retention_actions": [
          {
            "action": "Regular service delivery",
            "customer_message": "Hi Nana, we value you — regular service delivery. Reply HELP for support."
          }
        ],
        "engagement_strategy": "Standard relationship management",
        "recommended_segment": "MASS_MARKET",
        "cross_sell_opportunities": [
          {
            "opportunity": "Savings Accounts",
            "customer_message": "Hi Nana, explore savings accounts with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Mobile Banking",
            "customer_message": "Hi Nana, explore mobile banking with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Insurance",
            "customer_message": "Hi Nana, explore insurance with us. Reply YES or visit a branch."
          }
        ]
      },
      "phone_number": "233209366367",
      "email": "kylechukwuma@gmail.com",
      "income_range": "Above ₵100,000 GHS",
      "location": "Tamale",
      "accounts": [
        {
          "account_number": "WLK1750100042-A01",
          "account_type": "Savings Account",
          "account_status": "Active",
          "current_balance": 1001.84,
          "available_balance": 737.74,
          "currency": "GHS",
          "is_primary": true
        },
        {
          "account_number": "WLK1750100042-A02",
          "account_type": "Mobile Banking",
          "account_status": "Active",
          "current_balance": 1227.18,
          "available_balance": 1056.57,
          "currency": "GHS",
          "is_primary": false
        },
        {
          "account_number": "WLK1750100042-A03",
          "account_type": "Current Account",
          "account_status": "Active",
          "current_balance": 1360.99,
          "available_balance": 687.57,
          "currency": "GHS",
          "is_primary": false
        }
      ],
      "transactions": [
        {
          "transaction_id": "WLK1750100042-A01-T001-17911c",
          "date": "2026-08-04T12:50:54",
          "amount": 187.57,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 1309.18
        },
        {
          "transaction_id": "WLK1750100042-A01-T002-9d79bd",
          "date": "2026-08-08T16:50:54",
          "amount": -71.39,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "POS",
          "balance_after": 1237.79
        },
        {
          "transaction_id": "WLK1750100042-A01-T003-0e4ec1",
          "date": "2026-07-19T16:50:54",
          "amount": -153.73,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "ATM",
          "balance_after": 1084.06
        },
        {
          "transaction_id": "WLK1750100042-A01-T004-9d00bf",
          "date": "2026-07-24T21:50:54",
          "amount": 174.11,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 1258.17
        },
        {
          "transaction_id": "WLK1750100042-A01-T005-a07576",
          "date": "2026-06-21T21:50:54",
          "amount": -256.11,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Branch",
          "balance_after": 1002.06
        },
        {
          "transaction_id": "WLK1750100042-A01-T006-940385",
          "date": "2026-06-28T06:50:54",
          "amount": -161.92,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Branch",
          "balance_after": 840.14
        },
        {
          "transaction_id": "WLK1750100042-A01-T007-2ffb22",
          "date": "2026-07-13T15:50:54",
          "amount": -154.54,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Mobile Banking",
          "balance_after": 685.6
        },
        {
          "transaction_id": "WLK1750100042-A01-T008-ad012b",
          "date": "2026-07-02T11:50:54",
          "amount": 45.74,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 731.34
        },
        {
          "transaction_id": "WLK1750100042-A02-T001-9400c0",
          "date": "2026-06-10T04:50:54",
          "amount": -260.97,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Branch",
          "balance_after": 860.64
        },
        {
          "transaction_id": "WLK1750100042-A02-T002-1113eb",
          "date": "2026-06-27T14:50:54",
          "amount": -191.54,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "ATM",
          "balance_after": 669.1
        },
        {
          "transaction_id": "WLK1750100042-A02-T003-7affd5",
          "date": "2026-05-28T12:50:54",
          "amount": -159.87,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Branch",
          "balance_after": 509.23
        },
        {
          "transaction_id": "WLK1750100042-A02-T004-9c0490",
          "date": "2026-07-10T06:50:54",
          "amount": -249.52,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "POS",
          "balance_after": 259.71
        },
        {
          "transaction_id": "WLK1750100042-A02-T005-847753",
          "date": "2026-07-20T23:50:54",
          "amount": 230.11,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 489.82
        },
        {
          "transaction_id": "WLK1750100042-A02-T006-717e36",
          "date": "2026-07-19T06:50:54",
          "amount": -115.39,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "POS",
          "balance_after": 374.43
        },
        {
          "transaction_id": "WLK1750100042-A02-T007-cdd4c3",
          "date": "2026-08-16T08:50:54",
          "amount": 264.1,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 638.53
        },
        {
          "transaction_id": "WLK1750100042-A02-T008-4d3faa",
          "date": "2026-07-13T17:50:54",
          "amount": -151.64,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "ATM",
          "balance_after": 486.89
        },
        {
          "transaction_id": "WLK1750100042-A03-T001-42cd84",
          "date": "2026-07-16T00:50:54",
          "amount": -229.04,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Mobile Banking",
          "balance_after": 892.57
        },
        {
          "transaction_id": "WLK1750100042-A03-T002-c3e9ae",
          "date": "2026-08-03T09:50:54",
          "amount": 29.6,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 922.17
        },
        {
          "transaction_id": "WLK1750100042-A03-T003-bbd52d",
          "date": "2026-07-19T08:50:54",
          "amount": 246.25,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 1168.42
        },
        {
          "transaction_id": "WLK1750100042-A03-T004-360317",
          "date": "2026-07-24T15:50:54",
          "amount": -165.09,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "POS",
          "balance_after": 1003.33
        },
        {
          "transaction_id": "WLK1750100042-A03-T005-b64305",
          "date": "2026-05-23T23:50:54",
          "amount": -63.97,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Branch",
          "balance_after": 939.36
        },
        {
          "transaction_id": "WLK1750100042-A03-T006-d63d2f",
          "date": "2026-07-03T15:50:54",
          "amount": -29.5,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Branch",
          "balance_after": 909.86
        },
        {
          "transaction_id": "WLK1750100042-A03-T007-e8ac57",
          "date": "2026-06-28T14:50:54",
          "amount": -108.49,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Mobile Banking",
          "balance_after": 801.37
        },
        {
          "transaction_id": "WLK1750100042-A03-T008-ccea1f",
          "date": "2026-08-14T08:50:54",
          "amount": -181.21,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Branch",
          "balance_after": 620.16
        }
      ]
    },
    {
      "customer_id": "WLK1750100041",
      "name": "Michael Appiah",
      "age": 28,
      "gender": "Male",
      "occupation": "Civil Servant",
      "segment": "PREMIUM_WEALTH",
      "total_balance": 1450890.0,
      "average_monthly_balance": 1295360.0,
      "risk_score": 0.647,
      "engagement_score": 0.2941,
      "transaction_count": 30,
      "last_updated": "2026-08-21T17:50:54",
      "ai_analysis": {
        "products": [
          "Savings Account",
          "Mobile Banking",
          "Current Account"
        ],
        "key_insights": [
          "Michael holds ₵1,450,891 across 3 product(s).",
          "Engagement score 0.29; risk score 0.65.",
          "Profile aligns with Premium Wealth criteria."
        ],
        "risk_indicators": [
          "None material"
        ],
        "confidence_score": 0.92,
        "growth_potential": "high",
        "next_best_action": {
          "action": "Schedule wealth management consultation",
          "customer_message": "Hi Michael, Schedule wealth management consultation. Reply YES to continue."
        },
        "product_holdings": [
          "Savings Account",
          "Mobile Banking",
          "Current Account"
        ],
        "credit_assessment": {
          "rationale": "Income stability and premium wealth holdings support mortgage.",
          "creditworthy": true,
          "risk_factors": [],
          "recommended_limit": "₵150,000 - ₵500,000",
          "positive_indicators": [
            "Regular inflows",
            "Active digital usage"
          ],
          "recommended_facility": "mortgage",
          "credit_score_estimate": "high"
        },
        "retention_actions": [
          {
            "action": "Exclusive events",
            "customer_message": "Hi Michael, we value you — exclusive events. Reply HELP for support."
          },
          {
            "action": "Priority support",
            "customer_message": "Hi Michael, we value you — priority support. Reply HELP for support."
          },
          {
            "action": "Customized solutions",
            "customer_message": "Hi Michael, we value you — customized solutions. Reply HELP for support."
          }
        ],
        "engagement_strategy": "Dedicated relationship manager, premium services",
        "recommended_segment": "PREMIUM_WEALTH",
        "cross_sell_opportunities": [
          {
            "opportunity": "Wealth Management",
            "customer_message": "Hi Michael, explore wealth management with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Investment Advisory",
            "customer_message": "Hi Michael, explore investment advisory with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Private Banking",
            "customer_message": "Hi Michael, explore private banking with us. Reply YES or visit a branch."
          }
        ]
      },
      "phone_number": "233554694531",
      "email": "donchukz01@gmail.com",
      "income_range": "₵2,000 - ₵5,000 GHS",
      "location": "Kumasi",
      "accounts": [
        {
          "account_number": "WLK1750100041-A01",
          "account_type": "Savings Account",
          "account_status": "Active",
          "current_balance": 396339.0,
          "available_balance": 503553.0,
          "currency": "GHS",
          "is_primary": true
        },
        {
          "account_number": "WLK1750100041-A02",
          "account_type": "Mobile Banking",
          "account_status": "Active",
          "current_balance": 619676.0,
          "available_balance": 458794.0,
          "currency": "GHS",
          "is_primary": false
        },
        {
          "account_number": "WLK1750100041-A03",
          "account_type": "Current Account",
          "account_status": "Active",
          "current_balance": 548746.0,
          "available_balance": 362925.0,
          "currency": "GHS",
          "is_primary": false
        }
      ],
      "transactions": [
        {
          "transaction_id": "WLK1750100041-A01-T001-2a9ae3",
          "date": "2026-07-25T02:50:54",
          "amount": -206.04,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Branch",
          "balance_after": 483424.0
        },
        {
          "transaction_id": "WLK1750100041-A01-T002-d2c8b5",
          "date": "2026-08-15T00:50:54",
          "amount": 1873.71,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 485298.0
        },
        {
          "transaction_id": "WLK1750100041-A01-T003-c55770",
          "date": "2026-07-26T06:50:54",
          "amount": -521.56,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "ATM",
          "balance_after": 484776.0
        },
        {
          "transaction_id": "WLK1750100041-A01-T004-13364e",
          "date": "2026-06-26T07:50:54",
          "amount": 1947.08,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 486723.0
        },
        {
          "transaction_id": "WLK1750100041-A01-T005-ea51de",
          "date": "2026-08-05T05:50:54",
          "amount": 351.37,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 487075.0
        },
        {
          "transaction_id": "WLK1750100041-A02-T001-df6943",
          "date": "2026-08-01T06:50:54",
          "amount": -1387.69,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "ATM",
          "balance_after": 482243.0
        },
        {
          "transaction_id": "WLK1750100041-A02-T002-9cac80",
          "date": "2026-06-02T07:50:54",
          "amount": 332.24,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 482575.0
        },
        {
          "transaction_id": "WLK1750100041-A02-T003-05e56b",
          "date": "2026-05-23T00:50:54",
          "amount": -138.35,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "ATM",
          "balance_after": 482436.0
        },
        {
          "transaction_id": "WLK1750100041-A02-T004-da5139",
          "date": "2026-06-09T21:50:54",
          "amount": 985.93,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 483422.0
        },
        {
          "transaction_id": "WLK1750100041-A02-T005-cd86c2",
          "date": "2026-07-27T17:50:54",
          "amount": 1614.94,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 485037.0
        },
        {
          "transaction_id": "WLK1750100041-A03-T001-5085b6",
          "date": "2026-06-10T08:50:54",
          "amount": -98.19,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "ATM",
          "balance_after": 483532.0
        },
        {
          "transaction_id": "WLK1750100041-A03-T002-306c8f",
          "date": "2026-07-10T03:50:54",
          "amount": -1142.07,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "ATM",
          "balance_after": 482390.0
        },
        {
          "transaction_id": "WLK1750100041-A03-T003-9a24f9",
          "date": "2026-07-14T09:50:54",
          "amount": 156.38,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 482546.0
        },
        {
          "transaction_id": "WLK1750100041-A03-T004-085ef2",
          "date": "2026-06-17T05:50:54",
          "amount": -919.08,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Mobile Banking",
          "balance_after": 481627.0
        },
        {
          "transaction_id": "WLK1750100041-A03-T005-ddea4a",
          "date": "2026-06-02T10:50:54",
          "amount": 1247.07,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 482874.0
        }
      ]
    },
    {
      "customer_id": "WLK1750100040",
      "name": "Kwesi Darko",
      "age": 32,
      "gender": "Male",
      "occupation": "Trader",
      "segment": "HIGH_VALUE",
      "total_balance": 411370.0,
      "average_monthly_balance": 343554.0,
      "risk_score": 0.5313,
      "engagement_score": 0.1714,
      "transaction_count": 19,
      "last_updated": "2026-08-21T17:50:54",
      "ai_analysis": {
        "products": [
          "Savings Account",
          "Mobile Banking"
        ],
        "key_insights": [
          "Kwesi holds ₵411,370 across 2 product(s).",
          "Engagement score 0.17; risk score 0.53.",
          "Profile aligns with High Value criteria."
        ],
        "risk_indicators": [
          "None material"
        ],
        "confidence_score": 0.93,
        "growth_potential": "high",
        "next_best_action": {
          "action": "Offer investment consultation",
          "customer_message": "Hi Kwesi, Offer investment consultation. Reply YES to continue."
        },
        "product_holdings": [
          "Savings Account",
          "Mobile Banking"
        ],
        "credit_assessment": {
          "rationale": "Income stability and high value holdings support credit card.",
          "creditworthy": true,
          "risk_factors": [],
          "recommended_limit": "₵10,000 - ₵40,000",
          "positive_indicators": [
            "Regular inflows",
            "Active digital usage"
          ],
          "recommended_facility": "credit_card",
          "credit_score_estimate": "high"
        },
        "retention_actions": [
          {
            "action": "Preferential rates",
            "customer_message": "Hi Kwesi, we value you — preferential rates. Reply HELP for support."
          },
          {
            "action": "Priority support",
            "customer_message": "Hi Kwesi, we value you — priority support. Reply HELP for support."
          }
        ],
        "engagement_strategy": "Priority banking, regular reviews",
        "recommended_segment": "HIGH_VALUE",
        "cross_sell_opportunities": [
          {
            "opportunity": "Investment Products",
            "customer_message": "Hi Kwesi, explore investment products with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Insurance",
            "customer_message": "Hi Kwesi, explore insurance with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Premium Cards",
            "customer_message": "Hi Kwesi, explore premium cards with us. Reply YES or visit a branch."
          }
        ]
      },
      "phone_number": "233249430715",
      "email": "chuksdeveloper@gmail.com",
      "income_range": "₵15,000 - ₵50,000 GHS",
      "location": "Takoradi",
      "accounts": [
        {
          "account_number": "WLK1750100040-A01",
          "account_type": "Savings Account",
          "account_status": "Active",
          "current_balance": 160654.0,
          "available_balance": 240465.0,
          "currency": "GHS",
          "is_primary": true
        },
        {
          "account_number": "WLK1750100040-A02",
          "account_type": "Mobile Banking",
          "account_status": "Active",
          "current_balance": 221151.0,
          "available_balance": 187166.0,
          "currency": "GHS",
          "is_primary": false
        }
      ],
      "transactions": [
        {
          "transaction_id": "WLK1750100040-A01-T001-bf3d77",
          "date": "2026-06-22T21:50:54",
          "amount": -1087.79,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Branch",
          "balance_after": 204597.0
        },
        {
          "transaction_id": "WLK1750100040-A01-T002-6138ab",
          "date": "2026-07-22T15:50:54",
          "amount": -1819.67,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Branch",
          "balance_after": 202778.0
        },
        {
          "transaction_id": "WLK1750100040-A01-T003-eedff4",
          "date": "2026-07-13T17:50:54",
          "amount": 744.25,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 203522.0
        },
        {
          "transaction_id": "WLK1750100040-A01-T004-a0ed46",
          "date": "2026-08-03T06:50:54",
          "amount": -1056.17,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "POS",
          "balance_after": 202466.0
        },
        {
          "transaction_id": "WLK1750100040-A01-T005-08bbbc",
          "date": "2026-06-19T02:50:54",
          "amount": -1079.5,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "Mobile Banking",
          "balance_after": 201386.0
        },
        {
          "transaction_id": "WLK1750100040-A01-T006-7933c3",
          "date": "2026-06-05T10:50:54",
          "amount": -1536.42,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Branch",
          "balance_after": 199850.0
        },
        {
          "transaction_id": "WLK1750100040-A01-T007-0f0980",
          "date": "2026-06-26T05:50:54",
          "amount": -393.37,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "ATM",
          "balance_after": 199456.0
        },
        {
          "transaction_id": "WLK1750100040-A01-T008-6ab24d",
          "date": "2026-07-03T10:50:54",
          "amount": -1435.58,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "Mobile Banking",
          "balance_after": 198021.0
        },
        {
          "transaction_id": "WLK1750100040-A02-T001-10dde6",
          "date": "2026-05-24T09:50:54",
          "amount": -1603.92,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "Branch",
          "balance_after": 204081.0
        },
        {
          "transaction_id": "WLK1750100040-A02-T002-6ed90e",
          "date": "2026-07-28T13:50:54",
          "amount": -837.55,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "Mobile Banking",
          "balance_after": 203244.0
        },
        {
          "transaction_id": "WLK1750100040-A02-T003-8a4742",
          "date": "2026-07-16T22:50:54",
          "amount": -1281.05,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "ATM",
          "balance_after": 201963.0
        },
        {
          "transaction_id": "WLK1750100040-A02-T004-c8f3c8",
          "date": "2026-06-13T17:50:54",
          "amount": 654.87,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 202617.0
        },
        {
          "transaction_id": "WLK1750100040-A02-T005-8b75ca",
          "date": "2026-08-04T03:50:54",
          "amount": 1945.22,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 204563.0
        },
        {
          "transaction_id": "WLK1750100040-A02-T006-998a8a",
          "date": "2026-06-18T11:50:54",
          "amount": 480.96,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 205044.0
        },
        {
          "transaction_id": "WLK1750100040-A02-T007-140b01",
          "date": "2026-06-18T06:50:54",
          "amount": -852.08,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Mobile Banking",
          "balance_after": 204191.0
        },
        {
          "transaction_id": "WLK1750100040-A02-T008-d54159",
          "date": "2026-08-02T16:50:54",
          "amount": -673.89,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "POS",
          "balance_after": 203518.0
        }
      ]
    },
    {
      "customer_id": "WLK1750100039",
      "name": "Kofi Adjei",
      "age": 54,
      "gender": "Male",
      "occupation": "Accountant",
      "segment": "DORMANT",
      "total_balance": 1583.85,
      "average_monthly_balance": 1446.93,
      "risk_score": 0.5861,
      "engagement_score": 0.8541,
      "transaction_count": 10,
      "last_updated": "2026-08-21T17:50:54",
      "ai_analysis": {
        "products": [
          "Savings Account",
          "Mobile Banking",
          "Current Account"
        ],
        "key_insights": [
          "Kofi holds ₵1,584 across 3 product(s).",
          "Engagement score 0.85; risk score 0.59.",
          "Profile aligns with Dormant criteria."
        ],
        "risk_indicators": [
          "Declining engagement",
          "Low recent activity"
        ],
        "confidence_score": 0.85,
        "growth_potential": "low",
        "next_best_action": {
          "action": "Send reactivation SMS and email",
          "customer_message": "Hi Kofi, Send reactivation SMS and email. Reply YES to continue."
        },
        "product_holdings": [
          "Savings Account",
          "Mobile Banking",
          "Current Account"
        ],
        "credit_assessment": {
          "rationale": "Dormant profile does not currently meet credit criteria.",
          "creditworthy": false,
          "risk_factors": [
            "Limited repayment history"
          ],
          "recommended_limit": null,
          "positive_indicators": [
            "Existing deposit relationship"
          ],
          "recommended_facility": null,
          "credit_score_estimate": "insufficient_data"
        },
        "retention_actions": [
          {
            "action": "Win-back offers",
            "customer_message": "Hi Kofi, we value you — win-back offers. Reply HELP for support."
          },
          {
            "action": "Account reactivation bonus",
            "customer_message": "Hi Kofi, we value you — account reactivation bonus. Reply HELP for support."
          }
        ],
        "engagement_strategy": "Reactivation campaign with incentives",
        "recommended_segment": "DORMANT",
        "cross_sell_opportunities": [
          {
            "opportunity": "Zero-fee accounts",
            "customer_message": "Hi Kofi, explore zero-fee accounts with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Mobile Banking",
            "customer_message": "Hi Kofi, explore mobile banking with us. Reply YES or visit a branch."
          }
        ]
      },
      "phone_number": "233548617798",
      "email": "kylechukwuma@gmail.com",
      "income_range": "₵2,000 - ₵5,000 GHS",
      "location": "Tema",
      "accounts": [
        {
          "account_number": "WLK1750100039-A01",
          "account_type": "Savings Account",
          "account_status": "Active",
          "current_balance": 667.47,
          "available_balance": 538.73,
          "currency": "GHS",
          "is_primary": true
        },
        {
          "account_number": "WLK1750100039-A02",
          "account_type": "Mobile Banking",
          "account_status": "Active",
          "current_balance": 543.29,
          "available_balance": 325.12,
          "currency": "GHS",
          "is_primary": false
        },
        {
          "account_number": "WLK1750100039-A03",
          "account_type": "Current Account",
          "account_status": "Active",
          "current_balance": 577.0,
          "available_balance": 597.26,
          "currency": "GHS",
          "is_primary": false
        }
      ],
      "transactions": [
        {
          "transaction_id": "WLK1750100039-A01-T001-9a7e34",
          "date": "2026-08-07T14:50:54",
          "amount": 30.86,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 558.81
        },
        {
          "transaction_id": "WLK1750100039-A02-T001-ffb23d",
          "date": "2026-08-10T14:50:54",
          "amount": -73.83,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "ATM",
          "balance_after": 454.12
        },
        {
          "transaction_id": "WLK1750100039-A03-T001-46a4bc",
          "date": "2026-07-15T03:50:54",
          "amount": 61.95,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 589.9
        }
      ]
    },
    {
      "customer_id": "WLK1750100038",
      "name": "Abena Appiah",
      "age": 42,
      "gender": "Female",
      "occupation": "Driver",
      "segment": "NEW_CUSTOMER",
      "total_balance": 5645.09,
      "average_monthly_balance": 4157.39,
      "risk_score": 0.5685,
      "engagement_score": 0.7606,
      "transaction_count": 49,
      "last_updated": "2026-08-21T17:50:54",
      "ai_analysis": {
        "products": [
          "Savings Account",
          "Mobile Banking",
          "Investment Account"
        ],
        "key_insights": [
          "Abena holds ₵5,645 across 3 product(s).",
          "Engagement score 0.76; risk score 0.57.",
          "Profile aligns with New Customer criteria."
        ],
        "risk_indicators": [
          "None material"
        ],
        "confidence_score": 0.91,
        "growth_potential": "medium",
        "next_best_action": {
          "action": "Complete digital onboarding checklist",
          "customer_message": "Hi Abena, Complete digital onboarding checklist. Reply YES to continue."
        },
        "product_holdings": [
          "Savings Account",
          "Mobile Banking",
          "Investment Account"
        ],
        "credit_assessment": {
          "rationale": "New Customer profile does not currently meet credit criteria.",
          "creditworthy": false,
          "risk_factors": [
            "Limited repayment history"
          ],
          "recommended_limit": null,
          "positive_indicators": [
            "Existing deposit relationship"
          ],
          "recommended_facility": null,
          "credit_score_estimate": "insufficient_data"
        },
        "retention_actions": [
          {
            "action": "Welcome calls",
            "customer_message": "Hi Abena, we value you — welcome calls. Reply HELP for support."
          },
          {
            "action": "Onboarding support",
            "customer_message": "Hi Abena, we value you — onboarding support. Reply HELP for support."
          }
        ],
        "engagement_strategy": "Onboarding journey and product education",
        "recommended_segment": "NEW_CUSTOMER",
        "cross_sell_opportunities": [
          {
            "opportunity": "Mobile Banking",
            "customer_message": "Hi Abena, explore mobile banking with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Debit Card",
            "customer_message": "Hi Abena, explore debit card with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Savings Plan",
            "customer_message": "Hi Abena, explore savings plan with us. Reply YES or visit a branch."
          }
        ]
      },
      "phone_number": "233209366367",
      "email": "donchukz01@gmail.com",
      "income_range": "₵15,000 - ₵50,000 GHS",
      "location": "Madina, Accra",
      "accounts": [
        {
          "account_number": "WLK1750100038-A01",
          "account_type": "Savings Account",
          "account_status": "Active",
          "current_balance": 2226.8,
          "available_balance": 1328.41,
          "currency": "GHS",
          "is_primary": true
        },
        {
          "account_number": "WLK1750100038-A02",
          "account_type": "Mobile Banking",
          "account_status": "Active",
          "current_balance": 2157.85,
          "available_balance": 1422.3,
          "currency": "GHS",
          "is_primary": false
        },
        {
          "account_number": "WLK1750100038-A03",
          "account_type": "Investment Account",
          "account_status": "Active",
          "current_balance": 1640.68,
          "available_balance": 1842.23,
          "currency": "GHS",
          "is_primary": false
        }
      ],
      "transactions": [
        {
          "transaction_id": "WLK1750100038-A01-T001-2e1f4a",
          "date": "2026-06-01T01:50:54",
          "amount": -223.01,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "POS",
          "balance_after": 1658.69
        },
        {
          "transaction_id": "WLK1750100038-A01-T002-43928e",
          "date": "2026-06-09T16:50:54",
          "amount": -141.92,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Mobile Banking",
          "balance_after": 1516.77
        },
        {
          "transaction_id": "WLK1750100038-A01-T003-d3e601",
          "date": "2026-07-19T02:50:54",
          "amount": 300.59,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 1817.36
        },
        {
          "transaction_id": "WLK1750100038-A02-T001-78c904",
          "date": "2026-07-19T06:50:54",
          "amount": -166.41,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "POS",
          "balance_after": 1715.29
        },
        {
          "transaction_id": "WLK1750100038-A02-T002-71c376",
          "date": "2026-06-04T11:50:54",
          "amount": -69.26,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Branch",
          "balance_after": 1646.03
        },
        {
          "transaction_id": "WLK1750100038-A02-T003-26e58d",
          "date": "2026-06-19T03:50:54",
          "amount": -164.29,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "POS",
          "balance_after": 1481.74
        },
        {
          "transaction_id": "WLK1750100038-A03-T001-553162",
          "date": "2026-07-08T04:50:54",
          "amount": 78.86,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 1960.56
        },
        {
          "transaction_id": "WLK1750100038-A03-T002-1014de",
          "date": "2026-07-31T07:50:54",
          "amount": 364.94,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 2325.5
        },
        {
          "transaction_id": "WLK1750100038-A03-T003-3d3c53",
          "date": "2026-07-16T22:50:54",
          "amount": -147.38,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Branch",
          "balance_after": 2178.12
        }
      ]
    },
    {
      "customer_id": "WLK1750100037",
      "name": "Mary Gyasi",
      "age": 42,
      "gender": "Female",
      "occupation": "Entrepreneur",
      "segment": "SMALL_BUSINESS",
      "total_balance": 92418.7,
      "average_monthly_balance": 74470.4,
      "risk_score": 0.3586,
      "engagement_score": 0.5334,
      "transaction_count": 36,
      "last_updated": "2026-08-21T17:50:54",
      "ai_analysis": {
        "products": [
          "Savings Account",
          "Mobile Banking",
          "Current Account",
          "Business Account"
        ],
        "key_insights": [
          "Mary holds ₵92,419 across 4 product(s).",
          "Engagement score 0.53; risk score 0.36.",
          "Profile aligns with Small Business criteria."
        ],
        "risk_indicators": [
          "None material"
        ],
        "confidence_score": 0.9,
        "growth_potential": "medium",
        "next_best_action": {
          "action": "Review business cash-flow needs",
          "customer_message": "Hi Mary, Review business cash-flow needs. Reply YES to continue."
        },
        "product_holdings": [
          "Savings Account",
          "Mobile Banking",
          "Current Account",
          "Business Account"
        ],
        "credit_assessment": {
          "rationale": "Income stability and small business holdings support business loan.",
          "creditworthy": true,
          "risk_factors": [
            "Market concentration"
          ],
          "recommended_limit": "₵20,000 - ₵150,000",
          "positive_indicators": [
            "Regular inflows",
            "Active digital usage"
          ],
          "recommended_facility": "business_loan",
          "credit_score_estimate": "medium"
        },
        "retention_actions": [
          {
            "action": "Dedicated business advisor",
            "customer_message": "Hi Mary, we value you — dedicated business advisor. Reply HELP for support."
          },
          {
            "action": "Fee waivers",
            "customer_message": "Hi Mary, we value you — fee waivers. Reply HELP for support."
          }
        ],
        "engagement_strategy": "Business banking specialist support",
        "recommended_segment": "SMALL_BUSINESS",
        "cross_sell_opportunities": [
          {
            "opportunity": "Business Loans",
            "customer_message": "Hi Mary, explore business loans with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "POS Solutions",
            "customer_message": "Hi Mary, explore pos solutions with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Payroll Services",
            "customer_message": "Hi Mary, explore payroll services with us. Reply YES or visit a branch."
          }
        ]
      },
      "phone_number": "233554694531",
      "email": "chuksdeveloper@gmail.com",
      "income_range": "Above ₵100,000 GHS",
      "location": "Tema",
      "accounts": [
        {
          "account_number": "WLK1750100037-A01",
          "account_type": "Savings Account",
          "account_status": "Active",
          "current_balance": 20987.7,
          "available_balance": 25790.4,
          "currency": "GHS",
          "is_primary": true
        },
        {
          "account_number": "WLK1750100037-A02",
          "account_type": "Mobile Banking",
          "account_status": "Active",
          "current_balance": 16337.1,
          "available_balance": 16784.4,
          "currency": "GHS",
          "is_primary": false
        },
        {
          "account_number": "WLK1750100037-A03",
          "account_type": "Current Account",
          "account_status": "Active",
          "current_balance": 19817.1,
          "available_balance": 17597.6,
          "currency": "GHS",
          "is_primary": false
        },
        {
          "account_number": "WLK1750100037-A04",
          "account_type": "Business Account",
          "account_status": "Active",
          "current_balance": 21983.1,
          "available_balance": 24290.3,
          "currency": "GHS",
          "is_primary": false
        }
      ],
      "transactions": [
        {
          "transaction_id": "WLK1750100037-A01-T001-b3f312",
          "date": "2026-08-05T01:50:54",
          "amount": -1556.29,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Branch",
          "balance_after": 21548.4
        },
        {
          "transaction_id": "WLK1750100037-A02-T001-abcd8d",
          "date": "2026-06-03T09:50:54",
          "amount": 1170.4,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 24275.1
        },
        {
          "transaction_id": "WLK1750100037-A03-T001-9d621c",
          "date": "2026-07-28T02:50:54",
          "amount": 1917.88,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 25022.6
        },
        {
          "transaction_id": "WLK1750100037-A04-T001-6c8fa1",
          "date": "2026-06-24T12:50:54",
          "amount": 742.85,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 23847.5
        }
      ]
    },
    {
      "customer_id": "WLK1750100036",
      "name": "Samuel Mensah",
      "age": 37,
      "gender": "Male",
      "occupation": "Doctor",
      "segment": "AT_RISK",
      "total_balance": 37659.9,
      "average_monthly_balance": 31800.5,
      "risk_score": 0.4136,
      "engagement_score": 0.7378,
      "transaction_count": 51,
      "last_updated": "2026-08-21T17:50:54",
      "ai_analysis": {
        "products": [
          "Savings Account",
          "Mobile Banking",
          "Current Account"
        ],
        "key_insights": [
          "Samuel holds ₵37,660 across 3 product(s).",
          "Engagement score 0.74; risk score 0.41.",
          "Profile aligns with At Risk criteria."
        ],
        "risk_indicators": [
          "Declining engagement",
          "Low recent activity"
        ],
        "confidence_score": 0.81,
        "growth_potential": "low",
        "next_best_action": {
          "action": "Assign relationship manager for retention call",
          "customer_message": "Hi Samuel, Assign relationship manager for retention call. Reply YES to continue."
        },
        "product_holdings": [
          "Savings Account",
          "Mobile Banking",
          "Current Account"
        ],
        "credit_assessment": {
          "rationale": "At Risk profile does not currently meet credit criteria.",
          "creditworthy": false,
          "risk_factors": [
            "Limited repayment history"
          ],
          "recommended_limit": null,
          "positive_indicators": [
            "Existing deposit relationship"
          ],
          "recommended_facility": null,
          "credit_score_estimate": "low"
        },
        "retention_actions": [
          {
            "action": "Personal outreach",
            "customer_message": "Hi Samuel, we value you — personal outreach. Reply HELP for support."
          },
          {
            "action": "Satisfaction check",
            "customer_message": "Hi Samuel, we value you — satisfaction check. Reply HELP for support."
          }
        ],
        "engagement_strategy": "Proactive re-engagement and retention outreach",
        "recommended_segment": "AT_RISK",
        "cross_sell_opportunities": [
          {
            "opportunity": "Fee waivers",
            "customer_message": "Hi Samuel, explore fee waivers with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Financial advisory",
            "customer_message": "Hi Samuel, explore financial advisory with us. Reply YES or visit a branch."
          }
        ]
      },
      "phone_number": "233249430715",
      "email": "kylechukwuma@gmail.com",
      "income_range": "₵5,000 - ₵15,000 GHS",
      "location": "Cape Coast",
      "accounts": [
        {
          "account_number": "WLK1750100036-A01",
          "account_type": "Savings Account",
          "account_status": "Active",
          "current_balance": 14329.2,
          "available_balance": 13971.8,
          "currency": "GHS",
          "is_primary": true
        },
        {
          "account_number": "WLK1750100036-A02",
          "account_type": "Mobile Banking",
          "account_status": "Active",
          "current_balance": 10589.4,
          "available_balance": 7534.15,
          "currency": "GHS",
          "is_primary": false
        },
        {
          "account_number": "WLK1750100036-A03",
          "account_type": "Current Account",
          "account_status": "Active",
          "current_balance": 11893.7,
          "available_balance": 10191.5,
          "currency": "GHS",
          "is_primary": false
        }
      ],
      "transactions": [
        {
          "transaction_id": "WLK1750100036-A01-T001-8d4e0f",
          "date": "2026-06-24T12:50:54",
          "amount": -1325.38,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "ATM",
          "balance_after": 11227.9
        },
        {
          "transaction_id": "WLK1750100036-A01-T002-867830",
          "date": "2026-06-10T22:50:54",
          "amount": -1026.52,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "ATM",
          "balance_after": 10201.4
        },
        {
          "transaction_id": "WLK1750100036-A01-T003-80b5de",
          "date": "2026-08-09T13:50:54",
          "amount": -790.43,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "POS",
          "balance_after": 9410.99
        },
        {
          "transaction_id": "WLK1750100036-A01-T004-0ccf56",
          "date": "2026-07-04T15:50:54",
          "amount": 194.52,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 9605.51
        },
        {
          "transaction_id": "WLK1750100036-A01-T005-ea0f1f",
          "date": "2026-06-29T22:50:54",
          "amount": -1454.5,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "Mobile Banking",
          "balance_after": 8151.01
        },
        {
          "transaction_id": "WLK1750100036-A01-T006-d7c194",
          "date": "2026-05-31T02:50:54",
          "amount": -1892.52,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Mobile Banking",
          "balance_after": 6258.49
        },
        {
          "transaction_id": "WLK1750100036-A01-T007-747c2c",
          "date": "2026-06-15T08:50:54",
          "amount": -419.38,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Mobile Banking",
          "balance_after": 5839.11
        },
        {
          "transaction_id": "WLK1750100036-A01-T008-9728b2",
          "date": "2026-05-23T10:50:54",
          "amount": -1572.24,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Mobile Banking",
          "balance_after": 4266.87
        },
        {
          "transaction_id": "WLK1750100036-A02-T001-b0a366",
          "date": "2026-06-30T06:50:54",
          "amount": -331.74,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "POS",
          "balance_after": 12221.6
        },
        {
          "transaction_id": "WLK1750100036-A02-T002-40f91b",
          "date": "2026-08-12T15:50:54",
          "amount": -1180.44,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "Branch",
          "balance_after": 11041.1
        },
        {
          "transaction_id": "WLK1750100036-A02-T003-0c87c5",
          "date": "2026-07-22T22:50:54",
          "amount": -708.0,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "POS",
          "balance_after": 10333.1
        },
        {
          "transaction_id": "WLK1750100036-A02-T004-e331e2",
          "date": "2026-07-18T12:50:54",
          "amount": -1860.83,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Mobile Banking",
          "balance_after": 8472.31
        },
        {
          "transaction_id": "WLK1750100036-A02-T005-35dc55",
          "date": "2026-07-08T14:50:54",
          "amount": -1126.09,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "Branch",
          "balance_after": 7346.22
        },
        {
          "transaction_id": "WLK1750100036-A02-T006-28db7b",
          "date": "2026-06-09T02:50:54",
          "amount": -1394.5,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Branch",
          "balance_after": 5951.72
        },
        {
          "transaction_id": "WLK1750100036-A02-T007-1cb21d",
          "date": "2026-06-22T23:50:54",
          "amount": -1923.25,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "POS",
          "balance_after": 4028.47
        },
        {
          "transaction_id": "WLK1750100036-A02-T008-9ee0f1",
          "date": "2026-05-31T10:50:54",
          "amount": 250.21,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 4278.68
        },
        {
          "transaction_id": "WLK1750100036-A03-T001-437c5b",
          "date": "2026-07-18T10:50:54",
          "amount": -1080.59,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "Mobile Banking",
          "balance_after": 11472.7
        },
        {
          "transaction_id": "WLK1750100036-A03-T002-d936ee",
          "date": "2026-07-08T15:50:54",
          "amount": -809.88,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "POS",
          "balance_after": 10662.8
        },
        {
          "transaction_id": "WLK1750100036-A03-T003-e8926e",
          "date": "2026-06-08T09:50:54",
          "amount": 641.47,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 11304.3
        },
        {
          "transaction_id": "WLK1750100036-A03-T004-b6cce8",
          "date": "2026-07-27T02:50:54",
          "amount": -1895.29,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "ATM",
          "balance_after": 9409.03
        },
        {
          "transaction_id": "WLK1750100036-A03-T005-b04d78",
          "date": "2026-07-25T10:50:54",
          "amount": -1476.15,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "ATM",
          "balance_after": 7932.88
        },
        {
          "transaction_id": "WLK1750100036-A03-T006-d3bf3a",
          "date": "2026-08-07T14:50:54",
          "amount": 1675.94,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 9608.82
        },
        {
          "transaction_id": "WLK1750100036-A03-T007-412d68",
          "date": "2026-06-03T17:50:54",
          "amount": -1358.11,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "POS",
          "balance_after": 8250.71
        },
        {
          "transaction_id": "WLK1750100036-A03-T008-80acf5",
          "date": "2026-06-08T09:50:54",
          "amount": 754.97,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 9005.68
        }
      ]
    },
    {
      "customer_id": "WLK1750100035",
      "name": "Kwame Adjei",
      "age": 33,
      "gender": "Male",
      "occupation": "Teacher",
      "segment": "NEW_CUSTOMER",
      "total_balance": 7111.64,
      "average_monthly_balance": 6297.2,
      "risk_score": 0.5215,
      "engagement_score": 0.1799,
      "transaction_count": 39,
      "last_updated": "2026-08-21T17:50:54",
      "ai_analysis": {
        "products": [
          "Savings Account",
          "Mobile Banking",
          "Current Account"
        ],
        "key_insights": [
          "Kwame holds ₵7,112 across 3 product(s).",
          "Engagement score 0.18; risk score 0.52.",
          "Profile aligns with New Customer criteria."
        ],
        "risk_indicators": [
          "None material"
        ],
        "confidence_score": 0.74,
        "growth_potential": "medium",
        "next_best_action": {
          "action": "Complete digital onboarding checklist",
          "customer_message": "Hi Kwame, Complete digital onboarding checklist. Reply YES to continue."
        },
        "product_holdings": [
          "Savings Account",
          "Mobile Banking",
          "Current Account"
        ],
        "credit_assessment": {
          "rationale": "New Customer profile does not currently meet credit criteria.",
          "creditworthy": false,
          "risk_factors": [
            "Limited repayment history"
          ],
          "recommended_limit": null,
          "positive_indicators": [
            "Existing deposit relationship"
          ],
          "recommended_facility": null,
          "credit_score_estimate": "insufficient_data"
        },
        "retention_actions": [
          {
            "action": "Welcome calls",
            "customer_message": "Hi Kwame, we value you — welcome calls. Reply HELP for support."
          },
          {
            "action": "Onboarding support",
            "customer_message": "Hi Kwame, we value you — onboarding support. Reply HELP for support."
          }
        ],
        "engagement_strategy": "Onboarding journey and product education",
        "recommended_segment": "NEW_CUSTOMER",
        "cross_sell_opportunities": [
          {
            "opportunity": "Mobile Banking",
            "customer_message": "Hi Kwame, explore mobile banking with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Debit Card",
            "customer_message": "Hi Kwame, explore debit card with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Savings Plan",
            "customer_message": "Hi Kwame, explore savings plan with us. Reply YES or visit a branch."
          }
        ]
      },
      "phone_number": "233548617798",
      "email": "donchukz01@gmail.com",
      "income_range": "₵5,000 - ₵15,000 GHS",
      "location": "East Legon, Accra",
      "accounts": [
        {
          "account_number": "WLK1750100035-A01",
          "account_type": "Savings Account",
          "account_status": "Active",
          "current_balance": 1906.65,
          "available_balance": 2352.07,
          "currency": "GHS",
          "is_primary": true
        },
        {
          "account_number": "WLK1750100035-A02",
          "account_type": "Mobile Banking",
          "account_status": "Active",
          "current_balance": 1895.97,
          "available_balance": 2734.35,
          "currency": "GHS",
          "is_primary": false
        },
        {
          "account_number": "WLK1750100035-A03",
          "account_type": "Current Account",
          "account_status": "Active",
          "current_balance": 2597.26,
          "available_balance": 2705.25,
          "currency": "GHS",
          "is_primary": false
        }
      ],
      "transactions": [
        {
          "transaction_id": "WLK1750100035-A01-T001-7f06cc",
          "date": "2026-08-11T01:50:54",
          "amount": -204.15,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "POS",
          "balance_after": 2166.4
        },
        {
          "transaction_id": "WLK1750100035-A01-T002-aea4cc",
          "date": "2026-06-30T06:50:54",
          "amount": 510.33,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 2676.73
        },
        {
          "transaction_id": "WLK1750100035-A01-T003-52e94b",
          "date": "2026-06-04T17:50:54",
          "amount": -265.43,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "POS",
          "balance_after": 2411.3
        },
        {
          "transaction_id": "WLK1750100035-A01-T004-58731c",
          "date": "2026-05-30T09:50:54",
          "amount": 103.48,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 2514.78
        },
        {
          "transaction_id": "WLK1750100035-A01-T005-0fa400",
          "date": "2026-06-04T14:50:54",
          "amount": 95.74,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 2610.52
        },
        {
          "transaction_id": "WLK1750100035-A01-T006-32b556",
          "date": "2026-08-06T02:50:54",
          "amount": 229.01,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 2839.53
        },
        {
          "transaction_id": "WLK1750100035-A01-T007-f3d65e",
          "date": "2026-05-30T04:50:54",
          "amount": -261.48,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "ATM",
          "balance_after": 2578.05
        },
        {
          "transaction_id": "WLK1750100035-A01-T008-067217",
          "date": "2026-07-31T13:50:54",
          "amount": -41.75,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "ATM",
          "balance_after": 2536.3
        },
        {
          "transaction_id": "WLK1750100035-A02-T001-900204",
          "date": "2026-06-08T21:50:54",
          "amount": 280.44,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 2650.99
        },
        {
          "transaction_id": "WLK1750100035-A02-T002-23b031",
          "date": "2026-07-15T15:50:54",
          "amount": -462.86,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "POS",
          "balance_after": 2188.13
        },
        {
          "transaction_id": "WLK1750100035-A02-T003-9b9ebc",
          "date": "2026-06-20T12:50:54",
          "amount": -325.76,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "POS",
          "balance_after": 1862.37
        },
        {
          "transaction_id": "WLK1750100035-A02-T004-72431a",
          "date": "2026-07-27T22:50:54",
          "amount": -322.89,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "ATM",
          "balance_after": 1539.48
        },
        {
          "transaction_id": "WLK1750100035-A02-T005-5b78ab",
          "date": "2026-06-22T22:50:54",
          "amount": 385.07,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 1924.55
        },
        {
          "transaction_id": "WLK1750100035-A02-T006-f1e4fa",
          "date": "2026-08-07T17:50:54",
          "amount": 135.85,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 2060.4
        },
        {
          "transaction_id": "WLK1750100035-A02-T007-71a6b1",
          "date": "2026-05-25T04:50:54",
          "amount": -283.5,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Mobile Banking",
          "balance_after": 1776.9
        },
        {
          "transaction_id": "WLK1750100035-A02-T008-e95056",
          "date": "2026-06-05T16:50:54",
          "amount": -109.44,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Mobile Banking",
          "balance_after": 1667.46
        },
        {
          "transaction_id": "WLK1750100035-A03-T001-f548b6",
          "date": "2026-05-25T21:50:54",
          "amount": 291.86,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 2662.41
        },
        {
          "transaction_id": "WLK1750100035-A03-T002-72f094",
          "date": "2026-08-15T01:50:54",
          "amount": 283.17,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 2945.58
        },
        {
          "transaction_id": "WLK1750100035-A03-T003-b84021",
          "date": "2026-07-03T06:50:54",
          "amount": -135.69,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "POS",
          "balance_after": 2809.89
        },
        {
          "transaction_id": "WLK1750100035-A03-T004-90802a",
          "date": "2026-07-22T15:50:54",
          "amount": -87.49,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "POS",
          "balance_after": 2722.4
        },
        {
          "transaction_id": "WLK1750100035-A03-T005-17f8fb",
          "date": "2026-08-19T23:50:54",
          "amount": 149.96,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 2872.36
        },
        {
          "transaction_id": "WLK1750100035-A03-T006-726aa7",
          "date": "2026-07-25T07:50:54",
          "amount": 282.02,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 3154.38
        },
        {
          "transaction_id": "WLK1750100035-A03-T007-2ef7a3",
          "date": "2026-05-28T23:50:54",
          "amount": 202.62,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 3357.0
        },
        {
          "transaction_id": "WLK1750100035-A03-T008-609462",
          "date": "2026-06-09T06:50:54",
          "amount": -151.73,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "POS",
          "balance_after": 3205.27
        }
      ]
    },
    {
      "customer_id": "WLK1750100034",
      "name": "Joseph Adjei",
      "age": 42,
      "gender": "Male",
      "occupation": "Software Engineer",
      "segment": "YOUNG_PROFESSIONAL",
      "total_balance": 1602.01,
      "average_monthly_balance": 1402.11,
      "risk_score": 0.4476,
      "engagement_score": 0.655,
      "transaction_count": 6,
      "last_updated": "2026-08-21T17:50:54",
      "ai_analysis": {
        "products": [
          "Savings Account",
          "Mobile Banking",
          "Current Account"
        ],
        "key_insights": [
          "Joseph holds ₵1,602 across 3 product(s).",
          "Engagement score 0.66; risk score 0.45.",
          "Profile aligns with Young Professional criteria."
        ],
        "risk_indicators": [
          "None material"
        ],
        "confidence_score": 0.87,
        "growth_potential": "medium",
        "next_best_action": {
          "action": "Promote mobile banking features",
          "customer_message": "Hi Joseph, Promote mobile banking features. Reply YES to continue."
        },
        "product_holdings": [
          "Savings Account",
          "Mobile Banking",
          "Current Account"
        ],
        "credit_assessment": {
          "rationale": "Income stability and young professional holdings support credit card.",
          "creditworthy": true,
          "risk_factors": [
            "Market concentration"
          ],
          "recommended_limit": "₵5,000 - ₵25,000",
          "positive_indicators": [
            "Regular inflows",
            "Active digital usage"
          ],
          "recommended_facility": "credit_card",
          "credit_score_estimate": "medium"
        },
        "retention_actions": [
          {
            "action": "Digital convenience",
            "customer_message": "Hi Joseph, we value you — digital convenience. Reply HELP for support."
          },
          {
            "action": "Career resources",
            "customer_message": "Hi Joseph, we value you — career resources. Reply HELP for support."
          }
        ],
        "engagement_strategy": "Digital-first, career-focused products",
        "recommended_segment": "YOUNG_PROFESSIONAL",
        "cross_sell_opportunities": [
          {
            "opportunity": "Personal Loans",
            "customer_message": "Hi Joseph, explore personal loans with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Investment Apps",
            "customer_message": "Hi Joseph, explore investment apps with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Insurance",
            "customer_message": "Hi Joseph, explore insurance with us. Reply YES or visit a branch."
          }
        ]
      },
      "phone_number": "233209366367",
      "email": "chuksdeveloper@gmail.com",
      "income_range": "Above ₵100,000 GHS",
      "location": "East Legon, Accra",
      "accounts": [
        {
          "account_number": "WLK1750100034-A01",
          "account_type": "Savings Account",
          "account_status": "Active",
          "current_balance": 407.81,
          "available_balance": 572.52,
          "currency": "GHS",
          "is_primary": true
        },
        {
          "account_number": "WLK1750100034-A02",
          "account_type": "Mobile Banking",
          "account_status": "Active",
          "current_balance": 589.01,
          "available_balance": 400.72,
          "currency": "GHS",
          "is_primary": false
        },
        {
          "account_number": "WLK1750100034-A03",
          "account_type": "Current Account",
          "account_status": "Active",
          "current_balance": 398.3,
          "available_balance": 344.56,
          "currency": "GHS",
          "is_primary": false
        }
      ],
      "transactions": [
        {
          "transaction_id": "WLK1750100034-A01-T001-079488",
          "date": "2026-06-25T05:50:54",
          "amount": 61.22,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 595.22
        },
        {
          "transaction_id": "WLK1750100034-A01-T002-d416ec",
          "date": "2026-07-31T00:50:54",
          "amount": 132.47,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 727.69
        },
        {
          "transaction_id": "WLK1750100034-A01-T003-dae1af",
          "date": "2026-06-12T08:50:54",
          "amount": 38.66,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 766.35
        },
        {
          "transaction_id": "WLK1750100034-A01-T004-5ce066",
          "date": "2026-05-30T06:50:54",
          "amount": -60.77,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "ATM",
          "balance_after": 705.58
        },
        {
          "transaction_id": "WLK1750100034-A01-T005-344975",
          "date": "2026-06-05T05:50:54",
          "amount": 36.86,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 742.44
        },
        {
          "transaction_id": "WLK1750100034-A01-T006-dba797",
          "date": "2026-07-07T11:50:54",
          "amount": -61.68,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "ATM",
          "balance_after": 680.76
        },
        {
          "transaction_id": "WLK1750100034-A01-T007-ee3358",
          "date": "2026-07-19T11:50:54",
          "amount": 42.02,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 722.78
        },
        {
          "transaction_id": "WLK1750100034-A01-T008-e5e815",
          "date": "2026-08-14T00:50:54",
          "amount": -44.81,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Mobile Banking",
          "balance_after": 677.97
        },
        {
          "transaction_id": "WLK1750100034-A02-T001-4b800f",
          "date": "2026-07-09T06:50:54",
          "amount": -47.01,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "ATM",
          "balance_after": 486.99
        },
        {
          "transaction_id": "WLK1750100034-A02-T002-4c0cc7",
          "date": "2026-07-27T07:50:54",
          "amount": -33.69,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "POS",
          "balance_after": 453.3
        },
        {
          "transaction_id": "WLK1750100034-A02-T003-ced286",
          "date": "2026-05-23T23:50:54",
          "amount": -64.92,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Branch",
          "balance_after": 388.38
        },
        {
          "transaction_id": "WLK1750100034-A02-T004-c08840",
          "date": "2026-07-30T17:50:54",
          "amount": -130.49,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "ATM",
          "balance_after": 257.89
        },
        {
          "transaction_id": "WLK1750100034-A02-T005-f744e9",
          "date": "2026-05-30T04:50:54",
          "amount": -127.48,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "Branch",
          "balance_after": 130.41
        },
        {
          "transaction_id": "WLK1750100034-A02-T006-00a58e",
          "date": "2026-06-20T03:50:54",
          "amount": -38.37,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Branch",
          "balance_after": 92.04
        },
        {
          "transaction_id": "WLK1750100034-A02-T007-b64280",
          "date": "2026-08-07T12:50:54",
          "amount": -125.99,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Branch",
          "balance_after": 0.0
        },
        {
          "transaction_id": "WLK1750100034-A02-T008-c961a4",
          "date": "2026-06-13T11:50:54",
          "amount": 137.47,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 137.47
        },
        {
          "transaction_id": "WLK1750100034-A03-T001-5dddbb",
          "date": "2026-08-16T23:50:54",
          "amount": -22.55,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "ATM",
          "balance_after": 511.45
        },
        {
          "transaction_id": "WLK1750100034-A03-T002-0894be",
          "date": "2026-06-12T00:50:54",
          "amount": -143.98,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "ATM",
          "balance_after": 367.47
        },
        {
          "transaction_id": "WLK1750100034-A03-T003-26446a",
          "date": "2026-06-06T08:50:54",
          "amount": 70.04,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 437.51
        },
        {
          "transaction_id": "WLK1750100034-A03-T004-bc1f65",
          "date": "2026-07-01T06:50:54",
          "amount": -83.57,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "ATM",
          "balance_after": 353.94
        },
        {
          "transaction_id": "WLK1750100034-A03-T005-ca0004",
          "date": "2026-06-03T12:50:54",
          "amount": -136.0,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "POS",
          "balance_after": 217.94
        },
        {
          "transaction_id": "WLK1750100034-A03-T006-bb1409",
          "date": "2026-06-09T13:50:54",
          "amount": -41.78,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Branch",
          "balance_after": 176.16
        },
        {
          "transaction_id": "WLK1750100034-A03-T007-67fe87",
          "date": "2026-07-22T15:50:54",
          "amount": -25.53,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "Branch",
          "balance_after": 150.63
        },
        {
          "transaction_id": "WLK1750100034-A03-T008-4c3846",
          "date": "2026-06-15T06:50:54",
          "amount": -52.01,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "POS",
          "balance_after": 98.62
        }
      ]
    },
    {
      "customer_id": "WLK1750100033",
      "name": "Patricia Adjei",
      "age": 53,
      "gender": "Female",
      "occupation": "Civil Servant",
      "segment": "MASS_MARKET",
      "total_balance": 1329.33,
      "average_monthly_balance": 1223.45,
      "risk_score": 0.1673,
      "engagement_score": 0.7614,
      "transaction_count": 28,
      "last_updated": "2026-08-21T17:50:54",
      "ai_analysis": {
        "products": [
          "Savings Account",
          "Mobile Banking",
          "Current Account",
          "Investment Account"
        ],
        "key_insights": [
          "Patricia holds ₵1,329 across 4 product(s).",
          "Engagement score 0.76; risk score 0.17.",
          "Profile aligns with Mass Market criteria."
        ],
        "risk_indicators": [
          "None material"
        ],
        "confidence_score": 0.88,
        "growth_potential": "medium",
        "next_best_action": {
          "action": "Monitor customer activity",
          "customer_message": "Hi Patricia, Monitor customer activity. Reply YES to continue."
        },
        "product_holdings": [
          "Savings Account",
          "Mobile Banking",
          "Current Account",
          "Investment Account"
        ],
        "credit_assessment": {
          "rationale": "Mass Market profile does not currently meet credit criteria.",
          "creditworthy": false,
          "risk_factors": [
            "Limited repayment history"
          ],
          "recommended_limit": null,
          "positive_indicators": [
            "Existing deposit relationship"
          ],
          "recommended_facility": null,
          "credit_score_estimate": "low"
        },
        "retention_actions": [
          {
            "action": "Regular service delivery",
            "customer_message": "Hi Patricia, we value you — regular service delivery. Reply HELP for support."
          }
        ],
        "engagement_strategy": "Standard relationship management",
        "recommended_segment": "MASS_MARKET",
        "cross_sell_opportunities": [
          {
            "opportunity": "Savings Accounts",
            "customer_message": "Hi Patricia, explore savings accounts with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Mobile Banking",
            "customer_message": "Hi Patricia, explore mobile banking with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Insurance",
            "customer_message": "Hi Patricia, explore insurance with us. Reply YES or visit a branch."
          }
        ]
      },
      "phone_number": "233554694531",
      "email": "kylechukwuma@gmail.com",
      "income_range": "₵5,000 - ₵15,000 GHS",
      "location": "Kumasi",
      "accounts": [
        {
          "account_number": "WLK1750100033-A01",
          "account_type": "Savings Account",
          "account_status": "Active",
          "current_balance": 287.19,
          "available_balance": 391.54,
          "currency": "GHS",
          "is_primary": true
        },
        {
          "account_number": "WLK1750100033-A02",
          "account_type": "Mobile Banking",
          "account_status": "Active",
          "current_balance": 394.95,
          "available_balance": 219.83,
          "currency": "GHS",
          "is_primary": false
        },
        {
          "account_number": "WLK1750100033-A03",
          "account_type": "Current Account",
          "account_status": "Active",
          "current_balance": 263.28,
          "available_balance": 263.73,
          "currency": "GHS",
          "is_primary": false
        },
        {
          "account_number": "WLK1750100033-A04",
          "account_type": "Investment Account",
          "account_status": "Active",
          "current_balance": 376.99,
          "available_balance": 204.33,
          "currency": "GHS",
          "is_primary": false
        }
      ],
      "transactions": [
        {
          "transaction_id": "WLK1750100033-A01-T001-bf6e91",
          "date": "2026-08-03T13:50:54",
          "amount": -113.62,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Branch",
          "balance_after": 218.71
        },
        {
          "transaction_id": "WLK1750100033-A01-T002-f7e6cc",
          "date": "2026-07-11T00:50:54",
          "amount": -101.33,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "ATM",
          "balance_after": 117.38
        },
        {
          "transaction_id": "WLK1750100033-A01-T003-449876",
          "date": "2026-05-25T06:50:54",
          "amount": -40.23,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "ATM",
          "balance_after": 77.15
        },
        {
          "transaction_id": "WLK1750100033-A01-T004-b099b3",
          "date": "2026-07-10T14:50:54",
          "amount": -68.61,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "POS",
          "balance_after": 8.54
        },
        {
          "transaction_id": "WLK1750100033-A01-T005-98988f",
          "date": "2026-06-28T00:50:54",
          "amount": -76.22,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "POS",
          "balance_after": 0.0
        },
        {
          "transaction_id": "WLK1750100033-A01-T006-e5602a",
          "date": "2026-08-17T05:50:54",
          "amount": -97.97,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Mobile Banking",
          "balance_after": 0.0
        },
        {
          "transaction_id": "WLK1750100033-A01-T007-686a00",
          "date": "2026-07-31T08:50:54",
          "amount": 84.66,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 84.66
        },
        {
          "transaction_id": "WLK1750100033-A01-T008-14d559",
          "date": "2026-07-14T11:50:54",
          "amount": 34.13,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 118.79
        },
        {
          "transaction_id": "WLK1750100033-A02-T001-2c5a63",
          "date": "2026-07-22T21:50:54",
          "amount": -103.74,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "ATM",
          "balance_after": 228.59
        },
        {
          "transaction_id": "WLK1750100033-A02-T002-bcf061",
          "date": "2026-05-23T08:50:54",
          "amount": -69.29,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "POS",
          "balance_after": 159.3
        },
        {
          "transaction_id": "WLK1750100033-A02-T003-c2621e",
          "date": "2026-05-25T07:50:54",
          "amount": -57.39,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Mobile Banking",
          "balance_after": 101.91
        },
        {
          "transaction_id": "WLK1750100033-A02-T004-1f665f",
          "date": "2026-06-25T10:50:54",
          "amount": 91.74,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 193.65
        },
        {
          "transaction_id": "WLK1750100033-A02-T005-7c0965",
          "date": "2026-06-04T11:50:54",
          "amount": -92.84,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Branch",
          "balance_after": 100.81
        },
        {
          "transaction_id": "WLK1750100033-A02-T006-4902ef",
          "date": "2026-08-11T12:50:54",
          "amount": -63.3,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Mobile Banking",
          "balance_after": 37.51
        },
        {
          "transaction_id": "WLK1750100033-A02-T007-4bbd08",
          "date": "2026-06-10T09:50:54",
          "amount": 56.39,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 93.9
        },
        {
          "transaction_id": "WLK1750100033-A02-T008-8d86a1",
          "date": "2026-08-20T07:50:54",
          "amount": -35.52,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "ATM",
          "balance_after": 58.38
        },
        {
          "transaction_id": "WLK1750100033-A03-T001-e2b987",
          "date": "2026-06-03T08:50:54",
          "amount": -24.91,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "Branch",
          "balance_after": 307.42
        },
        {
          "transaction_id": "WLK1750100033-A03-T002-6b40a9",
          "date": "2026-06-14T10:50:54",
          "amount": -27.03,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Mobile Banking",
          "balance_after": 280.39
        },
        {
          "transaction_id": "WLK1750100033-A03-T003-549c98",
          "date": "2026-06-12T00:50:54",
          "amount": 95.85,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 376.24
        },
        {
          "transaction_id": "WLK1750100033-A03-T004-a26390",
          "date": "2026-07-24T07:50:54",
          "amount": 28.87,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 405.11
        },
        {
          "transaction_id": "WLK1750100033-A03-T005-a1772f",
          "date": "2026-06-02T01:50:54",
          "amount": 54.8,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 459.91
        },
        {
          "transaction_id": "WLK1750100033-A03-T006-43873b",
          "date": "2026-05-29T17:50:54",
          "amount": -116.14,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Branch",
          "balance_after": 343.77
        },
        {
          "transaction_id": "WLK1750100033-A03-T007-7bb70f",
          "date": "2026-06-02T22:50:54",
          "amount": -62.99,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Mobile Banking",
          "balance_after": 280.78
        },
        {
          "transaction_id": "WLK1750100033-A03-T008-bfd85e",
          "date": "2026-08-06T05:50:54",
          "amount": 85.84,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 366.62
        },
        {
          "transaction_id": "WLK1750100033-A04-T001-9ed171",
          "date": "2026-06-16T01:50:54",
          "amount": -69.86,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "POS",
          "balance_after": 262.47
        },
        {
          "transaction_id": "WLK1750100033-A04-T002-4f8960",
          "date": "2026-07-27T07:50:54",
          "amount": -24.23,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Mobile Banking",
          "balance_after": 238.24
        },
        {
          "transaction_id": "WLK1750100033-A04-T003-c7933c",
          "date": "2026-06-13T00:50:54",
          "amount": -36.15,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Mobile Banking",
          "balance_after": 202.09
        },
        {
          "transaction_id": "WLK1750100033-A04-T004-467df5",
          "date": "2026-07-24T04:50:54",
          "amount": -40.33,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "ATM",
          "balance_after": 161.76
        },
        {
          "transaction_id": "WLK1750100033-A04-T005-69a0d7",
          "date": "2026-06-25T21:50:54",
          "amount": -71.88,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "ATM",
          "balance_after": 89.88
        },
        {
          "transaction_id": "WLK1750100033-A04-T006-8f092e",
          "date": "2026-08-16T15:50:54",
          "amount": -22.29,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Mobile Banking",
          "balance_after": 67.59
        },
        {
          "transaction_id": "WLK1750100033-A04-T007-4c2967",
          "date": "2026-08-10T23:50:54",
          "amount": 37.17,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 104.76
        },
        {
          "transaction_id": "WLK1750100033-A04-T008-c5386a",
          "date": "2026-06-23T21:50:54",
          "amount": 107.88,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "POS",
          "balance_after": 212.64
        }
      ]
    },
    {
      "customer_id": "WLK1750100032",
      "name": "Yaw Osei",
      "age": 46,
      "gender": "Male",
      "occupation": "Software Engineer",
      "segment": "PREMIUM_WEALTH",
      "total_balance": 2239300.0,
      "average_monthly_balance": 1860350.0,
      "risk_score": 0.5834,
      "engagement_score": 0.5436,
      "transaction_count": 46,
      "last_updated": "2026-08-21T17:50:54",
      "ai_analysis": {
        "products": [
          "Savings Account",
          "Mobile Banking"
        ],
        "key_insights": [
          "Yaw holds ₵2,239,298 across 2 product(s).",
          "Engagement score 0.54; risk score 0.58.",
          "Profile aligns with Premium Wealth criteria."
        ],
        "risk_indicators": [
          "None material"
        ],
        "confidence_score": 0.89,
        "growth_potential": "high",
        "next_best_action": {
          "action": "Schedule wealth management consultation",
          "customer_message": "Hi Yaw, Schedule wealth management consultation. Reply YES to continue."
        },
        "product_holdings": [
          "Savings Account",
          "Mobile Banking"
        ],
        "credit_assessment": {
          "rationale": "Income stability and premium wealth holdings support overdraft.",
          "creditworthy": true,
          "risk_factors": [],
          "recommended_limit": "₵20,000 - ₵100,000",
          "positive_indicators": [
            "Regular inflows",
            "Active digital usage"
          ],
          "recommended_facility": "overdraft",
          "credit_score_estimate": "high"
        },
        "retention_actions": [
          {
            "action": "Exclusive events",
            "customer_message": "Hi Yaw, we value you — exclusive events. Reply HELP for support."
          },
          {
            "action": "Priority support",
            "customer_message": "Hi Yaw, we value you — priority support. Reply HELP for support."
          },
          {
            "action": "Customized solutions",
            "customer_message": "Hi Yaw, we value you — customized solutions. Reply HELP for support."
          }
        ],
        "engagement_strategy": "Dedicated relationship manager, premium services",
        "recommended_segment": "PREMIUM_WEALTH",
        "cross_sell_opportunities": [
          {
            "opportunity": "Wealth Management",
            "customer_message": "Hi Yaw, explore wealth management with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Investment Advisory",
            "customer_message": "Hi Yaw, explore investment advisory with us. Reply YES or visit a branch."
          },
          {
            "opportunity": "Private Banking",
            "customer_message": "Hi Yaw, explore private banking with us. Reply YES or visit a branch."
          }
        ]
      },
      "phone_number": "233249430715",
      "email": "donchukz01@gmail.com",
      "income_range": "₵5,000 - ₵15,000 GHS",
      "location": "Tema",
      "accounts": [
        {
          "account_number": "WLK1750100032-A01",
          "account_type": "Savings Account",
          "account_status": "Active",
          "current_balance": 1074540.0,
          "available_balance": 1159950.0,
          "currency": "GHS",
          "is_primary": true
        },
        {
          "account_number": "WLK1750100032-A02",
          "account_type": "Mobile Banking",
          "account_status": "Active",
          "current_balance": 1006770.0,
          "available_balance": 1187330.0,
          "currency": "GHS",
          "is_primary": false
        }
      ],
      "transactions": [
        {
          "transaction_id": "WLK1750100032-A01-T001-874b4d",
          "date": "2026-05-30T05:50:54",
          "amount": -974.22,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Mobile Banking",
          "balance_after": 1118670.0
        },
        {
          "transaction_id": "WLK1750100032-A01-T002-669865",
          "date": "2026-06-17T02:50:54",
          "amount": -43.06,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "ATM",
          "balance_after": 1118630.0
        },
        {
          "transaction_id": "WLK1750100032-A01-T003-fe192a",
          "date": "2026-07-21T07:50:54",
          "amount": -168.23,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "Mobile Banking",
          "balance_after": 1118460.0
        },
        {
          "transaction_id": "WLK1750100032-A01-T004-d6ce9b",
          "date": "2026-07-03T05:50:54",
          "amount": -1023.72,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "Mobile Banking",
          "balance_after": 1117440.0
        },
        {
          "transaction_id": "WLK1750100032-A01-T005-9f1813",
          "date": "2026-06-24T15:50:54",
          "amount": -929.01,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "POS",
          "balance_after": 1116510.0
        },
        {
          "transaction_id": "WLK1750100032-A01-T006-fed035",
          "date": "2026-05-29T17:50:54",
          "amount": -645.8,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "POS",
          "balance_after": 1115860.0
        },
        {
          "transaction_id": "WLK1750100032-A01-T007-4e9df1",
          "date": "2026-08-20T15:50:54",
          "amount": -836.43,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "ATM",
          "balance_after": 1115030.0
        },
        {
          "transaction_id": "WLK1750100032-A01-T008-e6614f",
          "date": "2026-07-08T06:50:54",
          "amount": -1316.1,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "ATM",
          "balance_after": 1113710.0
        },
        {
          "transaction_id": "WLK1750100032-A02-T001-d6636d",
          "date": "2026-07-05T03:50:54",
          "amount": -1207.9,
          "transaction_type": "debit",
          "description": "POS purchase",
          "channel": "Mobile Banking",
          "balance_after": 1118440.0
        },
        {
          "transaction_id": "WLK1750100032-A02-T002-fef749",
          "date": "2026-07-08T06:50:54",
          "amount": 1523.45,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Branch",
          "balance_after": 1119960.0
        },
        {
          "transaction_id": "WLK1750100032-A02-T003-c8647f",
          "date": "2026-08-07T16:50:54",
          "amount": 1104.43,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "ATM",
          "balance_after": 1121070.0
        },
        {
          "transaction_id": "WLK1750100032-A02-T004-a2b8ed",
          "date": "2026-06-29T14:50:54",
          "amount": -995.0,
          "transaction_type": "debit",
          "description": "Bill payment",
          "channel": "ATM",
          "balance_after": 1120070.0
        },
        {
          "transaction_id": "WLK1750100032-A02-T005-4e7474",
          "date": "2026-07-01T11:50:54",
          "amount": -391.34,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "ATM",
          "balance_after": 1119680.0
        },
        {
          "transaction_id": "WLK1750100032-A02-T006-ac29fd",
          "date": "2026-06-28T16:50:54",
          "amount": 1439.24,
          "transaction_type": "credit",
          "description": "Salary credit",
          "channel": "Mobile Banking",
          "balance_after": 1121120.0
        },
        {
          "transaction_id": "WLK1750100032-A02-T007-9b5991",
          "date": "2026-05-27T23:50:54",
          "amount": -1548.85,
          "transaction_type": "debit",
          "description": "MoMo transfer",
          "channel": "POS",
          "balance_after": 1119570.0
        },
        {
          "transaction_id": "WLK1750100032-A02-T008-cdc0ed",
          "date": "2026-06-11T04:50:54",
          "amount": -28.59,
          "transaction_type": "debit",
          "description": "ATM withdrawal",
          "channel": "ATM",
          "balance_after": 1119540.0
        }
      ]
    }
  ]
}