1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo đồ án phân tích dữ liệu lớn đề tài phân tích xu hướng khách hàng

34 6 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phân tích xu hướng khách hàng
Tác giả Phạm Quốc Đạt, Lờ Thanh Hựng, Nguyễn Phước, Hoàng Trọng Toàn, Trần Đăng Minh Vũ
Người hướng dẫn Hồ Quốc Dũng, Giảng Viờn
Trường học ĐẠI HOC HUE
Chuyên ngành PHẦN TÍCH DỮ LIỆU LỚN
Thể loại Đồ án
Năm xuất bản 2022 - 2023
Thành phố Thừa Thiên Huế
Định dạng
Số trang 34
Dung lượng 4,14 MB

Nội dung

Hinh 1: Hinh 2: Hinh 3: Hinh 4: Hinh 5: Hinh 6: Hinh 7: Hinh 8: Hinh 9: Hinh 10: Hinh 11: Hinh 12: Hinh 13: Hinh 14: Hinh 15: Hinh 16: Hinh 17: Hinh 18: Hinh 19: Hinh 20 Hinh 21: Hinh 22

Trang 1

BAO CAO DO AN

Hoc ky I, nam học 2022 - 2023

Hoc phan: PHAN TICH DU LIEU LON

Đề tài: Phân tích xu hướng khách hàng

Trang 2

Đề tài: Phân tích xu hướng khách hàng

Giảng viên hướng dẫn: Hồ Quốc Dũng Sinh viên thực hiện: Phạm Quốc Đạt

Lê Thanh Hùng Nguyễn Phước

Số phách (Do hội đồng chấm thi ghi)

Trang 3

DAI HOC HUE ;

KHOA KY THUAT VA CONG NGHE

LILIL]IL]T]

PHIẾU DANH GIA DO AN/TIEU LUAN/BAI TAP LON

Hoc ky IT, nam hoc 2022 - 2023

Trang 5

MUC LUC CHƯƠNG I: GIỚI THIỆU BỘ DỮ LIỆU 222 S221SE2212222122221121212222121222cee 8 CHUONG II: PHAN TICH DU LIEU ceccccccccscsessseesseesssesesesssessstessetareseressseersseranees 9 2.1 KHAI QUAT DU LIBU Lecce ccccccccsccssessessessecsecsevssvsstsstssessesserseesenssnssnesesees 9 2.2 TIEN XU LY DU LIBU Loe cecccccccccscescsessseerssesereseressseetsesareseressseessnesaneee 10 2.2.1 XỬ LÝ DỮ LIỆU TRÓNG 22-222 2212221222212221222127122 c6 10 2.2.2 EXPLORATORY DATA ANALYSIS (EDA) 52sscszxcc 13

2.3.2 CUSTOMER LIFETIME, 0 c.ccccccccsssseesssecssseeseseesessecseseesereesereseseetesee 22

CHUONG III: TAI LIEU THAM KHAO ceccccccsccssesccsssessestssestesestssestssestssestesestesesees 32

Trang 6

Hinh 1: Hinh 2: Hinh 3: Hinh 4: Hinh 5: Hinh 6: Hinh 7: Hinh 8: Hinh 9: Hinh 10: Hinh 11: Hinh 12: Hinh 13: Hinh 14: Hinh 15: Hinh 16: Hinh 17: Hinh 18: Hinh 19: Hinh 20 Hinh 21: Hinh 22: Hinh 23: Hinh 24:

DANH MUC HINH ANH

Import dữ liệu Tìm dữ liệu khuyết

Xử lý dữ liệu khuyết (1) Xử lý dữ liệu khuyết (2) Xử lý dữ liệu khuyết (3) Xử lý dữ liệu khuyết (4) Xử lý dữ liệu khuyết (5)

Biểu đồ biều diễn tình trạng giao hàng Biểu đồ biểu diễn sự phat trién cua thương mại điện tử Brazil

Biểu đồ thống kê đơn hàng theo các ngảy trong tuần Biểu đồ so sánh tông số lượng đơn hàng năm 2017 và 2018 Biểu đồ về sự tăng trưởng của thương mại điện tử theo từng khu vực Cong thire Association Rule

Import thu vién Import dữ liệu One-hot encoding Áp dụng thuật toán Apriori vào dữ liệu Áp dụng Association Rule vào dữ liệu Cong thire tinh Customer lifetime value : Import va merge dir liéu

Tinh gia tri frequency Tinh gia tri recency

Tinh gia tri T Tinh gia tri T

Trang 8

LOI CAM ON

Chúng em xin gửi lời cảm ơn chân thành đến thây Hồ Quốc Dũng giảng viên môn “Phân tích dữ liệu lớn” đã trang bị giúp chúng em những kỹ năng cơ

ban và kiến thức cần thiết đề hoàn thành được bài tập này

Tuy nhiên, trong quá trình làm bài tập do kiến thức chuyên ngành của

chúng em còn hạn ché nên không thê tránh khỏi một vài thiếu sót khi trình bày

và đánh giá vấn đề Rất mong nhận được sự góp ý, đánh giá của các thầy cô bộ môn đề đẻ tài của chúng em thêm hoàn thiện hơn

Chúng em xin chan thành cảm ơn.

Trang 9

CHUONG I: GIOIL THIEU BO DU LIEU

Olist dataset là một tập đữ liệu công khai về các đơn hàng được thực hiện trên Olist Store - một nền tảng thương mại điện tử tại Braz1l Tập dữ liệu này chứa thong tin vẻ 100.000 đơn hàng từ năm 2016 đến năm 2018 được thực hiện trên nhiều thị truong tai Brazil Cac thuộc tính của nó cho phép xem xét một đơn hàng từ nhiều khía cạnh khác nhau: từ trạng thái

đơn hàng, giá cả, thanh toán và hiệu suất vận chuyên cho đến vị trí khách hàng, thuộc tính sản phâm và cuối cùng là những đánh giá từ khách hàng (kaggle, n.d.)

Bộ dữ liệu gồm có 9 tập dữ liệu nhỏ: Olist_olist_customers_dataset: m6 tả thông tin khách hàng Olist_geolocation dataset: m6 tả thông tin về mã zip và tọa độ địa lí của khách

hàng Olist order items_ dataset: đữ liệu về các mặt hàng đã mua Olist order payments _dataset: dữ liệu về phương thức thanh toán Olist order reviews dataset: dir liéu về nội dung đánh giá của khách hàng Olist_orders dataset: dir ligu vé dat hàng

olist_products dataset: dir liéu vé théng tin san pham duge ban boi Olist Olist_sellers dataset: dit ligu về người ban cua Olist

Product_category name translation: dữ liệu về tên sản phâm được dịch từ tiếng Bồ Đảo Nha sang tiếng Anh

Trang 10

CHUONG II: PHAN TICH DU LIEU

2.1 KHAI QUAT DU LIEU

Sử dụng thư viện Pandas dé nhập đữ liệu từ file csv vào python # Đọc tất cả các file đữ liệu

# Brazillian ecommerce

raw_path = ' /input/brazilian-ecommerce/ customer = pd.read_csv(raw_path + ‘olist_customers_dataset.csv') geolocation = pd.read_csv(raw_path + 'olist_geolocation_dataset.csv') orders = pd.read_csv(raw_path + 'olist_orders_dataset.csv') order_items = pd.read_csv(raw_path + ‘olist_order_items_dataset.csv' )

products = pd.read_csv(raw_path + ‘olist_products_dataset.csv') sellers = pd.read_csv(raw_path + ‘olist_sellers_dataset.csv') translation = pd.read_csv(raw_path + ‘product_category_name_translation.csv’ ) # Maketing

closed_deals = pd.read_csv(' /kaggle/input/marketing-funnel-olist/olist_closed_deals_dataset.csv' ) marketing = pd.read_csv(‘/kaggle/input/marketing-funnel-olist/olist_marketing_qualified_leads_dataset.csv')

Hinh 1: Import dit liéu Sau khi nhập dữ liệu vào, sử dụng hàm “background_ gradient()” đề có một cái nhìn

khái quát về đữ liệu Kiểm tra xem mỗi tập dữ liệu có bao nhiêu hàng, cột, số lượng trường đữ liệu bị khuyết,

Trang 11

data_info = pd.DataFrame({}) data_info[ 'dataset' ] = names data_info['n_rows'] =

[df.shape[@] for df in datasets] data_info['n_cols'] = [df.shape[1] for df in datasets] data_info[‘null_amount’] = [df.isnull().sum().sum() for df in datasets] data_info[‘qty_null_columns'] = [len([col for col, null in df.isnull().sum().items() if null > 6]) for df in datasets] data_info[‘null_columns’] = [',

data_info.style.background_gradient() dataset nrơw nicols nullamount qty null columns

null columns

Tim dữ liệu khuyết Nhận thấy răng có 5 tập đữ liệu bị khuyết, bao gồm: e Orders

e Order _reviews e Products e Translation e Closed_deals

2.2 TIEN XU LY DU LIEU 2.2.1 XU LY DU LIEU TRONG

Khi làm việc với đữ liệu, rat đễ bắt gặp trường hợp bị khuyết dữ liệu, tùy thuộc

vào đữ liệu đang đề cập đên vân đề nào và mục đích phân tích, có thê xử lí đữ liệu theo những phương pháp sau:

e Xóa dữ liệu trống e Dién dữ liệu trống e Sử dụng mô hình dự đoán

e Tao bién nhan dang

e Sử dụng kỹ thuật khác

10

Trang 12

2.2.1.1 TAP DU LIEU PRODUCTS

# Tim dự liệu Nall trong field product_category_nane

product id product.category.name product.name_fenght product description lenght product photos.qty product_weight.g product.Jength.cm product height.cm product width cm

Hình 3: Xử lí dữ liệu khuyết (1)

Ở đây vì trường dữ liệu “product_category_name”(tên nhóm của sản phâm) là một trường dữ liệu quan trọng đề phân tích xu hướng mua hàng của

khách hàng nên không thê loại bỏ trường đữ liệu này Vì vậy, chúng ta gắn

nhãn cho những trường dữ liệu khuyết này thành “Unknow” # Chuyến NaN -> Unknow

products[ “product_category_name"].fillna("“Unknow", inplace = True) products.iloc[105]

Tương tự với trường đữ liệu “Product_photos_gty” (số lượng ảnh về

sản phâm), vì một số lí do như sản phâm này không có ảnh mô tả hay lỗi hiện thị ảnh, nên chúng ta sẽ chuyên đữ liệu khuyết thành giá trị 0

products[ “product_photos_qty"].fillna(int(@), inplace = True)

11

Trang 13

Hình 5: Xử lí dữ liệu khuyết (3)

2.2.2.2 TẬP DỮ LIỆU ORDER_REVIEWS Đối với 2 trường đữ liệu “review_comment_title”, “review_comment_message”, chúng ta sẽ xóa các dữ liệu bị khuyết

order_reviews = 0rder_re/iets.dropna|suhset| revisw_cotment_titÌ>'„ ‘revier_connent_nessage' |)

order_reviews.head|)

Hình 6: Xử lí dữ liệu khuyét (4)

Chuẩn hóa dữ liệu ngày tháng năm

orders| ‘order_purchase_tinestamp'] = pd.to_datetine(orders[ ‘order _purchase_tinestanp' |} dt.nornalize() orders| ‘order_approved_at'| = pd.to_datetime(orders|'order_epproved_at' |) dt normalize() orders] ‘order_delivered_carrier_date’] = pd.to_datetine(orders|' order_delivered_carrier_dete’ ]).dt.normalize() orders] ‘order _delivered_custoner_date’] = pd.to_datetine(orders[ ' order_delivered œustwer_date' |) dt.nornalize()

orders head{)

Hình 7: Xử lý dữ liệu khuyết (5)

12

Trang 14

2.2.2 EXPLORATORY DATA ANALYSIS (EDA) 2.2.2.1 TINH TRANG GIAO HANG - DELIVERED

#delivered

df_orders = orders.merge(customer, how='left’, on="customer_id’ }

fig, ax = plt.subplots(figsize=(14, 6))

plt.title( 'Biếu đồ thế hiên tinh trang giao hang của các đơn hàng(%) }

e_ Biểu đồ biêu diễn tinh trang giao hàng của thương mại điện tử Olist

trong khoản thời gian 2016-2018 e Hau hét các sản phẩm đã được giao (chiếm 97%), e Nhiing san pham con lai đang trong quá trình giao hàng, hoặc là sản

phâm vừa được đặt hàng (chiếm 3% tông số sản phẩm), trong đó: o San pham đang giao (chiếm 1.1%)

o San pham bj huy don (chiém 0.6%) o San pham khéng con hang (chiém 0.6%)

o San pham đang trong quá trình xử lý đơn hàng (chiếm 0.3%)

o_ Sản phâm vừa được đặt và chấp thuận chỉ chiếm 7 đơn hàng

13

Trang 15

2.2.2.2 SU PHAT TRIEN CUA THUONG MAI DIEN TU O BRAZIL

Sự phát triển của TMDT 6 Brazil

PD ho oP OP € oo ye SP MM SM ở ở vờ VV Vee YY A PKK KPH LF rer YM MY Yh PY + 4 4 4 SK TPF PE SH EPS Ỳ P rrr ỳ rr rrr ert POP?

Hình 9: Biếu đồ biểu diễn sự phát triển của thương mại điện tử Brazil Nhận xét:

e_ Biểu đồ biêu diễn số lượng đơn hàng được đặt trong thời gian từ 9-2016 -> 10-2018

e Nhin chung xu hudng mua hàng ở sản thương mại điện tử có xu hướng tăng trong giai đoạn 9-2016 -> 11-2017, khoảng thời gian từ 11-2017 ->

10-2018, xu hướng mua hàng có biến động nhẹ

e Tháng 11-2017, sàn thương mại có số lượng đơn đặt hàng lớn nhất với hơn 7000 lượt đặt hàng

e Tháng 9-2016, sản thương mại có số lượng đơn đặt hàng thấp nhất (< 200 đơn đặt hàng)

14

Trang 16

Thống kê số wong đơn hàng theo các ngày trong tuần

8000 600 400 2000

i Sat order purchase dayotweek

® Nhin chung khách hàng có xu hướng mua hàng từ thứ 2 -> 6, trong đó

thứ 2 có số lượng mua hàng nhiều nhất (16196 đơn hàng) chiếm 16.3%

tong số đơn hàng

e Thứ 7, có số lượng đặt hàng thấp nhất với 10887 đơn hàng - chiếm

10.9% tổng số

15

Trang 17

e Biểu đồ so sánh số lượng đơn đặt hàng của sản thương mại điện tử

trong 2 năm 2017 và 2018

e_ Nhìn chung, số lượng đơn đặt hàng của năm 2018 lớn hơn rất nhiều so

với năm 2017

© Téng số đơn đặt hàng năm 2017 là 22968 don hang

e Tổng số lượng đơn đặt hàng năm 2018 là 53991 đơn bảng, tăng 143% so với năm 2017

16

Trang 18

2.2.2.3 SU ANH HUONG CUA THUONG MAI DIEN TU THEO KHU VUC

Evolution of E-Commerce Orders on Brazilian Regions

từng khu vực Nhận xét

e Biểu đồ biểu diễn sự tăng trưởng của số lượng đơn đặt hàng theo khu vực

e Khu vực Sudeste có xu hướng tăng trưởng nhanh chong so với các

khu vực còn lại, đỉnh điểm là vào tháng 11-2017, số lượng đơn hàng

của khu vực nảy là 6000 e©_ Khu vực Norte có mức độ tăng trưởng thấp nhất

17

Trang 19

2.3 DATA MINING 2.3.1 ASSOCIATION RULE

2.3.1.1 GIOI THIEU VE THUAT TOAN ASSOCIATION RULE

Phan tich ludt két hop (Association Rules Analysis) la một phương pháp quan trọng trong lĩnh vực khoa học đữ liệu và khai phá đữ liệu Nó được áp dụng đề phân tích và khám phá mối quan hệ tương quan và quy tắc giữa các mục trong một tập đữ liệu Mục tiêu chinh cua Association Rules Analysis là tìm hiểu các mục xuất hiện cùng nhau với tần suất cao trong các tập dữ liệu

Thông thường khi mua hàng, chúng ta sẽ có xu hướng mua các sản phâm theo sở thích hay mua một nhiều sản phẩm đề hỗ cho một công việc (vd: một người có gu retro thì sẽ mua nguyên bộ áo, quân, mũ, cặp sách cũng theo hướng retro đề có thê mặc chung với nhau hay khi mua bia thì có xu hướng mua thêm lạc để nhậu chăng) Như vậy, khi tìm ra được các bộ sản pham nay,

nếu khách hang mua một sản phâm, chúng ta có thê gợi ý cho khách hàng ở sản phâm tiếp theo từ đó tăng doanh số bán hàng (tailieudientu.net, n.d.)

Thông qua phân tích luật kết hợp, chúng ta có thê khám phá được các

quy tắc kết hợp giữa các mục, ví dụ như "nếu A xuất hiện, thì có khả năng B cũng xuất hiện" Điều này giúp chúng ta hiểu rõ hơn về sự tương quan và mô hình hóa các quan hệ giữa các mục trong dữ liệu Phân tích Luật Kết hợp đã được áp dụng rộng rãi trong nhiều lĩnh vực, bao gồm tiếp thị, bản lẻ, e-commerce va phan tich hanh vi người dùng trên các nên táng trực tuyến 2.3.1.2 APRIORI ALGORITHM

Thuật toán Apriori, được sử dụng trong giai đoạn đầu của phân tích luật

kết hợp, là thuật toán phô biến và cô điển nhất trong các phân tử thường xuyên

Các thuộc tính và đữ liệu của thuật toán này được đánh giá với các Luật Kết hợp Boolean Trong thuật toán này, có các nhóm sản phẩm xuất hiện thường xuyên, sau đó tìm kiếm mối quan hệ mạnh mẽ giữa các sản phâm này và các

sản phâm khác

Sự quan trọng của một luật kết hợp có thê được xác định bằng 3 tham số được sử dụng đề định rõ sức mạnh của thuật toán Cụ thể lả:

18

Trang 20

e Support (H6 tra): Do lwong ty 16 xuat hién chung cua cac muc trong tap dữ liệu

e Confidence (D6 tin cay): Xác định mức độ chắc chắn của một luật đựa trên tỷ lệ các mục con của luật đã xảy ra trong tống số các mục cha e Lift (Độ nâng): Đo lường sự tăng cường của một luật so với việc các

mục trong luật xuât hiện ngâu nhiên và độc lập

Các tham số trên giúp đánh giá sức mạnh của một Luật Kết hợp và

quan trọng đề hiệu mức độ tương quan và ý nghĩa của các quy tắc được tạo ra trong phân tích Luật Kết hợp

q(X,Ÿ Support = 4 N :

Rule: X = Y —» Confidence= £45 \ Sig X)

Supp(X) x Supp(¥) Hinh 13: Céng thirc Association Rule

2.3.1.3 TRIEN KHAI THUAT TOAN ASSOCIATION RULE

Khai bao thu vién

import pandas as pd import numpy as np & from mlxtend.frequent_patterns import apriori, association_rules

Hinh 14: Import the viện

MAGGLTEA BISCUIT

19

Ngày đăng: 24/09/2024, 16:38

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w