Hỗ trợ đồ án, khóa luận Web, App, AI - Uy tín, chất lượng!
Hỗ trợ đồ án, khóa luận Web, App, AI - Uy tín, chất lượng!
Trang Chủ Hướng Dẫn Đồ Án Tạo đồ án phân tích khách hàng mua hàng online bằng Python
Hướng Dẫn Đồ ÁnLập Trình AI

Tạo đồ án phân tích khách hàng mua hàng online bằng Python

Chia sẻ
Chia sẻ

Trong thời đại thương mại điện tử phát triển bùng nổ, việc hiểu hành vi khách hàng trở thành yếu tố sống còn cho các doanh nghiệp. Dữ liệu mua sắm online không chỉ phản ánh doanh thu, mà còn thể hiện rõ xu hướng, sở thích và tiềm năng của từng nhóm khách hàng. Với Python, chúng ta hoàn toàn có thể xây dựng một hệ thống phân tích mạnh mẽ để xử lý, trực quan hóa và trích xuất thông tin hữu ích từ những dữ liệu tưởng chừng khô khan.

Bài viết này sẽ hướng dẫn bạn xây dựng một đồ án phân tích khách hàng mua hàng online bằng Python. Chúng ta sẽ sử dụng thư viện pandas, seaborn, matplotlib, và một tập dữ liệu thực tế để trả lời các câu hỏi: Quốc gia nào có doanh thu cao nhất? Sản phẩm nào bán chạy nhất? Khách hàng nào chi tiêu nhiều nhất?

Nếu bạn đã từng thực hành với các bài như Phân tích điểm rớt môn cho sinh viên CNTT, Tạo đồ án học máy phân loại email spam, hoặc Xử lý chuỗi thời gian bằng Prophet của Facebook, thì đây là một bước tiến tiếp theo trong việc áp dụng phân tích dữ liệu thực tế để hỗ trợ ra quyết định trong kinh doanh.

Dataset và mục tiêu phân tích

Dữ liệu được sử dụng trong bài này là Online Retail Dataset, gồm hơn 500,000 giao dịch từ một công ty bán lẻ ở Anh, được công khai trên Kaggle.

📥 Link tải dữ liệu dùng được:
🔗 https://archive.ics.uci.edu/ml/machine-learning-databases/00352/Online%20Retail.xlsx

Bạn có thể tải trực tiếp file .xlsx, sau đó đọc bằng pandas.

Thông tin trong dữ liệu:

  • InvoiceNo: Số hóa đơn

  • StockCode: Mã sản phẩm

  • Description: Tên sản phẩm

  • Quantity: Số lượng

  • InvoiceDate: Ngày hóa đơn

  • UnitPrice: Giá đơn vị

  • CustomerID: Mã khách hàng

  • Country: Quốc gia

Mục tiêu phân tích:

  • Thống kê doanh thu theo quốc gia

  • Phân tích sản phẩm bán chạy

  • Tìm khách hàng chi tiêu nhiều nhất

  • Trực quan hóa xu hướng doanh thu theo thời gian

Đọc và xử lý dữ liệu

Trước tiên, ta cần đọc dữ liệu từ file Excel và xử lý các dòng thiếu, định dạng lại ngày tháng và tính tổng doanh thu.

import pandas as pd

# Đọc file Excel từ địa chỉ tải về
df = pd.read_excel("Online Retail.xlsx")

# Xóa dòng bị thiếu thông tin khách hàng
df.dropna(subset=["CustomerID"], inplace=True)

# Thêm cột Doanh thu = Số lượng * Đơn giá
df["Revenue"] = df["Quantity"] * df["UnitPrice"]

# Đổi định dạng thời gian
df["InvoiceDate"] = pd.to_datetime(df["InvoiceDate"])

# Hiển thị thông tin cơ bản
print(df.info())

Hai đoạn trên đảm bảo dữ liệu đã sẵn sàng cho phân tích. Ta loại bỏ các giao dịch không hợp lệ và chuẩn hóa dữ liệu thời gian để phân tích xu hướng sau này.

Phân tích doanh thu theo quốc gia

Đây là một trong những thống kê quan trọng nhất với doanh nghiệp đa quốc gia. Việc biết được nước nào tạo ra doanh thu cao nhất giúp điều chỉnh chiến lược tiếp thị và phân phối.

import matplotlib.pyplot as plt

# Tổng doanh thu theo quốc gia
revenue_country = df.groupby("Country")["Revenue"].sum().sort_values(ascending=False)

# Vẽ biểu đồ
plt.figure(figsize=(12, 6))
revenue_country.head(10).plot(kind="bar", color="skyblue")
plt.title("Top 10 quốc gia có doanh thu cao nhất")
plt.xlabel("Quốc gia")
plt.ylabel("Doanh thu")
plt.tight_layout()
plt.show()

Phân tích sản phẩm bán chạy

Đây là phần giúp doanh nghiệp nhận diện sản phẩm chủ lực để tối ưu tồn kho, định giá và marketing.

# Sản phẩm bán chạy nhất (tính theo số lượng)
top_products = df.groupby("Description")["Quantity"].sum().sort_values(ascending=False)

# Hiển thị Top 10 sản phẩm
print(top_products.head(10))

Nếu bạn muốn phân tích theo doanh thu thay vì số lượng:

top_by_revenue = df.groupby("Description")["Revenue"].sum().sort_values(ascending=False)
print(top_by_revenue.head(10))

Cả hai đều có giá trị tùy theo mục đích phân tích: sản phẩm phổ biến vs sản phẩm mang lại lợi nhuận cao.

Khách hàng chi tiêu nhiều nhất

Một doanh nghiệp thông minh cần biết ai là khách hàng quan trọng. Dưới đây là cách thống kê top khách chi tiêu:

# Top khách hàng chi tiêu nhiều nhất
top_customers = df.groupby("CustomerID")["Revenue"].sum().sort_values(ascending=False)
print(top_customers.head(10))

Bạn cũng có thể kết hợp với email, số điện thoại nếu có, để phục vụ chương trình khách hàng thân thiết (CRM).

Trực quan hóa doanh thu theo tháng

Dữ liệu chuỗi thời gian là vàng trong thương mại. Ta cần biết khi nào doanh thu tăng cao, từ đó lên kế hoạch nhập hàng, giảm giá, quảng bá phù hợp.

# Thêm cột Tháng
df["Month"] = df["InvoiceDate"].dt.to_period("M")

# Tổng doanh thu theo tháng
revenue_month = df.groupby("Month")["Revenue"].sum()

# Vẽ biểu đồ
revenue_month.plot(kind="line", marker="o", figsize=(10, 5))
plt.title("Doanh thu theo tháng")
plt.xlabel("Thời gian")
plt.ylabel("Tổng doanh thu")
plt.grid(True)
plt.tight_layout()
plt.show()

Kết quả sẽ cho bạn cái nhìn tổng quan về mùa cao điểm, giúp đưa ra quyết định kinh doanh hợp lý hơn.

Kết luận

Với chỉ vài thao tác xử lý dữ liệu và thống kê cơ bản trong Python, bạn đã có thể xây dựng một đồ án phân tích khách hàng thương mại điện tử có chiều sâu. Bằng cách phân tích doanh thu theo quốc gia, sản phẩm, khách hàng và thời gian, bạn đang thực sự khai thác được sức mạnh của dữ liệu.

Bạn có thể mở rộng bài toán này theo hướng clustering (phân khúc khách hàng), xây dựng dashboard Streamlit, hoặc kết hợp với Prophet để dự báo doanh thu tương lai. Đây là bước khởi đầu lý tưởng cho một dự án thực tế trong lĩnh vực phân tích dữ liệu thương mại.

Tham Gia Nhóm – Hỗ Trợ Lập Trình

Hỗ Trợ Đồ Án – ThueDoAn.vn

Liên quan
Hướng Dẫn Đồ Án

Checklist 10 bước kiểm tra cuối cùng trước khi nhấn nút nộp đồ án

Thời điểm chuẩn bị nhấn nút nộp đồ án luôn mang lại...

Hướng Dẫn Đồ Án

Tuyệt chiêu đối phó với những giảng viên hướng dẫn ‘khó tính’ nhất

Giai đoạn làm đồ án tốt nghiệp luôn đi kèm với vô...

Hướng Dẫn Đồ Án

Tại sao việc quản lý Source Code bằng Git lại quan trọng hơn bạn nghĩ?

Trong thế giới lập trình hiện đại, mã nguồn chính là linh...

Hướng Dẫn Đồ Án

Những chức năng ‘thừa’ khiến bạn tốn thời gian mà không được cộng điểm

Làm đồ án tốt nghiệp là một cuộc đua thực thụ với...

Hướng Dẫn Đồ Án

Cách xử lý khi đề tài bị trùng lặp ý tưởng với các khóa trước quá nhiều

Lựa chọn đề tài đồ án luôn là bước khởi đầu đầy...

Hướng Dẫn Đồ Án

Làm sao để giải trình với giảng viên khi code bị nghi ngờ là đi chép?

Trong quá trình thực hiện đồ án, việc tham khảo mã nguồn...

Hướng Dẫn Đồ Án

Cảnh báo: Những nguồn share code ‘rác’ trên mạng cần tuyệt đối tránh

Trong quá trình làm đồ án, việc tìm kiếm sự hỗ trợ...

Hướng Dẫn Đồ Án

Sai lầm khi chọn công nghệ quá khó so với năng lực thực tế của bản thân

Chọn đề tài và công nghệ cho đồ án luôn là bước...

Liên Hệ
Liên hệ để được tư vấn & hỗ trợ đồ án CNTT nhé bạn!