You are on page 1of 17

ĐẠI HỌC QUỐC GIA TP.

HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA HỆ THỐNG THÔNG TIN

Báo Cáo Cuối Kỳ


BIG DATA
Áp Dụng Các Kỹ Thuật Xử Lý Dữ Liệu Lớn
Để Dự Đoán Thời Gian Giao Hàng Thành Công
Lớp: IS405.O11.HTCL
Giảng viên hướng dẫn: Nguyễn Hồ Duy Tri
Danh sách thành viên:

Phạm Trọng Phúc 20521771

Lưu Thảo Linh 20521532

Nguyễn Thanh Tú 20522099

Lê Vinh 20522158

Thành phố Hồ Chí Minh, tháng 12 năm 2023


Nhận xét của giảng viên
...........................................................................................................................................
................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
MỤC LỤC

I. LÝ DO CHỌN ĐỀ TÀI..........................................................................................4

II. DỮ LIỆU.................................................................................................................4

III. MÔ TẢ BÀI TOÁN.............................................................................................4

IV. KỸ THUẬT TIỀN XỬ LÝ DỮ LIỆU ĐƯỢC LỰA CHỌN...........................4

V. THUẬT TOÁN KHAI THÁC DỮ LIỆU ĐƯỢC CHỌN...................................4

VI. KẾT QUẢ ĐẠT ĐƯỢC......................................................................................4

1. Phát biểu kết quả.................................................................................................4

2. So sánh, đánh giá.................................................................................................4

VII. KẾT LUẬN..........................................................................................................4

1. Ưu điểm................................................................................................................4

2. Hạn chế.................................................................................................................4

3. Hướng phát triển.................................................................................................4

VIII. TÀI LIỆU THAM KHẢO..................................................................................4


I. LÝ DO CHỌN ĐỀ TÀI

Trênn các mô hình thương mại điện tử nổi bật ở thị trường Việt Nam bây giờ như Tiki
và Shopee, khi một khách hàng chưa mua sản phẩm thì đã có các dự đoán về thời gian
giao hàng. Từ đó giúp loại bỏ chướng ngại vật mang tên “Khi nào nhận được hàng”
của những người mua sắm. Tuy tính năng dự đoán thời gian giao hàng này sẽ làm
giảm doanh số của những món có thời gian giao lâu hơn nhưng bù lại sẽ tăng doanh số
nhiều hơn đáng kể cho những món giao nhanh hơn đối với khách hàng đó. Vì trên tâm
lý chung, khi người dùng mua hàng online họ thường ngại mua hàng vì tình trạng đơn
hàng mất hơn một tuần để giao là phổ biến và không có cách nào để họ biết được món
hàng nào sẽ giao nhanh hay chậm hay có tới đúng lúc họ cần hay không.

Xem xét trang thương mại điện tử Tiki. Tiki là viết tắt của “Tìm kiếm & Tiết kiệm”, là
tên của website thương mại điện tử Việt Nam. Thành lập từ tháng 3 năm 2010, Tiki
hiện đang là trang thương mại điện tử lọt top 2 tại Việt Nam và top 6 tại khu vực Đông
Nam Á.

Mô hình ban đầu của Tiki trang web bán sách online. Tháng 4 năm 2017, Tiki đánh
dấu bước chuyển mình khi chuyển sang hình thức Marketplace cung cấp hơn 10 triệu
sản phẩm từ 16 ngành hàng lớn, phục vụ hàng triệu khách hàng trên toàn quốc, đồng
thời ra mắt dịch vụ TikiNow, giao hàng nhanh trong 2h. [1]

Giao diện mua hàng (trang chủ) của Tiki:


Ở trang chủ của Tiki có tính năng vượt trội hơn các trang thương mại điện tử khác là
khả năng ước tính thời gian giao hàng ngay từ khi chưa có các thông tin đặt hàng của
khách hàng, cụ thể:

Khi đang giao đến địa chỉ hiện tại (thể hiện ở hình ảnh 1 là Quận 1, Bến Nghé) thì các
món hàng được đề xuất ở “Thương hiệu nổi bật” và các “Điện thoại Smartphone” có
dòng ước tính thời gian giao hàng ở cuối mỗi sản phẩm.
Điều này giúp cho người mua biết được đơn hàng sẽ đến khi nào và đặc biệt đối với
dịch vụ giao siêu tốc 2h của Tiki, giúp người dùng có được cảm giác “ảo mà như thật”.
Món hàng mình vừa bấm mua đã xuất hiện ngay trước cửa nhà chỉ sau 2 giờ đồng hồ
mà không cần phải tìm địa chỉ, chuẩn bị phương tiện vận chuyển, trang phục và di
chuyển đến chỗ mua. Tuy đó là đặc điểm chung của các trang thương mại điện tử
nhưng thời gian giao hàng của các trang đó thường không được xác định trước hay là
chỉ được ước tính sau khi tạo đơn, hoặc sau khi bên người bán xác nhận đơn. Việc đó
tạo nên một rào cản tâm lý trong việc chọn mua một sản phẩm trên mạng. So sánh với
trang thương mại điện tử khác, ở đây là Shopee.

Shopee là sàn giao dịch thương mại điện tử có trụ sở đặt tại Singapore, thuộc sở hữu
của Sea Ltd (trước đây là Garena), được thành lập vào năm 2009 bởi Lý Tiểu Đông.
Shopee được giới thiệu lần đầu tại Singapore vào năm 2015, và hiện đã có mặt tại các
quốc gia: Singapore; Malaysia, Đài Loan, Thái Lan, Indonesia, Việt Nam, Philippines,
Brazil, Ba Lan.

Tính đến năm 2021, Shopee được coi là nền tảng thương mại điện tử lớn nhất Đông
Nam Á với 343 triệu lượt truy cập hàng tháng. Ngoài ra, Shopee còn phục vụ người
tiêu dùng và người bán trên khắp các quốc gia ở Đông Á và Mỹ Latinh.[2]

Trang chủ của Shopee khi truy cập vào chưa tìm thấy liền được các sản phẩm, không
như Tiki nơi mà các sản phẩm là thứ đầu tiên được phô bày ra, cùng với thời gian giao
hàng dự kiến. Tuy nhiên phần lớn người tiêu dùng lại lựa chọn Shopee thay vì Tiki,
nhưng sự lựa chọn đó không phải vì các tính năng của Shopee nổi trội hơn mà vì giá
cả. Tính đến đầu năm 2023, Shopee tiếp tục dẫn đầu thị trường Thương mại điện tử
Việt Nam khi chiếm đến 63,1% thị phần tổng doanh thu của 5 sàn Thương mại điện tử
lớn nhất hiện nay. Trong đó doanh thu bán hàng trên nền tảng vượt 24.700 tỷ đồng với
289,7 triệu sản phẩm được giao thành công từ 211.609 người bán. [3]
Không như Tiki, các sản phẩm được Shopee đề xuất không thể hiện thời gian giao
hàng, từ đó dẫn đến việc người mua sẽ đặt những câu hỏi như “Người bán mất bao lâu
để chuẩn bị hàng?”, “Giao hàng mất bao lâu?”, “Thời điểm thực tế mà hàng về đến tay
là khi nào?”. Câu hỏi này có thể được trả lời, tuy nhiên nó yêu cầu người dùng phải
vào trang sản phẩm riêng lẻ rồi xác định vị trí hiện tại. Thao tác này lặp đi lặp lại sẽ dễ
khiến người dùng cảm thấy chán chường, có thể dẫn đến việc thay đổi ý định hoặc
thậm chí không mua hàng.
Từ sự khác biệt giữa phương thức “hấp dẫn người tiêu dùng” này, nhóm chúng em xác
định bài toán của đề tài là: Bằng việc vận dụng các kỹ thuật xử lý dữ liệu lớn, đưa ra
thời gian giao – nhận hàng ước tính dựa vào thời điểm người dùng truy cập web và
một vài tham số có thể thu được khác.

II. DỮ LIỆU SỬ DỤNG


1. Tổng quan
- Đề tài sử dụng tập dữ liệu chuyên dùng cho phân tích dữ liệu lớn của chuỗi
cung ứng [4]. Tuy không có ba bên là người bán, bên trung gian, bên người
mua như Tiki, Shopee mà chỉ xét hai đối tượng là người bán (chỉ một người
bán) và người mua nhưng các thông tin giao dịch phù hợp với vấn đề đặt ra
cũng như thông tin khách hàng, đơn hàng.
- Từ tập tin “DescriptionDataSupplyChain.csv” ta được mô tả của 52 cột dữ
liệu:

Thuộc tính Mô tả

Type Loại giao dịch

Days for shipping (real) Thời gian giao hàng thật

Days for shipment


Thời gian giao hàng dự tính
(scheduled)

Benefit per order Doanh thu trên mỗi đơn hàng

Sales per customer Doanh số của mỗi khách hàng

Delivery Status Trạng thái giao hàng

Biến phân loại chỉ định việc có khả năng giao hàng trễ
Late_delivery_risk
hay không

Category Id Mã phân loại của sản phẩm

Category Name Mô tả phân loại


Customer City Nơi khách hàng đặt hàng

Customer Country Nước khách hàng đặt hàng

Customer Email Địa chỉ email của khách hàng

Customer Fname Tên của khách hàng

Customer Id Mã khách hàng

Customer Lname Họ và tên đệm của khách hàng

Mật khẩu của khách hàng đã được giả bằng


Customer Password
“XXXXXXXX”

Customer Segment Loại khách hàng

Customer State Bang nơi mà khách hàng đặt hàng

Customer Street Địa chỉ cụ thể ( <Số nhà> <Tên đường> )

Customer Zipcode Mã bưu chính của khách hàng

Department Id Mã của bộ phận quản lý

Department Name Tên của bộ phận quản lý

Latitude Vĩ độ nơi bán

Longitude Kinh độ nơi bán

Market Thị trường đơn được giao tới

Order City Thành phố giao hàng

Order Country Nước đặt hàng

Order Customer Id Mã khách hàng ( trùng )

order date (DateOrders) Ngày tạo đơn

Order Id Mã đơn

Order Item Cardprod Id Mã sản phẩm (trùng)

Order Item Discount Phần giá tiền được giảm

Order Item Discount Rate % giảm giá đối với sản phẩm hiện tại trong đơn
Order Item Id Mã chi tiết đơn

Order Item Product Price Giá sản phẩm (trùng)

Order Item Profit Ratio Lợi nhuận của sản phẩm (trùng)

Order Item Quantity Số lượng sản phẩm đặt

Sales Doanh thu cuối của đơn

Thành tiền của sản phẩm sau khi đã tính các yếu tố giảm
Order Item Total
giá, số lượng

Order Profit Per Order Lợi nhuận của đơn

Order Region Vùng được đặt hàng tới

Order State Bang được đặt hàng tới

Order Status Trạng thái của order

Product Card Id Mã sản phẩm

Product Category Id Mã loái sản phẩm (trùng)

Product Description Mô tả sản phẩm

Đường dẫn đến hình ảnh sản phẩm (hầu như không còn
Product Image
hoạt động được nữa - 404 Not found)

Product Name Tên sản phẩm

Product Price Giá của sản phẩm

Product Status Trạng thái tồn kho của sản phẩm

Shipping date (DateOrders) Ngày giao

Shipping Mode Loại giao hàng

2. Thống kê mô tả
- Ta có các chỉ số cơ bản về tập dữ liệu như: giá trị nhỏ nhất, giá trị lớn nhất,
số dòng dữ liệu, độ lệch chuẩn, giá trị trung bình,…
III. MÔ TẢ BÀI TOÁN

Từ dữ liệu đã được đề cập ở trên, nhóm mô phỏng trường hợp của một mô hình
thương mại điện tử sử dụng cơ sở NoSQL được tổ chức trên đám mây và áp dụng các
biện pháp cũng như kỹ thuật để có thể thực hiện được đề tài. Đầu tiên, nhóm sẽ quy
định các bảng cho cơ sở dữ liệu, với dữ liệu và định nghĩa cột từ cơ sở dữ liệu được đề
cập phía trên. Đối với đề tài này để tương tác với dữ liệu trên môi trường phân tán đám
mây nhóm sử dụng MongoDB.

Thuộc tính Mô tả
_id Trường ID được tạo bởi Mongo
CategoryId Mã loại sản phẩm
CategoryName Tên loại sản phẩm

Collection khách hàng (customers) gồm 20.7 nghìn dòng, 2 index (“_id” được tạo bởi
Mongo và “CustomerId” để tham chiếu trên bộ dữ liệu) và gồm các thuộc tính:

Thuộc tính Mô tả
_id Trường ID được tạo bởi Mongo
CustomerId Mã khách hàng
CustomerCity Thành phố giao hàng đến
CustomerFname Tên của khách hàng
CustomerLname Họ và tên đệm của khách hàng
CustomerPassword Mật khẩu của khách hàng
CustomerSegment Phân loại khách hàng
CustomerState Bang giao hàng đến
CustomerStreet Địa chỉ cụ thể giao hàng
CustomerZipcode Mã bưu chính giao hàng
CustomerEmail Địa chỉ email của khách hàng
Đối với dữ liệu gốc, có các ta cũng có trường tương tự như trên nhưng xét với mỗi
Order (OrderCity, OrderCountry, Market). Các trường liên quan tới địa chỉ này không
đầy đủ thông tin như các trường liên quan tới khách hàng nên đề tài sẽ cho rằng địa chỉ
giao hàng là địa chỉ hiện tại của khách hàng. Khi khách hàng cập nhật lại địa chỉ thì
địa chỉ giao hàng ở đơn đã tạo trước đó sẽ không thay đổi. Bên cạnh đó còn các trường
như Latitude, Longitude là điểm lấy hàng của đơn nhưng do không có thông tin của
các điểm lấy hàng nên đề tài sẽ bỏ qua các yếu tố này.

IV. THIET KE CO SO DU LIEU PHAN TAN TICH HOP DIEN TOAN DAM
MAY MONGODB ATLAS
V. THIẾT LẬP MÔI TRƯỜNG SPARK TRÊN NỀN TẢNG GOOGLE
CLOUD PLATFORM

Đầu tiên đăng nhập vào nơi quản lý dự án của Google Cloud tại
https://console.cloud.google.com/projectselector2/home/dashboard

Sau đó nếu chưa có dự án nào thì tạo mới dự án hoặc chọn một trong các dự án đã có
sẵn. Để tạo mới dự án ở góc phải trên có “CREATE PROJECT”, ta chọn mục này thì
sẽ được điều hướng tới trang tạo dự án mới. Ta điền các thông tin tương ứng vào rồi
nhấn "CREATE”
Sau khi project được tạo xong ta quay lại nơi quản lý project
(https://console.cloud.google.com/projectselector2/home/dashboard) và chọn project
vừa được tạo

VI. TIỀN XỬ LÝ DỮ LIỆU


VII. THIẾT LẬP VÀ KẾT NỐI SPARK ĐẾN MONGODB

Các thư viện bổ sung cần thiết cho việc kết nối:

Phiên bản đề tài sử dụng:

- MongoDB Java Driver 3.12.14:


https://mvnrepository.com/artifact/org.mongodb/mongo-java-driver
- MongoDB Driver Core 4.11.1:
https://mvnrepository.com/artifact/org.mongodb/mongodb-driver-core
- Bson 4.11.1: https://mvnrepository.com/artifact/org.mongodb/bson
- MongoDB Spark Connector 2.4.3 - Scala 2.12:
https://spark-packages.org/package/mongodb/mongo-spark
- Spark 3.5.0 prebuilt for Apache Hadoop 3.3 and later:
https://spark.apache.org/downloads.html

Sau khi tải xong các thư viện bổ sung (các file .jar) ta bỏ các file này vào thư mục
$SPARK_HOME/jars và sau đó chạy Spark với lệnh

cd $SPARK_HOME

bin/pyspark --packages org.mongodb.spark:mongo-spark-connector_2.12:2.4.3

Sau đó ta chạy ô lệnh kết nối trong Jupyter, nếu kết quả như trên hình (một ô hồng
rỗng) và không có thông báo lỗi thì kết nối đã thành công và dữ liệu đã được query về.

VIII. PHÂN TÍCH DU LIEU TRÊN


IX. CAI DAT MOI TRUONG VA PHAN MEM
1. MongoDB Cloud Cluster
2. Xử lý dữ liệu chuyển hóa từ dữ liệu gốc sang dữ liệu theo thiết kế cơ
sở dữ liệu
X. THUẬT TOÁN KHAI THÁC DỮ LIỆU
XI. KẾT QUẢ ĐẠT ĐƯỢC
1. Phát biểu kết quả
2. So sánh, đánh giá
XII. KẾT LUẬN
1. Ưu điểm
2. Hạn chế
3. Hướng phát triển
XIII. TÀI LIỆU THAM KHẢO

You might also like