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

Báo cáo cuối kỳ môn học trực quan hoá dữ liệu đề tài ứng dụng apache superset để xây dựng dashboard nghiên cứu về tiếp thị ngân hàng

37 16 0

Đ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 đề Ứng Dụng Apache Superset Để Xây Dựng Dashboard Nghiên Cứu Về Tiếp Thị Ngân Hàng
Tác giả Vũ Văn Phước, Nguyễn Hoài Nam, Nguyễn Vũ Lực
Người hướng dẫn Ths. Huỳnh Xuân Phụng
Trường học Đại Học Sư Phạm Kỹ Thuật Tp. Hồ Chí Minh
Chuyên ngành Kỹ Thuật Dữ Liệu
Thể loại báo cáo cuối kỳ
Năm xuất bản 2022
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 37
Dung lượng 4,58 MB

Nội dung

Để làm rõ được những yếu tố nào tác động đến khả năng thành công cuộc các chiến dịch tiếp thị trực tiếp thông qua gọi điện thoại, nhóm đi đến quyết định lựa chọn đề tài “Ứng dụng Apache

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO CUỐI KỲ MÔN HỌC TRỰC QUAN HOÁ DỮ LIỆU

ĐỀ TÀI

ỨNG DỤNG APACHE SUPERSET ĐỂ XÂY DỰNG DASHBOARD NGHIÊN CỨU VỀ TIẾP THỊ NGÂN HÀNG

GVHD: Ths Huỳnh Xuân Phụng Lớp: Thứ 5 (tiết 12-15) Sinh viên thực hiện: (Nhóm 7)

Vũ Văn Phước (MSSV: 19133045)Nguyễn Hoài Nam (MSSV: 19133037)Nguyễn Vũ Lực (MSSV: 19133034)

Tp Hồ Chí Minh, ngày30 tháng 5 năm 2022

Trang 2

TP.HCM KHOA CNTT

*******

Độc lập – Tự do – Hạnh Phúc

*******

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

Ngành: Kỹ thuật dữ liệu

Tên đề tài: Ứng dụng Apache Superset để xây dựng dashboard nghiên cứu về tiếp thị ngân hàng

Họ và tên Giáo viên hướng dẫn: Huỳnh Xuân Phụng

NHẬN XÉT

Về nội dung đề tài khối lượng thực hiện:

1 Ưu điểm:

2 Khuyết điểm

3 Đề nghị cho bảo vệ hay không?

4 Đánh giá loại:

5 Điểm:

Tp Hồ Chí Minh, ngày30 tháng 5 năm 2022

Giáo viên hướng dẫn

(Ký & ghi rõ họ tên)

ĐH SƯ PHẠM KỸ THUẬT

TP.HCM KHOA CNTT

XÃ HỘI CHỦ NGHĨA VIỆT NAM

Trang 3

******* Độc lập – Tự do – Hạnh Phúc

*******

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

Ngành: Kỹ thuật dữ liệu

Tên đề tài: Ứng dụng Apache Superset để xây dựng dashboard nghiên cứu về tiếp thị ngân hàng

Họ và tên Giáo viên phản biện:

NHẬN XÉT

Về nội dung đề tài khối lượng thực hiện:

1 Ưu điểm:

2 Khuyết điểm

3 Đề nghị cho bảo vệ hay không?

4 Đánh giá loại:

5 Điểm:

Tp Hồ Chí Minh, ngày 30 tháng 5 năm 2022

Giáo viên phản biện

(Ký & ghi rõ họ tên)

Trang 4

Vì khả năng còn hạn chế nên trong quá trình thực hiện báo cáo không tránh khỏisai sót, kính mong nhận được những ý kiến đóng góp từ thầy để nhóm có thể cảithiện hơn sau này.

Nhóm thực hiện xin chân thành cảm ơn thầy

Trang 6

2.1 Thiết kế cơ sở dữ liệu 16

Trang 7

DANH MỤC HÌNH

7

Trang 8

DANH MỤC TỪ VIẾT TẮT

Studio

Environment

8

Trang 9

PHẦN 1: MỞ ĐẦU1.1 Tính cấp thiết của đề tài

Trong bối cảnh kinh tế phát triển mạnh mẽ, nguồn tài chính dồi dào và có dưthừa Việc tích trữ tiền tệ thông qua nhu cầu gửi lãi có kỳ hạn là điều được nhiều kháchhàng nhắm đến Thế nhưng ngân hàng nào cũng cung cấp dịch vụ này, điều này tạo racuộc chiến giành giật khách hàng thông qua tiếp thị

Tiếp thị cũng có nhiều chủng loại và hiệu suất đem lại cũng khác nhau Tiếp thịtrực tiếp thông qua gọi điện thoại đem lại hiệu quả cao với mức chi phí rất thấp Tuynhiên, không phải tiếp thị tới nhiều người nhất có thể sẽ đem lại được kết quả cao.Việc này phụ thuộc vào đối tượng và các thức tiếp thị Để làm rõ được những yếu tốnào tác động đến khả năng thành công cuộc các chiến dịch tiếp thị trực tiếp (thông quagọi điện thoại), nhóm đi đến quyết định lựa chọn đề tài “Ứng dụng Apache Superset đểxây dựng dashboard nghiên cứu về tiếp thị ngân hàng”

1.2 Mục đích của đề tài

Ứng dụng Apache Superset để xây dựng dashboard nghiên cứu về tiếp thị ngânhàng với dữ liệu có liên quan đến các chiến dịch tiếp thị trực tiếp (cuộc gọi điện thoại)của một tổ chức ngân hàng Bồ Đào Nha Mục tiêu phân loại là dự đoán xem kháchhàng có đăng ký khoản tiền gửi có kỳ hạn

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

- Đối tượng nghiên cứu: Đối tượng nghiên cứu của đồ án là tìm hiểu, phân tích

và xây dựng dashboard thông qua superset

- Phạm vi nghiên cứu: Đồ án chỉ nghiên cứu trong phạm vi mà dịch vụ AWS hỗtrợ cho tài khoản sinh viên Phần mềm sử dụng chủ yếu: Apache Superset

1.4 Kết quả dự kiến đạt được

Trong phạm vi nghiên cứu của đề tài nhóm chúng em dự kiến sẽ hoàn thiện đượcmột dashboard cung cấp đầy đủ thông tin hữu ích về các tệp khách hàng đã và đang sửdụng dịch vụ tiền gửi của ngân hàng Cung cấp thông tin về nhóm đối tượng thànhcông cao khi thực hiện các biện pháp tiếp thị

9

Trang 10

PHẦN 2: NỘI DUNG1.5 CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1 Sơ lược về điện toán đám mây (Cloud)

Điện toán đám mây là việc các tài nguyên CNTT được phân phối theo nhu cầucủa người sử dụng thông qua môi trường Internet Công nghệ điện toán được đảm bảo

và quản lý bởi một công ty hoặc tổ chức như Amazon, Google, Thay vì phải tốnnhiều tiền bạc, thời gian và công sức để xây dựng và quản lý tài nguyên vật lý, việc sửdụng điện toán đám mây là cách thức bạn có thể tiếp cận các dịch vụ công nghệ, điệntoán, cơ sở dữ liệu khi cần thiết và các dịch vụ này thường sẽ có chính sách thanh toántheo nhu cầu của khách hàng (pay-as-you-go)

Các tổ chức thuộc mọi loại hình, quy mô và ngành công nghiệp đang sử dụngcác dịch vụ đám mây cho nhiều trường hợp sử dụng Chúng bao gồm sao lưu dữ liệu,

ảo hoá hệ thống máy tính, phát triển và kiểm tra phần mềm, phân tích dữ liệu và cácứng dụng website của khách hàng

Đám mây cho phép bạn dễ dàng tiếp cận nhiều công nghệ để bạn có thể đổi mớinhanh hơn và phát triển gần như mọi thứ mà bạn có thể tưởng tượng

1.2 Sơ lược về AWS

1.2.1 Giới thiệu AWS

Amazon Web Services (AWS) là nền tảng đám mây được cung cấp bởi Amazon.Amazon Web Services là nền tảng đám mây toàn diện và được sử dụng rộng rãi nhất,cung cấp trên 200 dịch vụ đầy đủ tính năng từ các trung tâm dữ liệu trên toàn thế giới

Là dịch vụ cung cấp cơ sở hạ tầng CNTT cho các doanh nghiệp với chi phí thấp, độlinh hoạt, an toàn cao

1.2.2 Các dịch vụ đã sử dụng

AWS cung cấp rất nhiều dịch vụ (trên 200 dich vụ) một số dịch vụ còn được sửdụng miễn phí Trong đó, các dịch vụ cơ bản như: Compute, Storage, Database,Networking and content delivery, Developer tools, Management Tools, Analytics,Internet of things, Machine learning Trong đề tài này, nhóm có sử dụng một vài dịch

vụ về điện toán và cơ sở dữ liệu như sau:

- EC2 là một cơ sở hạ tầng điện toán đám mây được cung cấp bởi Amazon WebServices (AWS) giúp cung cấp tài nguyên máy tính ảo hoá theo yêu cầu

- RDS là viết tắt của Amazon Relational Database Service là một web service chophép dễ dàng setup thao tác, scale relational database (cơ sở dữ liệu quan hệ)trên AWS Cloud

10

Trang 11

1.3 Sơ lược về Docker và các dịch vụ chính

1.3.1 Khái niệm

Docker là nền tảng mở cho phép tạo, kiểm thử và triển khai các ứng dụngcontainers (trên nền tảng ảo hóa) một cách nhanh chóng Được viết bằng ngôn ngữPython nhưng sau đó đã chuyển thành Golang

Container hoạt động độc lập nên nó không làm ảnh hưởng tới các Container kháccũng như server mà Container đó đang chạy Vì vậy, không cần lo lắng việc máy tính

bị xung đột do các ứng dụng đang được phát triển chạy trong container

1.3.4 Docker Compose

Docker compose là công cụ dùng để định nghĩa và sử dụng nhiều container choứng dụng chạy bằng Docker Docker compose sử dụng file YAML để cấu hình cácservices cho các ứng dụng Sau đó dùng command để create và run từ những cấu hình

đó Các bước sử dụng:

- Khai báo môi trường trong Dockerfile

- Khai báo các services cần thiết để chạy ứng dụng trong file compose.yml

docker Chạy câu lệnh dockerdocker compose up để start Compose và chạy chương trình

1.4 Giới thiệu về Apache Superset

1.4.1 Khái niệm

Apache Superset là một công cụ trực quan hóa dữ liệu mã nguồn mở và là mộtnền tảng khám phá dữ liệu và trực quan hóa dữ liệu hiện đại Superset tích hợp nhiềungôn ngữ khác nhau

Superset được phát triển bằng ngôn ngữ Python và tương tác bằng việc sử dụngFlask Framework Superset sử dụng SQLAlchemy để hỗ trợ phần lớn các RDBMS Các ưu điểm Superset cung cấp:

- Một giao diện thuận tiện cho việc xây dựng biểu đồ một cách nhanh chóng

11

Trang 12

- Có SQL Lab mạnh mẽ, dựa trên web để truy vấn nâng cao.

- Hỗ trợ hầu hết mọi cơ sở dữ liệu hoặc công cụ dữ liệu SQL

- Trực quan hoá đẹp hiển thị dữ liệu, từ biểu đồ đơn giản đến hình ảnh hóa khônggian địa lý

- Có thể định dạng cấu hình để giúp tải cơ sở dữ liệu dễ dàng nhờ bộ nhớ đệm

- Có các tùy chọn xác thực và vai trò bảo mật có thể mở rộng cao

- Cung cấp API dễ dàng tùy chỉnh

1.4.2 Chart

Biểu đồ thường được sử dụng để dễ dàng trực quan hóa cho dữ liệu Các charttrong Superset được chia thành nhiều loại tùy theo mục đích sử dụng của người dùng.Superset hỗ trợ rất nhiều loại biểu đồ khác nhau từ đơn giản 2D, biểu đồ địa lý thếgiới, từng quốc gia, đến các biểu đồ 3D địa lý phức tạp cũng như các biểu đồ realtime

1.4.3 Dashboard

Dashboard có thể được hiểu là một bảng điều khiển kỹ thuật số (digital control),hay là một giao diện số được dùng để thu thập và tổng hợp dữ liệu của toàn bộ tổ chức.Dashboard trong superset là tập hợp của nhiều thành phần như: chart, filter, các tabs, Trong khi thiết kế dashboard, Superset cung cấp nhiều công cụ để thiết kế nhưtạo các row, col, thêm các markdown để việc thiết kế đơn giản và đẹp hơn

Công việc backup và tái sử dụng dashboard rất đơn giản, bạn chỉ cần backup lạithông qua file zip, khi cần cho mục đích backup, Superset sẽ khôi phục lại dữ liệu nhưban đầu từ: data, chart, các cấu hình đã định sẵn,

1.4.4 Database

Superset có thể dễ dàng kết nối tới cơ sở dữ liệu được hỗ trợ thông quaSQLAlchemy Nếu cần kết nối với một database chưa được cài đặt sẵn driver kết nối,bạn chỉ cần thêm tên của driver để kết nối trong file requirements Chỉ cần thêm đườngdẫn kết nối, Superset sẽ đảm bảo việc kết nối tới kho dữ liệu nhanh chóng và bắt đầuxây dựng biểu đồ Một số database mà Superset hỗ trợ

12

Trang 13

Để truy vấn cơ sở dữ liệu SQL mới, Superset yêu cầu:

- SQLAlchemy + driver có sẵn trong thư viện Python DB-API 2 để kíchhoạt chức năng cơ bản

- Một số mã kết nối dành riêng cho cơ sở dữ liệu để kích hoạt tất cả cáctính năng

- Ngoài ra, trong phần advanced, có thể cài đặt các ràng buộc cho cơ sở dữliệu có thể truy cập và sử dụng bởi các tính năng trong Superset

1.4.5 Dataset

Dataset hay còn gọi là specific table, là một tập dữ liệu được đưa vào SuperSet

và dùng để vẽ các biểu đồ và thực thi các truy vấn trong SuperSet

Có nhiều cách để thêm một dataset vào một database như: Từ một file csv, từmột columnar file, từ file excel

Cách Thêm một dataset: Chọn database, schema phù hợp, table

13

Trang 14

Trong SuperSet, Dataset được chia làm 2 loại : vật lý và virtual (ảo)

+ Dataset vật lý trong Superset đại diện cho một bảng hoặc dạng view trong cơ sở

dữ liệu Bởi vì tập dữ liệu vật lý phản ánh một bảng thực (real) nên Superset cóthể tự động lấy thông tin có liên quan từ cơ sở dữ liệu (như lược đồ (chema)vàcột(column)) Thông tin này được lưu trong cơ sở dữ liệu metadata củaSuperset

+ Dataset ảo cho phép nâng cao một truy vấn SQL dạng tự do dựa trên cơ sở dữliệu gốc thành một thực thể tập dữ liệu trong Superset

1.4.6 Bảo mật

Việc bảo mật trong Superset được xử lý bởi Flask AppBuilder (FAB) Ta có thểhiểu FBA ở đây là một “khung phát triển ứng dụng đơn giản và nhanh chóng được xâydựng trên Flask” FBA cung cấp việc xác thực , quản lý quyền và vai trò của ngườidùng

Superset thực hiện các biện pháp bảo mật thích hợp để chuyển dữ liệu cá nhânnhằm bảo vệ chống lại việc truy cập trái phép, thay đổi , tiết lộ hoặc phá hủy dữ liệu cánhân mà superset thu thập và lưu trữ

Các biện pháp bảo mật của Superset sẽ khác nhau dựa trên loại và độ nhạy của

dữ liệu Tất cả các quyền truy cập vào các ứng dụng superset đều được ghi lại và kiểmtra

Trang 17

13 - pdays: number of days that passed by after the client was last contactedfrom a previous campaign (numeric; 999 means client was not previously contacted)

14 - previous: number of contacts performed before this campaign and for thisclient (numeric)

15 - poutcome: outcome of the previous marketing campaign (categorical:

"failure","nonexistent","success")

# Social and economic context attributes

16 - emp.var.rate: employment variation rate - quarterly indicator (numeric)

17 - cons.price.idx: consumer price index - monthly indicator (numeric)

18 - cons.conf.idx: consumer confidence index - monthly indicator (numeric)

19 - euribor3m: euribor 3-month rate - daily indicator (numeric)

20 - nr.employed: number of employees - quarterly indicator (numeric) Output variable (desired target):

21 - y - has the client subscribed a term deposit? (Binary: "yes","no")

2.1.2 Cơ sở dữ liệu

- Cấu hình RDS:

Hình 1: Thông tin cấu hình RDS

- Thông tin kết nối:

17

Trang 18

2.1.3 Kết nối cơ sở dữ liệu

Sử dụng cơ sở dữ liệu PostgreSQL:

Hình 3: Superset kết nối tới RDS

- Để thêm các dataset (table) từ RDS vào superset, ta cần kích hoạt:

18

Trang 19

- Thông tin dữ liệu sau khi thêm vào:

Hình 5: Lấy thông tin dataset của database

2.1.4 Điều chỉnh cơ sở dữ liệu

- Code cập nhật database tự động từ nguồn github bằng python:

19

Trang 20

2.3 Xây dựng dashboard

2.3.1 Bảo mật dashboard

● Phân quyền cho user public

- Tạo user Another User đại diện cho public user

Hình 7: Tạo User

Tạo quyền readonly cho user public truy cập

20

Trang 21

2.3.2 Xây dựng các chart

* Chart về Khách hàng

1) Thông tin về nghề nghiệp của khách hàng và những khách hàng nào là chủ yếu

Hình 9: Công việc của khách hàng

=> Khách hàng chủ yếu là: admin, blue-collar

2) Thống kê xem tỷ lệ gửi tiền theo từng loại ngành nghề của khách hàng

21

Trang 22

=> Ta thấy tỉ lệ của student cao nhất, nhưng do số lượng của student ít, và nếu chia tỉ

lệ thì admin vẫn là ngành nghề có tỷ lệ gửi tiết kiệm nhiều nhất

3) Thống kê lại số lượng khách hàng có gửi tiết kiệm theo công việc của họ

Hình 11: Biểu đồ

=> admin, blue-collar là những khách hàng có tỷ lệ đăng ký gửi tiền nhiều nhất4) Thống kê xem với độ tuổi nào thì khách hàng có xu hướng gửi tiết kiệm nhiều

22

Trang 23

=> Khoảng độ tuổi 33-38

5) Thống kê về các phương thức liên hệ với khách hàng và tỉ lệ thành công bằngcác phương thức đó

Hình 13: Biểu đồ barchat và table theo phương thức liên hệ

=> Tỷ lệ thành công với cách thức liên hệ bằng telephone sẽ lớn hơn

6) Tỷ lệ khách hàng có gửi tiết kiệm tại ngân hàng

23

Trang 24

=> Tỷ lệ khách hàng ký gửi còn khá thấp

* Chart về yếu tố kinh tế

1) Lãi suất trung bình, chỉ số giá tiêu dùng và tỷ lệ thay đổi việc làm tại một thờiđiểm

Hình 15: Big number về kinh tế

2) Chỉ số kinh tế so với mức bình quân tại một thời điểm

24

Trang 25

=> màu đậm: lớn hơn mức bình quân

3) Lãi suất cho vay của xã hội thời điểm đó có ảnh hưởng tới khả năng gửi tiếtkiệm không?

Hình 17: Bar chart về lãi suất

=> Có ảnh hưởng, tỷ lệ lãi thấp thì sẽ có xu hướng gửi ngân hàng còn lãi cao thì tỷ lệgửi ngân hàng là rất thấp

4) Tỷ lệ gửi tiết kiệm so với yếu tố niềm tin của người tiêu dùng tại một thời điểm

25

Trang 26

2.3.4 Xây dựng filter

* Khách hàng

Hình 19: Filter cho tab khách hàng

=> Dùng để filter các chart theo các thuộc tính : age, job, contact

* Kinh tế

26

Trang 27

=> Dùng để filter các thuộc tính : chỉ số giá tiêu dùng, tỷ lệ thay đổi việc làm

2.3.5 Xây dựng dashboard

a Xây dựng tab thông tin khách hàng

27

Trang 28

b Xây dựng thông tin về kinh tế

28

Trang 29

2.3.6 Sử dụng SQL template (Jinja)

* URL Parameters

Hình 23: Sử dụng param jinja

29

Trang 31

2.4 Các tiện ích mở rộng

2.4.1 Tích hợp vào website

- Cần thêm các tính năng trong file superset_config.py để sử dụng quyền chophép truy cập chart bỏ qua login

Hình 27: Cấu hình public cho superset

- Sử dụng tag iframe để thêm vào website bất kỳ:

31

Trang 33

- Để sử dụng các APIs khác, cần dùng API login để lấy token login:

- Lấy thông tin các chart:

r2 = requests.get base_url + ( '/api/v1/chart/?q=(page:0,page_size:30)' ,

headers = headersAuth )

- Xem thông tin dashboard:

dash=requests.get base_url+ ( '/api/v1/dashboard/?

q=(page:0,page_size:30)’ , headers = headersAuth )

- Xem các chart trong một dashboard bằng id

33

Ngày đăng: 09/04/2024, 16:14

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w