Bối cảnh và vấn đề nghiên cứu

Sự phát triển của Internet và công nghệ thông tin đã thúc đẩy thương mại điện tử trở thành kênh phân phối quan trọng, tạo điều kiện cho các doanh nghiệp thu thập khối lượng dữ liệu giao dịch khổng lồ về khách hàng, sản phẩm và đơn hàng. Dù các công cụ trí tuệ nhân tạo ngày càng phổ biến, việc phân tích dữ liệu kinh doanh một cách có hệ thống vẫn đóng vai trò then chốt trong việc hỗ trợ nhà quản lý nhận diện xu hướng, hiểu rõ hành vi tiêu dùng và đưa ra các quyết định tiếp thị - bán hàng nhằm tối ưu hóa doanh thu.

Đề tài "Phân tích dữ liệu kinh doanh của cửa hàng bán lẻ trực tuyến" được thực hiện bởi nhóm sinh viên Khoa Công nghệ thông tin kinh doanh, Trường Đại học Kinh tế TP. Hồ Chí Minh (UEH) trong khuôn khổ môn học "Lập trình phân tích dữ liệu", dưới sự hướng dẫn của TS. Nguyễn An Tế (tháng 10 năm 2022).

Nghiên cứu tập trung giải quyết 3 mục tiêu cụ thể:

  1. Xác định các kết hợp sản phẩm thường xuyên được mua cùng nhau trong một đơn hàng nhằm khám phá mối liên hệ giữa các mặt hàng, hỗ trợ xây dựng chiến lược bán chéo (cross-selling) và thiết kế các gói sản phẩm (combo).
  2. Phân tích chuỗi thời gian bán hàng để phát hiện tính xu hướng, chu kỳ và tính mùa vụ của dữ liệu, từ đó đề xuất các chiến dịch quảng bá phù hợp theo từng thời điểm trong năm.
  3. Phân khúc khách hàng dựa trên vị trí địa lý kết hợp với hành vi tiêu dùng (loại sản phẩm mua, mức giá, tần suất và số lượng mua) nhằm định hình các chiến lược tiếp thị mục tiêu cho từng nhóm đối tượng.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Các giao dịch bán lẻ trực tuyến, thuộc tính sản phẩm và hành vi mua sắm của khách hàng.
  • Phạm vi không gian: Một doanh nghiệp bán lẻ trực tuyến có trụ sở tại Vương quốc Anh (United Kingdom), phục vụ khách hàng nội địa và quốc tế.
  • Phạm vi thời gian của dữ liệu: Dữ liệu giao dịch phát sinh từ ngày 01/12/2010 đến ngày 09/12/2011 (văn bản ghi nhận từ 12/01/2010 đến 10/12/2011).

Cơ sở lý thuyết và phương pháp

Nghiên cứu áp dụng quy trình phân tích dữ liệu toàn diện bao gồm khám phá dữ liệu, tiền xử lý thống kê, xử lý ngôn ngữ tự nhiên và các thuật toán học máy phân cụm cũng như khai phá luật kết hợp:

  • Phân tích khám phá dữ liệu (EDA): Sử dụng các biểu đồ phân phối, biểu đồ hộp (Boxplot) và ma trận tương quan giữa các biến định lượng (Quantity, UnitPrice, Totalsale) để đánh giá độ dàn trải, tính đối xứng và quan hệ tuyến tính giữa các chỉ số bán hàng.
  • Phương pháp xử lý giá trị ngoại lệ (Outliers): Sử dụng khoảng tứ phân vị (Interquartile Range - IQR) để xác định ngưỡng biên trên (Upper bound) và biên dưới (Lower bound) thông qua $Q_1$ và $Q_3$, tiến hành loại bỏ các điểm dị biệt gây nhiễu mô hình.
  • Khai phá luật kết hợp (Association Rule Mining) - Thuật toán FP-Growth: Cải tiến từ thuật toán Apriori để giải quyết bài toán phân tích giỏ hàng (Market Basket Analysis). Thuật toán xây dựng cấu trúc cây mẫu phổ biến (FP-tree) và bảng tiêu đề mục (Item Header Table) nhằm khai thác các tập mục phổ biến mà không cần sinh tập ứng viên tốn kém tài nguyên. Các độ đo thống kê được sử dụng gồm:
    • Độ hỗ trợ (Support): Đo lường tần suất xuất hiện đồng thời của tập sản phẩm trong toàn bộ cơ sở dữ liệu giao dịch.
    • Độ tin cậy (Confidence): Đo lường xác suất xuất hiện sản phẩm hệ quả khi sản phẩm tiền đề đã có trong giỏ hàng.
    • Độ nâng (Lift): Đánh giá mức độ phụ thuộc giữa hai sản phẩm so với giả định chúng độc lập ($Lift > 1$ thể hiện tương quan thuận).
    • Độ đòn bẩy (Leverage) và Độ thuyết phục (Conviction): Đánh giá mức độ chênh lệch xác suất và mức độ phụ thuộc tuyệt đối giữa các biến cố mua hàng.
  • Xử lý ngôn ngữ tự nhiên (NLP) kết hợp Phân cụm K-Means: Xử lý văn bản mô tả sản phẩm (Description) thông qua tách từ (tokenization), gán nhãn từ loại (POS tagging - chỉ giữ lại danh từ), đưa từ về dạng gốc (stemming) và loại bỏ danh từ chỉ màu sắc/từ dừng. Sau đó, văn bản được số hóa bằng ma trận trọng số TF-IDF (kết hợp n-gram) và phân cụm bằng thuật toán K-Means dựa trên phương pháp đường cong khuỷu tay (Elbow Method) tối ưu hóa tổng bình phương sai số nội cụm (Sum of Squared Errors - SSE).
  • Phân cụm dữ liệu hỗn hợp K-Prototypes: Thuật toán mở rộng của K-Means cho phép phân cụm đồng thời biến định lượng (đã chuẩn hóa qua Standard Scaler với trung bình bằng 0, độ lệch chuẩn bằng 1) và biến định tính (phân loại vị trí địa lý: UK và non-UK).
  • Công cụ và nền tảng: Ngôn ngữ lập trình Python, môi trường tính toán dữ liệu với các thư viện chuyên dụng (pandas, numpy, scikit-learn, mlxtend). Nguồn dữ liệu thứ cấp được thu thập từ bộ dữ liệu "Online Retails Sale Dataset" trên nền tảng Kaggle.

Nội dung chính theo từng chương

Chương I: Tổng Quan Đề Tài

Chương mở đầu phân tích tính tất yếu của việc ứng dụng khoa học dữ liệu trong thương mại điện tử hiện đại. Nhóm tác giả xác định rõ ba bài toán trọng tâm: khai phá luật kết hợp sản phẩm, phân tích chuỗi thời gian doanh thu - sản lượng và phân khúc khách hàng đa chiều. Chương này cũng nêu rõ các công cụ lập trình Python và nguồn dữ liệu từ Kaggle làm nền tảng triển khai toàn bộ đồ án.

Chương II: Tổng Quan Bộ Dữ Liệu

Bộ dữ liệu nguyên bản gồm 541.909 dòng giao dịch và 10 thuộc tính phản ánh chi tiết các khía cạnh của đơn hàng:

Tên thuộc tính Mô tả ý nghĩa Đặc điểm dữ liệu
InvoiceNo Mã định danh đơn hàng Gồm 25.900 mã đơn hàng thành công và trả hàng
InvoiceDate Ngày giao dịch Giao dịch phát sinh từ cuối năm 2010 đến cuối năm 2011
InvoiceTime Thời gian đặt hàng trong ngày Phụ thuộc vào múi giờ của từng khách hàng
StockCode Mã định danh sản phẩm Gồm 4.070 mã sản phẩm khác nhau
Description Tên/mô tả sản phẩm Gồm 4.224 chuỗi mô tả (chứa cả hàng lỗi, hư hại, hoàn về)
Quantity Số lượng sản phẩm trên đơn Số lượng hàng hóa bán ra (tồn tại giá trị âm do đơn hoàn)
UnitPrice Đơn giá sản phẩm Giá bán tính trên từng đơn vị sản phẩm
Totalsale Tổng tiền từng sản phẩm Biến tính toán: $Totalsale = Quantity \times UnitPrice$
CustomerID Mã định danh khách hàng Mã số duy nhất cấp cho từng khách hàng
Country Quốc gia đặt hàng Vị trí địa lý nơi khách hàng phát sinh đơn

Chương III: Tiền xử lý dữ liệu

Tiền xử lý là giai đoạn quan trọng nhằm chuẩn hóa và làm sạch tập dữ liệu quy mô lớn:

  • Xử lý dữ liệu khuyết thiếu (Missing Values): Kiểm tra cấu trúc phát hiện cột CustomerID thiếu 135.080 giá trị (chiếm xấp xỉ 25% tổng số dòng). Nhóm quyết định loại bỏ hoàn toàn các dòng khuyết thiếu này để đảm bảo tính chuẩn xác cho các bài toán phân cụm khách hàng.
  • Biến đổi và trích xuất đặc trưng:
    • Trích xuất thêm các cột Month, Year và Season (Quy ước: Mùa Xuân gồm tháng 1, 2, 3; Mùa Hè gồm tháng 4, 5, 6; Mùa Thu gồm tháng 7, 8, 9; Mùa Đông gồm tháng 10, 11, 12) nhằm phục vụ phân tích chuỗi thời gian và tính chu kỳ mùa vụ.
    • Loại bỏ trường InvoiceTime do sự không đồng nhất về múi giờ giữa các khu vực địa lý khác nhau.
  • Xử lý giá trị ngoại lệ (Outliers):
    • Đối với biến Totalsale: Sử dụng biểu đồ hộp xác định vùng dữ liệu kỳ vọng nằm giữa ngưỡng biên dưới và biên trên xung quanh khoảng $[-150.000, 150.000]$, loại bỏ các chỉ số ngoại lệ vượt ngưỡng thông qua tính toán $Q_1$, $Q_3$.
    • Đối với biến Quantity: Dữ liệu phân phối chủ yếu từ 0 đến 300 sản phẩm nhưng xuất hiện các điểm dị biệt ở hai đầu mút (từ -800 đến 800). Giá trị âm phản ánh các đơn hàng lỗi, trả về cũng được xử lý để làm sạch phân phối dữ liệu chuẩn.
  • Chuẩn hóa trường dữ liệu văn bản Description: Chuyển đổi toàn bộ chuỗi sang chữ thường, loại bỏ khoảng trắng dư thừa, lọc bỏ các ký tự số, ký tự đặc biệt (-, ') và các từ dừng (a, an, and...).

Chương IV: Phân Tích Dữ Liệu

Chương này triển khai hai kỹ thuật phân tích cốt lõi:

1. Phân tích chuỗi thời gian (Time Series Analysis):

  • Xu hướng theo mùa: Lượng đơn hàng tăng trưởng liên tục từ đầu năm đến cuối năm. Lượng đặt hàng đạt mức cao nhất vào mùa Đông (~110.000 đơn hàng) và chạm mức thấp nhất vào mùa Xuân (~78.000 đơn hàng).
  • Xu hướng theo tháng: Số lượng giao dịch tăng dần và đạt đỉnh vào tháng 11 (~50.000 đơn hàng), nhưng sụt giảm mạnh vào tháng 12 (~18.000 đơn hàng) do giới hạn phạm vi thu thập dữ liệu chỉ đến đầu tháng 12/2011.
  • So sánh theo năm: Năm 2011 chiếm ưu thế tuyệt đối với 93,5% tổng số đơn hàng, trong khi năm 2010 chỉ đóng góp 6,5% trên tổng số gần 500.000 giao dịch.
  • Mối quan hệ sản lượng - doanh thu: Doanh thu biến thiên đồng pha với số lượng bán ra, cho thấy biến động doanh thu phụ thuộc chủ yếu vào sản lượng tiêu thụ hơn là đơn giá niêm yết.
  • Sản phẩm bán chạy nhất: Mặt hàng pack retrospot cake cases dẫn đầu về sản lượng bán ra trong năm 2011 (~14.000 sản phẩm), tuy nhiên mức đóng góp doanh thu tương đối nhỏ (chỉ đạt $600 - $700/tháng so với mức doanh thu bình quân $300.000 - $450.000/tháng của toàn doanh nghiệp).

2. Khai phá luật kết hợp với thuật toán FP-Growth:

  • Do giới hạn phần cứng khi chạy trên toàn bộ tập dữ liệu (phát sinh gần 33.000 tập kết hợp gây quá tải bộ nhớ), nhóm đã tiến hành lấy mẫu ngẫu nhiên 350.000 dòng (random_state = 8, chỉ loại bỏ khoảng 5% dữ liệu sau tiền xử lý) và lấy 200 mã InvoiceNo đầu tiên để xây dựng ma trận nhị phân (One-hot encoding) giữa hóa đơn và tên sản phẩm.
  • Áp dụng hàm fpgrowth với min_support = 0.5, trích xuất luật kết hợp có confidence >= 0.8 và $Lift \ge 1$.
  • Kết quả nhận diện nhóm 4 sản phẩm đồ chơi mô hình luôn xuất hiện đồng thời: poppys playhouse livingroom, poppys playhouse bedroom, poppys playhouse bathroom và poppys playhouse kitchen. Trong đó, 5 luật kết hợp hàng đầu đạt độ tin cậy tuyệt đối ($Confidence = 1$) và độ thuyết phục tuyệt đối ($Conviction = \infty$).
  • Phân tích đối chiếu theo mùa xác nhận nhóm sản phẩm "Poppy's Playhouse" có doanh số tiêu thụ áp đảo vào mùa Thu (Fall) và mùa Đông (Winter).

Chương V: Machine Learning

Chương này thực hiện hai bài toán phân cụm không giám sát:

1. Phân nhóm danh mục sản phẩm từ tên mô tả bằng K-Means:

  • Xử lý NLP chuyên sâu: Từ 3.217 mã sản phẩm (StockCode) phân tán, tiến hành tách từ, lọc bỏ động từ/tính từ/trạng từ và chỉ giữ lại danh từ, đưa từ về dạng từ căn (stemming - ví dụ programming, programmer $\rightarrow$ program), loại bỏ danh từ chỉ màu sắc.
  • Vector hóa: Áp dụng mô hình TF-IDF kết hợp n-gram để định lượng hóa mức độ quan trọng của từ ngữ trong tên sản phẩm.
  • Xác định số cụm tối ưu: Phương pháp Elbow xác định điểm gãy tối ưu tại $K = 300$.
  • Tinh chỉnh nhãn: Sau khi loại bỏ thủ công các từ gây nhiễu (như Children, phân tách trùng lặp bowl polkadot và bowl retrospot), tổng bình phương sai số nội cụm (SSE) tại $K = 300$ giảm rõ rệt từ ~2.000 xuống ~1.500.
  • Insight danh mục: Danh mục túi (bag) được xác định là nhóm sản phẩm chủ lực với tổng lượng đặt hàng cao nhất (~45.000 lượt) và tạo ra doanh thu cao nhất cho doanh nghiệp (~$80.000), cung cấp góc nhìn vĩ mô hơn so với phân tích đơn lẻ từng mã hàng.

2. Phân khúc khách hàng bằng thuật toán K-Prototypes:

  • Đặc trưng không gian: Dữ liệu cho thấy 91% khách hàng tập trung tại Vương quốc Anh (UK) và 9% thuộc các quốc gia khác. Nhóm chuyển đổi thuộc tính Country thành biến nhị phân: UK và non-UK.
  • Chuẩn hóa: Áp dụng Standard Scaler đưa các biến định lượng về phân phối chuẩn hóa $(\mu = 0, \sigma = 1)$.
  • Huấn luyện: Sử dụng thuật toán K-Prototypes kết hợp biến số thực và biến định tính. Dựa trên phương pháp Elbow khảo sát từ $k = 2$ đến $k = 8$, mô hình chọn $k = 3$ cụm phân khúc tối ưu.
  • Trực quan hóa: Xây dựng biểu đồ lưới Pairplot thể hiện sự phân bổ và mối tương quan giữa số lượng khách hàng, đơn giá, tần suất mua và danh mục sản phẩm theo vị trí địa lý.

Chương VI: Kết Luận

Tổng kết toàn bộ các kết quả đạt được từ việc xử lý dữ liệu, phân tích chuỗi thời gian, khai phá quy luật mua sắm và phân cụm khách hàng; khẳng định vai trò của quy trình phân tích dữ liệu trong việc tối ưu hóa quản trị bán lẻ trực tuyến.


Kết quả và đóng góp

Nghiên cứu đã rút ra những phát hiện định lượng cụ thể từ bộ dữ liệu bán lẻ trực tuyến:

Khía cạnh phân tích Kết quả định lượng và phát hiện chính
Chuỗi thời gian & Mùa vụ Lượng đơn hàng đạt đỉnh vào mùa Đông (~110.000 đơn) và tháng 11 (~50.000 đơn); năm 2011 chiếm 93,5% tỷ trọng giao dịch; sản lượng bán là yếu tố chính chi phối tổng doanh thu.
Sản phẩm đơn lẻ vs. Danh mục Sản phẩm đơn lẻ bán nhiều nhất là pack retrospot cake cases (~14.000 sản phẩm, doanh thu $600 - $700/tháng); danh mục sản phẩm dẫn đầu toàn diện là bag (sản lượng ~45.000, doanh thu ~$80.000).
Luật kết hợp sản phẩm Nhóm 4 sản phẩm đồ chơi mô hình phòng ốc (poppys playhouse: livingroom, bedroom, bathroom, kitchen) có liên kết giỏ hàng tuyệt đối ($Confidence = 1, Conviction = \infty$), bán chạy nhất vào mùa Thu và Đông.
Phân khúc khách hàng Phân loại thành công tập khách hàng với 91% thuộc thị trường UK và 9% non-UK thành 3 nhóm hành vi rõ rệt thông qua K-Prototypes ($k = 3$).

Đề xuất và giải pháp quản trị:

  • Chính sách bán chéo và đóng gói combo: Thiết lập các chương trình khuyến mãi bán theo combo cho dòng sản phẩm poppys playhouse, kết hợp đẩy mạnh sản xuất và kích cầu tiếp thị vào hai mùa cao điểm Thu - Đông.
  • Tối ưu hóa danh mục chủ lực: Ưu tiên vị trí hiển thị, quản trị tồn kho và quảng bá cho danh mục túi xách (bag) do đây là ngành hàng mang lại doanh thu cao nhất.
  • Tiếp thị phân khúc địa lý: Xây dựng chiến lược chăm sóc khách hàng riêng biệt cho thị trường nội địa UK (chiếm 91%) và các chính sách ưu đãi cước phí, vận chuyển cho thị trường quốc tế (9%).

Hạn chế và hướng nghiên cứu tiếp

  • Giới hạn hạ tầng tính toán: Do dung lượng bộ dữ liệu lớn làm phát sinh gần 33.000 tập kết hợp khi chạy thuật toán FP-Growth đầy đủ, nghiên cứu phải lấy mẫu ngẫu nhiên 350.000 dòng và giới hạn 200 mã hóa đơn đầu tiên, dẫn đến việc chưa khai thác hết toàn bộ các mối liên kết tiềm năng trên quy mô dữ liệu gốc.
  • Hao hụt dữ liệu do thiếu định danh: Việc loại bỏ 135.080 dòng dữ liệu khuyết thiếu trường CustomerID (xấp xỉ 25% tập dữ liệu) làm giảm bớt một lượng đáng kể hành vi tiêu dùng của khách hàng vãng lai.
  • Tính bất đối xứng về thời gian: Dữ liệu năm 2010 chỉ chiếm tỷ trọng 6,5% và dữ liệu tháng 12 năm 2011 chỉ được thu thập đến ngày 09 hoặc 10/12, tạo ra sự sụt giảm nhân tạo về sản lượng vào tháng cuối năm thay vì phản ánh đúng thực tế mùa mua sắm Giáng sinh.
  • Hướng mở rộng: Triển khai các thuật toán khai phá mẫu phổ biến trên nền tảng điện toán phân tán (Big Data); áp dụng các mô hình dự báo chuỗi thời gian nâng cao và đào sâu phân khúc hành vi khách hàng quốc tế.

Giá trị tham khảo

Đồ án là tài liệu tham khảo hữu ích cho sinh viên, học viên các chuyên ngành Hệ thống thông tin quản lý, Khoa học dữ liệu, Công nghệ thông tin kinh doanh và Thương mại điện tử:

  • Tham khảo quy trình tiền xử lý: Cung cấp phương pháp loại bỏ ngoại lệ bằng IQR và kỹ thuật làm sạch dữ liệu văn bản ngắn (Description) phục vụ bài toán khai phá dữ liệu.
  • Tham khảo kỹ thuật phân cụm kết hợp: Cung cấp phương pháp thực hành kết hợp xử lý ngôn ngữ tự nhiên (TF-IDF + N-gram) với thuật toán K-Means để gom nhóm danh mục sản phẩm, cũng như cách triển khai K-Prototypes trên dữ liệu hỗn hợp (numeric và categorical).
  • Ứng dụng khai phá luật kết hợp: Minh họa trực quan các bước thực thi thuật toán FP-Growth từ ma trận giao dịch đến việc chọn lọc luật bằng các độ đo thống kê ($Support, Confidence, Lift, Conviction$).

Câu hỏi thường gặp

1. Tại sao nhóm nghiên cứu phải loại bỏ toàn bộ dữ liệu khuyết thiếu ở cột CustomerID?
Trường CustomerID bị khuyết thiếu 135.080 dòng, chiếm khoảng 25% dữ liệu. Do CustomerID là mã định danh duy nhất của từng khách hàng, phục vụ trực tiếp cho bài toán phân khúc hành vi khách hàng, việc tự suy diễn hoặc điền giá trị ước lượng có thể gây sai lệch nghiêm trọng cho mô hình phân cụm K-Prototypes.

2. Vì sao nhóm tác giả loại bỏ cột InvoiceTime trong quá trình tiền xử lý?
Dữ liệu thời gian đặt hàng trong tệp không có sự nhất quán giữa các khách hàng do sự khác biệt về múi giờ ở các vị trí địa lý khác nhau. Để đảm bảo tính khách quan và bao quát, nhóm chỉ sử dụng thông tin ngày giao dịch từ cột InvoiceDate.

3. Tại sao khi chạy thuật toán FP-Growth nhóm phải lấy mẫu 350.000 dòng thay vì chạy trên toàn bộ tập dữ liệu?
Việc áp dụng FP-Growth trên toàn bộ dữ liệu đã qua tiền xử lý làm phát sinh số lượng tập kết hợp quá lớn (gần 33.000 tập), vượt quá khả năng xử lý của phần cứng máy tính thông thường. Lấy mẫu ngẫu nhiên 350.000 dòng (random_state = 8) giúp thuật toán vận hành ổn định mà chỉ bỏ qua khoảng 5% dữ liệu.

4. Sự khác biệt giữa sản phẩm có sản lượng bán cao nhất và danh mục có doanh thu cao nhất là gì?
Sản phẩm đơn lẻ có sản lượng bán cao nhất năm 2011 là pack retrospot cake cases (~14.000 sản phẩm), nhưng đóng góp doanh thu rất nhỏ ($600 - $700/tháng). Ngược lại, khi gom cụm bằng K-Means, danh mục túi (bag) mới là dòng sản phẩm dẫn đầu toàn diện về cả số lượng đặt hàng (~45.000) và tổng doanh thu mang lại (~$80.000).

5. Nhóm sản phẩm nào có mối liên hệ mua cùng nhau chặt chẽ nhất trong phân tích giỏ hàng?
Nhóm 4 sản phẩm đồ chơi gồm poppys playhouse livingroom, poppys playhouse bedroom, poppys playhouse bathroom và poppys playhouse kitchen xuất hiện cùng nhau với độ tin cậy $Confidence = 1$ và độ thuyết phục $Conviction = \infty$, đặc biệt đạt doanh số cao nhất vào mùa Thu và mùa Đông.


Kết luận

Đồ án môn học của nhóm tác giả tại Đại học Kinh tế TP. Hồ Chí Minh đã ứng dụng thành công quy trình phân tích dữ liệu toàn diện trên tập dữ liệu bán lẻ trực tuyến với hơn 540.000 giao dịch. Thông qua việc kết hợp các phương pháp EDA, phân tích chuỗi thời gian, thuật toán FP-Growth, K-Means và K-Prototypes, nghiên cứu đã giải quyết trọn vẹn các bài toán về xác định sản phẩm bán chéo, nhận diện chu kỳ tiêu dùng và phân khúc khách hàng đa chiều. Những kết quả thu được cung cấp cơ sở định lượng rõ ràng giúp doanh nghiệp tối ưu hóa kế hoạch cung ứng, thiết kế gói sản phẩm combo và triển khai các chiến dịch tiếp thị hiệu quả.