Khóa Học Data Analyst

Khóa Học Data Analyst BootCamp | Challenge 156 | Bài Toán Phân Bổ Promo Tối Ưu 01

Format File Dữ Liệu

  • Sheet customers:
    • custID: Mã KH
    • point: Điểm thành viên
    • sales: Tổng chi tiêu
    • preferredPromos: Danh sách các promo mà khách hàng đã sử dụng trong lịch sử. Thứ tự ưu tiên từ trái sang phải.
  • Sheet promos:
    • promoID: Mã khuyến mãi sắp triển khai (Cần phân bổ khách hàng vào các promo này)
    • thresholdPoint: Điểm thành viên tối thiểu mà thành viên khi phân bổ vào cần đáp ứng.
    • capacity: Số lượng khách hàng tối đa cho mỗi promo.
    • thresholdSales: Tổng chi tiêu tối thiểu của các khách hàng phân bổ vào cần đáp ứng.

Ràng Buộc Cần Đáp Ứng Khi Phân Bổ

  • Ưu tiên phân bổ các custIDpreferredPromos trước, rồi mới tới các custID không có preferredPromos (null).
  • Trong mỗi nhóm, ưu tiên phân bổ cho các custIDpoint cao nhất trước.
  • Mỗi custID phải được phân bổ vào đúng một promoID.
  • Chỉ phân bổ các custID vào đúng promoID ưa thích của họ. Trường hợp, custID không có preferredPromos thì có thể phân bổ vào bất kỳ promoID nào.
  • Tổng sales của custID phân bổ vào promoID phải >= thresholdSales.
  • Tổng custID phân bổ vào promoID <= capacity.
  • Mỗi promoIDthresholdPoint. Phân bổ custID đủ điều kiện point >= thresholdPoint.

Link Download Tài Nguyên Dành Cho Các Bạn Học Viên: Click Here

Tool Phân Bổ