Phân tích dữ liệu: Sử dụng Pandas, Numpy và các công cụ thống kê để tính toán các giá trị thống kê mô tả và hệ số tương quan.. Trực quan hóa dữ liệu: Sử dụng Matplotlib để tạo các biểu đ
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC THĂNG LONG
BÀI TẬP LỚN MÔN NHẬP MÔN KHOA HỌC
DỮ LIỆU
DỮ LIỆU SÁCH TIKI
A41479 NGUYỄN HỮU QUÂN GIẢNG VIÊN HƯỚNG DẪN: PAI007 ĐOÀN TRUNG PHONG
HÀ NỘI – 2024
Trang 2MỤC LỤC
Trang 31 GIỚI THIỆU
1.1 Giới thiệu bài toán và mục tiêu phân tích
Trong thời đại thương mại điện tử phát triển mạnh mẽ, việc hiểu rõ tác động của các chiến lược khuyến mãi, đặc biệt là giảm giá, đến doanh số bán hàng và hành vi người tiêu dùng
là vô cùng quan trọng Đối với các nền tảng như TIKI, các chiến lược giảm giá thường được sử dụng để thu hút khách hàng và tăng cường doanh số bán hàng Tuy nhiên, để tối ưu hóa các chiến lược này, cần có sự phân tích dựa trên dữ liệu thực tế.
Bài toán đặt ra: Chúng ta cần phân tích tác động của việc giảm giá đến doanh số bán hàng và các yếu tố khác như số lượng đánh giá và bình luận từ khách hàng.
Mục tiêu phân tích :
Trang 4 Tác động của giảm giá đến doanh số bán hàng: Xác định mức độgiảm giá tối ưu để tăng doanh số bán hàng mà không làm giảm lợinhuận quá mức
Mối quan hệ giữa tỉ lệ giảm giá và số lượng đánh giá: Tìm hiểuxem giảm giá có làm tăng số lượng đánh giá và bình luận từ kháchhàng hay không
Chiến lược khuyến mãi hiệu quả: Đưa ra các đề xuất chiến lượckhuyến mãi hiệu quả dựa trên kết quả phân tích, nhằm tăng cườngdoanh số và sự hài lòng của khách hàng
1.2 Định nghĩa thuật ngữ và các từ viết tắt
thường mạiđiện tử tạiViệt Nam
2 CƠ SỞ DỮ LIỆU
2.1 Công nghệ và framework
1 Python Một ngôn ngữ lập trình mạnh mẽ, dễ học và rất phổ biến
trong lĩnh vực khoa học dữ liệu Python cung cấp nhiềuthư viện hữu ích cho việc thu thập, xử lý và phân tích dữ
Trang 5STT Tên công nghệ Mô tả
liệu
2 Pandas Một thư viện mã nguồn mở của Python được sử dụng cho
thao tác và phân tích dữ liệu Pandas cung cấp các cấutrúc dữ liệu và các công cụ thao tác với dữ liệu mạnh mẽ,đặc biệt là DataFrame – một cấu trúc dữ liệu hai chiều chophép dễ dàng xử lý và phân tích dữ liệu tabular
3 DataFrame Cấu trúc dữ liệu chính của Pandas, tương tự như một bảng
dữ liệu trong SQL hoặc một bảng tính Excel
4 read_csv() Hàm đọc dữ liệu từ tệp CSV vào DataFrame
5 describe() Hàm cung cấp thống kê mô tả cho các cột dữ liệu số trong
Trang 6STT Tên công nghệ Mô tả
8 corr() Hàm tính toán hệ số tương quan giữa các cột dữ liệu số
trong DataFrame
9 Matplotlib một thư viện vẽ đồ thị 2D của Python Matplotlib cung
cấp các công cụ để tạo ra các biểu đồ như biểu đồ đường,biểu đồ thanh, biểu đồ phân tán, và biểu đồ histogram
10 plt.figure() Tạo một khung hình mới cho biểu đồ
11 plt.hist() Vẽ biểu đồ histogram
12 plt.scatter() Vẽ biểu đồ phân tán
13 plt.title() Đặt tiêu đề cho biểu đồ
Trang 7STT Tên công nghệ Mô tả
14 plt.xlabel() Đặt nhãn cho trục x
15 plt.ylabel() Đặt nhãn cho trục y
16 plt.grid() Hiển thị lưới trên biểu đồ
17 plt.show() Hiển thị biểu đồ
18 Requests Một thư viện của Python giúp gửi các yêu cầu HTTP một
cách dễ dàng Thư viện này được sử dụng để thu thập dữliệu từ các trang web thông qua các yêu cầu HTTP GEThoặc POST
19 BeautifulSoup Một thư viện của Python được sử dụng để phân tích cú
pháp HTML và XML BeautifulSoup giúp trích xuất dữliệu từ các trang web và biến đổi chúng thành các cấu trúc
dữ liệu dễ dàng xử lý
Trang 8STT Tên công nghệ Mô tả
20 requests.get() Gửi yêu cầu HTTP GET
21 BeautifulSoup() Phân tích cú pháp HTML và XML
22 find_all() Tìm tất cả các thẻ HTML phù hợp với điều kiện tìm kiếm
23 NumPy Một thư viện của Python cung cấp hỗ trợ cho các mảng
n-dimensional và các hàm toán học hiệu quả NumPythường được sử dụng cùng với Pandas để thực hiện cácphép toán trên dữ liệu số
24 numpy.array() Tạo mảng n-dimensional
26 numpy.mean() Tính toán giá trị trung bình của mảng
Trang 9STT Tên công nghệ Mô tả
27 numpy.std() Tính toán độ lệch chuẩn của mảng
2.2 Quy trình phân tích dữ liệu
Thu thập dữ liệu: Sử dụng Requests để lấy dữ liệu từ API hoặc trang web.
Làm sạch dữ liệu: Sử dụng Pandas để loại bỏ các giá trị bị thiếu, xử lý dữ liệu không hợp lệ và chuyển đổi định dạng dữ liệu nếu cần thiết.
Phân tích dữ liệu: Sử dụng Pandas, Numpy và các công cụ thống kê để tính toán các giá trị thống kê mô tả và hệ số tương quan
Trực quan hóa dữ liệu: Sử dụng Matplotlib để tạo các biểu đồ giúp trực quan hóa dữ liệu và kết quả phân tích.
Kết luận: Dựa trên kết quả phân tích để đưa ra các nhận xét và
đề xuất chiến lược kinh doanh
2.3 Định nghĩa thuật ngữ và các từ viết tắt
API (Application Programming Interface) là một tập hợp
các quy tắc và giao thức cho phép các ứng dụng phầnmềm giao tiếp với nhau API định nghĩa các phươngthức, dữ liệu yêu cầu, và dữ liệu phản hồi cho phép cácứng dụng trao đổi thông tin và thực hiện các chức năng
Trang 10Thuật ngữ Ghi chú
mà không cần phải biết chi tiết về cách thức hoạt độngnội bộ của ứng dụng khác
HTML (HyperText Markup Language là ngôn ngữ đánh dấu )
được sử dụng để tạo cấu trúc và nội dung cho các trangweb HTML cung cấp một cách để tổ chức và hiển thịvăn bản, hình ảnh, liên kết, và các yếu tố khác trêntrình duyệt web Đây là một công nghệ cơ bản củaWorld Wide Web, cùng với CSS và JavaScript
Bước 2: Thiết Lập Các Tham Số Cho Yêu Cầu HTTP
Thiết lập các thông số cần thiết cho yêu cầu HTTP để lấy thông tin sản phẩm từ API của Tiki:
Trang 11Bước 3: Định Nghĩa Hàm Xử Lý Dữ Liệu JSON
Định nghĩa hàm parser_product để xử lý dữ liệu JSON trả về từ API của Tiki và trích xuất các thông tin cần thiết về sản phẩm:
Bước 4: Đọc Danh Sách ID Sản Phẩm
Đọc danh sách các ID sản phẩm từ tệp CSV
product_id_ncds.csv để biết được các sản phẩm cần thu thập dữ liệu:
Bước 5: Thu Thập Dữ Liệu Sản Phẩm
Duyệt qua từng ID sản phẩm, gửi yêu cầu HTTP tới API của Tiki để lấy thông tin chi tiết của sản phẩm và lưu trữ vào danh sách kết quả:
Trang 12Bước 6: Lưu Trữ Dữ Liệu Vào Tệp CSV
Chuyển dữ liệu thu thập được thành một DataFrame và lưu trữ vào tệp CSV
Bước 2: Thiết Lập Các Tham Số Cho Yêu Cầu HTTP
Thiết lập các thông số cần thiết cho yêu cầu HTTP để lấy thông tin sản phẩm từ API của Tiki:
Bước 3: Định Nghĩa Hàm Xử Lý Dữ Liệu JSON
Định nghĩa hàm comment_parser để xử lý dữ liệu JSON trả về từ API của Tiki và trích xuất
Trang 13các thông tin cần thiết về đánh giá sản phẩm:
Bước 4: Đọc Danh Sách ID Sản Phẩm
Đọc danh sách các ID sản phẩm từ tệp CSV
product_id_ncds.csv để biết được các sản phẩm cần thu thập dữ liệu:
Bước 5: Thu Thập Dữ Liệu Sản Phẩm
Duyệt qua từng ID sản phẩm, gửi yêu cầu HTTP tới API của Tiki để lấy thông tin chi tiết của sản phẩm và lưu trữ vào danh sách kết quả:
Bước 6: Lưu Trữ Dữ Liệu Vào Tệp CSV
Chuyển dữ liệu thu thập được thành một DataFrame và lưu trữ vào tệp CSV
comments_data_ncds.csv:
3.2 Làm sạch dữ liệu
3.2.1 Làm sạch dữ liệu product_id_ncds.csvBước 1: Kiểm Tra Dữ Liệu Bị Thiếu
Trang 14 kiểm tra dữ liệu bị thiếu trong DataFrame
data_product bằng cách sử dụng phương thức
isnull():
Bước 2: Xử Lý Giá Trị Bị Thiếu trong Cột “name”
Kiểm tra các giá trị độc nhất trong cột name
và xử lý các giá trị chứa ký tự không mong muốn:
Bước 3: Kiểm Tra và Xử Lý Các Cột Khác
Trang 15 Xóa các dòng dữ liệu chứa giá trị NaN để đảm bảo dữ liệu hoàn chỉnh và nhất quán:
Bước 4: Kiểm Tra Lại Dữ Liệu Sau Khi Làm Sạch
Kiểm tra các giá trị độc nhất trong các cột
sku price list_price discount discount_rate, , , , ,
print(data_product["review_count"].unique())
print(data_product["inventory_status"].unique())
3.2.2 Làm sạch dữ liệu comments_data_ncds.csvBước 1: Kiểm Tra Dữ Liệu Bị Thiếu
Tiếp theo, kiểm tra dữ liệu bị thiếu trong DataFrame bằng cách sử dụng phương thức
isnull() và sum() để đếm số lượng giá trị bị thiếu trong từng cột:
Trang 16Nhận xét: Có 6 giá trị bị thiếu trong cột content, nguyên nhân
có thể do khách hàng chỉ đánh giá mà không để lại nội dung nhận xét.
Bước 2: In Ra Các Dòng Chứa Giá Trị Bị Thiếu
Hiển thị các dòng dữ liệu chứa giá trị bị thiếu
để có cái nhìn cụ thể hơn về những giá trị bị thiếu này:
Giải pháp: Ở trường hợp này, chúng ta
sẽ xóa các dòng chứa giá trị NaN vì đây là
Trang 17đánh giá của khách hàng và rất khó để can thiệp
Bước 3: Xử Lý Các Giá Trị Bị Thiếu
Xóa các dòng dữ liệu chứa giá trị NaN để đảm bảo dữ liệu hoàn chỉnh và nhất quán:
Bước 4: Kiểm Tra Lại Dữ Liệu Sau Khi Làm Sạch
Đảm bảo rằng không còn giá trị bị thiếu sau khi đã làm sạch dữ liệu:
Bước 5: Kiểm Tra Các Giá Trị Độc Nhất Trong Cột
“content”
Hiển thị các giá trị độc nhất trong cột content
để kiểm tra tính đa dạng của các nhận xét:
Trang 20Nhận Xét về Các Giá Trị Được Phân Tích Thống Kê
1 Cột price và list_price:
o Giá sản phẩm dao động rất lớn, từ mức thấp nhất là 430 VND đến mức cao nhất là 1,170,000 VND cho price và 1,750,000 VND cho list_price
o Độ lệch chuẩn cao cho thấy sự biến động lớn về giá giữacác sản phẩm
4 Cột rating trong Dữ Liệu Đánh Giá:
o Tất cả các đánh giá đều có điểm số là 5, cho thấy các sảnphẩm được đánh giá rất cao
o Điều này có thể chỉ ra rằng dữ liệu đánh giá có thể không đa dạng hoặc có thiên lệch tích cực
Trang 213.4 Trực quan hóa dữ liệu
Bước 1: Tính Toán Hệ Số Tương Quan
Chúng ta tính toán hệ số tương quan giữa
discount_rate và review_count để hiểu mối quan hệ giữahai biến này
Trang 22Nhận xét: Biểu đồ histogram cho thấy sự phân phối của giá sản
phẩm với nhiều sản phẩm có giá thấp và một số ít sản phẩm có giárất cao
Bước 3: Biểu Đồ Phân Tán giữa Tỷ Lệ Giảm Giá và Số Lượng ĐánhGiá
Biểu đồ phân tán (scatter plot) giúp trực quan hóa mối quan hệ giữa tỷ lệ giảm giá và số lượng đánh giá
Bước 4: Kiểm Tra Lại Dữ Liệu Sau Khi Làm Sạch
Đảm bảo rằng không còn giá trị bị thiếu sau khi đã làmsạch dữ liệu:
Nhận xét: Biểu đồ phân tán cho thấy mối quan hệ dương rõ ràng
giữa tỷ lệ giảm giá và số lượng đánh giá, xác nhận kết quả tươngquan cao đã tính toán trước đó
3.5 Kết luận
Sau quá trình phân tích biểu đồ chúng tôi đưa ra những kết luận sau:
Trang 23Tập trung giá ở mức thấp: Phần lớn sản phẩm có giá nằm trong khoảng
từ 0.0 đến 0.2 triệu đơn vị tiền tệ, với các cột tần suất lần lượt là 2.0, 1.0
và 3.0 Điều này cho thấy nhiều sản phẩm được định giá ở mức thấp
Giá cao ít phổ biến: Mức giá cao nhất (1.0 đến 1.2 triệu đơn vị tiền tệ)
chỉ có một sản phẩm với tần suất là 1.0, cho thấy rằng rất ít sản phẩm có giá cao
Phân phối không đối xứng: Với tần suất cao nhất ở mức giá thấp và
giảm dần khi giá tăng, biểu đồ cho thấy sự phân phối không đối xứng của giá sản phẩm, tập trung nhiều ở mức giá thấp và giảm dần khi giá tăng
Giảm giá không kích thích đánh giá: Dữ liệu cho thấy tỷ lệ giảm giá
không có tác động đáng kể đến việc gia tăng số lượng đánh giá Do đó, giảm giá có thể không phải là yếu tố chính để tăng cường tương tác và đánh giá của khách hàng
Thị trường sách giá rẻ: Với phần lớn sản phẩm có giá thấp, việc giảm giá
có thể không cần thiết đối với các sản phẩm này vì khách hàng đã có xu hướng mua nhiều sách giá rẻ Tăng giảm giá có thể không ảnh hưởng nhiều đến quyết định mua hàng trong phân khúc giá thấp
4 TỔNG QUÁT
4.1 Chiến lược kinh doanh tương lai
Sau phân tích đưa ra chiến lược kinh doanh sau :
Tập trung vào giá trị hơn là giảm giá: Thay vì tập trung vào
chiến lược giảm giá, Tiki nên tập trung vào việc nâng cao giá trịsản phẩm thông qua các chương trình khuyến mãi khác như quàtặng kèm, miễn phí vận chuyển, hoặc các chương trình khách hàngthân thiết
Đa dạng hóa phân khúc sản phẩm: Xem xét mở rộng danh mục
sản phẩm với các sách có giá trị cao hơn để thu hút đối tượngkhách hàng mới Điều này có thể bao gồm sách giới hạn, sách cóchữ ký tác giả, hoặc sách với chất lượng in ấn cao
Tạo nội dung chất lượng và đánh giá: Khuyến khích khách hàng
để lại đánh giá qua các chương trình tặng thưởng cho đánh giá, không chỉ dựa vào việc giảm giá Nội dung chất lượng như mô tả
Trang 24sách chi tiết, video giới thiệu, và đánh giá từ người nổi tiếng có thểgiúp tăng uy tín và thu hút người mua.
Phân tích chi tiết khách hàng: Nghiên cứu hành vi mua hàng của
khách hàng để xác định các yếu tố khác ngoài giá có thể ảnh hưởng đến quyết định mua hàng, từ đó xây dựng chiến lược marketing và khuyến mãi phù hợp
Chiến lược giảm giá hợp lý: Việc giảm giá trong khoảng từ 0%
đến 50% là phổ biến và có thể thu hút được một lượng đánh giá ổn định Tiki nên tập trung vào việc tối ưu hóa các mức giảm giá trongkhoảng này để cân bằng giữa lợi nhuận và sự thu hút khách hàng
Tập trung vào chất lượng và giá trị sản phẩm: Một số sản phẩm
có tỷ lệ giảm giá cao (50%-100%) nhưng lại nhận được số lượng đánh giá rất cao Điều này cho thấy rằng ngoài giảm giá, chất lượng sản phẩm và chiến lược tiếp thị cũng rất quan trọng Tiki nênchú trọng vào việc nâng cao giá trị sản phẩm và các chiến lược quảng bá mạnh mẽ
Cảnh giác với giảm giá quá cao: Tỷ lệ giảm giá trên 400% không
mang lại số lượng đánh giá cao, thậm chí gần như không có đánh giá Điều này cho thấy rằng giảm giá quá cao có thể không hiệu quả và có thể làm giảm giá trị thương hiệu Tiki nên cẩn trọng trong việc áp dụng các mức giảm giá cực cao và cân nhắc tác động lâu dài đến thương hiệu