ĐẠI HỌC QUỐC GIA TP HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA NGUYỄN TUYẾT NGA PHÁT TRIỂN DASHBOARD LINH HOẠT THEO QUY TRÌNH NGHIỆP VỤ TRONG LĨNH VỰC QUẢNG CÁO Chuyên ngành: Hệ thống thông tin Quản lý Mã số: 8340405 LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng năm 2023 CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM Cán hướng dẫn khoa học: TS Lê Lam Sơn Cán chấm nhận xét 1: PGS TS Võ Thị Ngọc Châu Cán chấm nhận xét 2: PGS.TS Nguyễn Tuấn Đăng Luận văn thạc sĩ bảo vệ Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 07 tháng 02 năm 2023 Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: (Ghi rõ họ, tên, học hàm, học vị Hội đồng chấm bảo vệ luận văn thạc sĩ) Chủ tịch hội đồng: PGS TS Trần Minh Quang Thư ký: PGS TS Lê Hồng Trang GV phản biện 1: PGS TS Võ Thị Ngọc Châu GV phản biện 2: PGS.TS Nguyễn Tuấn Đăng Uỷ viên: TS Đặng Trần Trí Xác nhận Chủ tịch Hội đồng đánh giá LV Trưởng Khoa quản lý chuyên ngành sau luận văn sửa chữa (nếu có) CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH i ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên : Nguyễn Tuyết Nga MSHV : 1970378 Ngày, tháng, năm sinh : 31/08/1997 Nơi sinh : Sóc Trăng Chun ngành : Hệ thống thơng tin Quản lý Mã số : 8340405 I TÊN ĐỀ TÀI : Phát triển Dashboard linh hoạt theo quy trình nghiệp vụ lĩnh vực kỹ thuật quảng cáo (Developing a flexible Dashboard according to business processes in the domain of advertising) II NHIỆM VỤ VÀ NỘI DUNG : Nội dung luận văn xoay quanh việc tìm chế để sinh mã nguồn dashboard linh hoạt Nền tảng đồ họa trực quan hóa liệu giúp hiển thị dashboard có yếu tố linh hoạt mã nguồn sinh cú pháp chứa đường dẫn đến nguồn liệu nghiệp vụ theo kiểu chuỗi thời gian Dashboard cần bán sát vào quy trình nghiệp vụ, cụ thể luồng xử lý thơng tin bên đó, đồng thời dashboard nên hướng vào vai trò người dùng cụ thể Học viên cần thực chương trình đọc quy trình nghiệp vụ vẽ chuẩn BPMN để từ sinh mã nguồn định dạng JSON có chứa đường dẫn đến tập liệu kiểu chuỗi thời gian Học viên cần đánh giá hiệu dashboard tạo đề xuất hướng nghiên cứu tương lai III NGÀY GIAO NHIỆM VỤ : 14/02/2022 IV NGÀY HOÀN THÀNH NHIỆM VỤ : 05/12/2022 V CÁN BỘ HƯỚNG DẪN : TS Lê Lam Sơn Tp HCM, ngày … tháng 03 năm 2023 CÁN BỘ HƯỚNG DẪN (Họ tên chữ ký) HỘI ĐỒNG NGÀNH (Họ tên chữ ký) TRƯỞNG KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH (Họ tên chữ ký) ii Lời cảm ơn Để hồn thành Luận văn thạc sĩ, tơi xin đặc biệt bày tỏ cảm kích tới Tiến Sĩ Lê Lam Sơn - Thầy định hướng, trực tiếp dẫn dắt cố vấn cho suốt thời gian thực đề tài nghiên cứu khoa học Đồng thời, thầy người cho lời khun, khích lệ thúc đẩy tơi suốt thời gian thực Luận văn Một lần nữa, xin gửi lời cảm ơn đến Thầy tất lịng biết ơn Xin chân thành cảm ơn khóa học, tài liệu phương pháp nghiên cứu mà thầy chia sẻ q trình học Thạc sĩ trường Tơi xin gửi lời cảm ơn chân thành đến Thầy cô khoa truyền đạt cho kiến thức tảng, sở để phát triển mài dũa kỹ liên quan đến hệ thống thông tin tiền đề để định hướng cho nghiệp sau Tơi muốn cảm ơn anh chị công ty FPT Telecom tạo điều kiện mặt liệu, thông tin, quy trình thời gian để tơi hồn thành Luận văn Tôi muốn bày tỏ cảm kích sâu sắc chân thành dành cho gia đình Khơng có tình u vơ điều kiện, ủng hộ từ gia đình, tơi khơng tiếp tục đường học vấn ngày hôm Trong q trình thực luận văn, dù có nhiều cố gắng hoàn thiện khả năng, thời gian đặc biệt kinh nghiệm phân tích cịn hạn chế, nên luận văn tránh khỏi thiếu sót Vì vậy, tơi mong nhận góp ý chân thành từ q Thầy Cơ, nhằm bổ sung hồn thiện q trình nghiên cứu Xin chân thành cảm ơn TP Hồ Chí Minh, ngày 19 tháng 12 năm 2022 iii Tóm tắt Với phát triển kỹ thuật trực quan hóa liệu, kỹ thuật dashboard thu hút nhiều ý bị cản trở thiếu cơng cụ tự động hóa Trong hệ thống doanh nghiệp ngày nay, người dùng doanh nghiệp mong muốn bảng điều khiển hướng đến quy trình nhiều ngồi việc tập trung vào ngữ cảnh Trong nhiều công cụ Business Intelligence (BI) cung cấp bảng điều khiển dựa vai trò, ý tưởng xây dựng Dashboard hướng quy trình thu hút ý tác giả Tác giả lấy động lực nghiên cứu từ lĩnh vực quảng cáo phát triển dashboard linh hoạt theo quy trình nghiệp vụ Từ khắc phục vấn đề diễn cơng ty, giúp đem lại lợi ích thời gian lợi nhuận Để hoàn thành nhiệm vụ đặt ra, tác giả cần phải tìm hiểu quy trình nghiệp vụ cơng ty quyền hạn vai trị cá nhân, từ vẽ quy trình BPMN phù hợp thực hệ thống tạo dashboard tự động cho quy trình Trong q trình thực hệ thống, tác giả có đề xuất thêm cơng nghệ sử dụng phần mã giả việc truy vấn SQL, cho liệu sau truy vấn phù hợp để xuất tài liệu JSON dễ dàng kết xuất thành dashboard Hệ thống giúp giảm tình trạng thời gian tạo dashboard, mang lại hiệu trình làm việc xem vấn đề quảng cáo thông qua dashboard Tuy nhiên hệ thống hạn chế như: a) Đầu tiên, trường hợp có đối tượng liệu khơng khớp với tính liệu tập liệu cung cấp, dashboard tạo khơng hiển thị xác; b) Thứ hai, cách tiếp cận hỗ trợ vài loại biểu đồ, cụ thể biểu đồ hình trịn, thước đo biểu đồ đường; c) Thứ ba, gần điều chỉnh dashboard tạo Từ hạn chế tác giả định hướng bước tương lại hệ thống: i) Việc tiền xử lý liệu hệ thống thực từ liệu thô mà không cần thêm bước tiền xử lý; ii) Tạo thêm biểu đồ để tăng thêm đa dạng dashboard; iii) Có thể áp dụng nhiều lĩnh vực iv Abstract With the rise of data visualization techniques, dashboard engineering has attracted a lot of attention but has been hampered by the lack of automation tools In today’s enterprise systems, business users would expect more sophisticated process-oriented dashboards While many Business Intelligence (BI) tools now offer role-based dashboards, the author was motivated by the idea of how to semi-automatically construct a process-oriented dashboard The author investigates the domain of digital advertising and makes a running example of out it First, it is necessary to identify ongoing problems in engineering dashboards for senior people in an ads company Second, the author extensively learns about the business processes at the company and the roles played by the main users of the dashboards at the company Third, the author analyzes a real-life business process for ads tracking to sketch a prototype of the proposed code generation tool for dashboard engineering Fourth, the author develops this tool as a plugin of Camunda Modeler Fifth, the author examines the dashboard rendered in Grafana of which source code in JSON is generated by the tool The author describes the entire workflow of preparing the data source (which should have suitable data features matching data attributes of the dashboard being generated) using a data warehousing platform, editing the data objects of a given business process in Camunda Modeler, generating a JSON document that represents a dashboard for the said business process and finally having the generated dashboard visualized in Grafana The author presents pseudocode of the underlying code generation algorithm working behind the scene The main contribution of this thesis is to alleviate the burden of manually crafting a dashboard for business users working with a specific business process Instead, dashboards might be constructed semi-automatically for the given process The author develops such a dashboard generation tool as a plugin in a business process editor, simplifying the entire workflow without having the business users export their process model to an intermediate format such as XML The author demonstrates the proposed workflow in the domain of digital advertising using real datasets sourced from an advertising company in Vietnam v However, the system still has some code generation tool shortcomings such as: a) First, in case there are data objects that not match any data features of dataset being fed, the constructed dashboard would not be rendered properly; b) Second, the approach currently supports only a couple of types of chart, namely the pie chart, the gauge and the line chart; c) Third, it is almost impossible to fine-tune the dashboard being generated vi Lời cam đoan Tơi xin cam đoan cơng trình nghiên cứu riêng hướng dẫn thầy Tiến Sĩ Lê Lam Sơn Nội dung nghiên cứu kết trung thực chưa công bố trước Các số liệu sử dụng cho q trình phân tích, nhận xét tơi thu thập từ cơng ty FPT Telecom cho phép từ cơng ty Ngồi ra, tơi có sử dụng số nhận xét, đánh giá số liệu tác giả khác, quan tổ chức khác Tất có trích dẫn thích nguồn gốc Nếu phát có gian lận nào, tơi xin hồn tồn chịu trách nhiệm nội dung luận văn Trường đại học Bách Khoa thành phố Hồ Chí Minh khơng liên quan đến vi phạm tác quyền, quyền tơi gây q trình thực Hồ Chí Minh, ngày 19 tháng 12 năm 2022 Người thực Nguyễn Tuyết Nga vii Mục lục Mở 1.1 1.2 1.3 1.4 1.5 đầu Lý hình thành đề tài Mục tiêu Giới hạn đối tượng nghiên cứu Ý nghĩa thực tiễn Cấu trúc luận văn Tổng quan 2.1 Tổng quan công ty FPT Telecom 2.1.1 Lịch sử hình thành phát triển 2.1.2 Tổng quan ngành quảng cáo 2.2 Giới thiệu dashboard 2.3 Giới thiệu dashboard hướng đến quy trình, vai trị 2.4 Các thuật ngữ khái niệm lĩnh vực quảng cáo 2.4.1 Lượt hiển thị (Impression) 2.4.2 Click 2.4.3 Bắt đầu (Start) 2.4.4 Xem 25% (View 25%) 2.4.5 Xem 50% (View 50%) 2.4.6 Xem 75% (View 75%) 2.4.7 Lượt xem hết (Complete View) 2.4.8 CTR(Click-through Rate) 2.4.9 VTR (View-through Rate) 2.5 Công nghệ sử dụng 2.5.1 ReactJS 2.5.2 MySQL 1 4 6 10 11 11 11 12 12 12 13 13 13 14 14 15 MỤC LỤC 2.6 2.7 2.5.3 2.5.4 2.5.5 2.5.6 Tổng 2.6.1 Quy trình BPMN Camunda Modeler Grafana Ý nghĩa việc tích hợp quan công nghệ cho phép tạo dashboard Google Analytics 2.6.1.1 Ưu điểm 2.6.1.2 Nhược điểm 2.6.2 Power BI 2.6.2.1 Ưu điểm 2.6.2.2 Nhược điểm Những thách thức khó khăn việc tạo dashboard tự viii động Phương pháp nghiên cứu 3.1 Sơ đồ khối tổng quát 3.2 Các quy trình nghiệp vụ lĩnh vực quảng cáo 3.2.1 Quy trình cài đặt quảng cáo 3.2.2 Quy trình theo dõi số liệu Flight quảng cáo chạy 3.2.3 Quy trình tối ưu quảng cáo 3.2.4 Quy trình kết thúc chiến dịch quảng cáo 3.3 Phần sinh mã dashboard 3.4 Chuẩn bị liệu 3.5 Hiện thực plugin 3.6 Kết trực quan hóa dashboard ứng dụng Grafana 15 16 17 18 19 19 19 21 21 21 22 23 24 24 28 29 29 31 32 33 35 36 39 Trình bày đánh giá kết 43 Kết 5.1 5.2 5.3 44 44 45 45 46 46 47 48 48 luận kiến nghị Đóng góp nghiên cứu Hạn chế nghiên cứu Định hướng nghiên cứu tương lai 5.3.1 Lĩnh vực thuê xe tự lái 5.3.1.1 Quy trình thuê xe 5.3.1.2 Dashboard mong muốn hiển thị 5.3.2 Lĩnh vực nông nghiệp thông minh 5.3.2.1 Quy trình triển khai nơng nghiệp thơng Chương Kết luận kiến nghị 47 Xử lý thông tin: Từ thông tin khách hàng cung cấp, người cung cấp dịch vụ xác nhận để tư vấn – báo giá(khuyến cho thuê xe) phù hợp với lộ trình khách hàng • Loại xe, mầu xe muốn đặt thuê • Thời gian lộ trình: Ngày đi, thời gian, địa điểm xuất phát • Thời gian dùng xe: Ngày thời gian, địa điểm trả • Số km cho lịch trình: số km dự kiến điểm đến • Các vấn đề phát sinh Làm hợp đồng: Sau chốt phương án tối ưu, hợp đồng cho thuê xe rõ ràng soạn thảo để đảm bảo quyền lợi cho hai bên Triển khai dịch vụ: Người cung cấp dịch vụ triển khai dịch vụ theo hợp đồng quy định 5.3.1.2 Dashboard mong muốn hiển thị Đối với quy trình th xe nói trên, thường chủ doanh nghiệp người cung cấp dịch vụ cần xem thơng tin: • Các loại xe khách hàng thường thuê Giúp tập trung nhiều chi phí bảo trì vào dịng xe đó, thay tốn nhiều dịng xe khơng ưa chuộng • Nếu doanh nghiệp có nhiều chi nhánh tỉnh, người cung cấp chủ doanh nghiệp xem địa điểm thường khách hàng th xe để trang trí chi nhánh tìm tài xế, người dẫn chương trình phù hợp với khách hàng • Thời gian thuê loại xe Việc giúp tránh việc thiếu xe thời gian cao điểm • Các loại chi phí phát sinh thường giúp có việc trao đổi tư vấn với khách hàng dễ dàng khiến họ hài lịng Chương Kết luận kiến nghị 5.3.2 48 Lĩnh vực nông nghiệp thông minh Nông nghiệp thông minh22 đề cập đến việc quản lý trang trại công nghệ Thông tin truyền thông tăng số lượng chất lượng sản phẩm đồng thời tối ưu hóa sức lao động người Mục tiêu chương trình nơng nghiệp thơng minh [23] nhằm vào việc phát triển thương mại hóa cơng nghệ nơng nghiệp xác; phát triển nguồn nhân lực chất lượng cao khoa học nông nghiệp thông qua chương trình nghiên cứu tương thích mang tính quốc tế; tăng cường kết nối với tổ chức nước; phát triển mối liên kết với ngành công nghiệp để tiếp cận, chuyển giao công nghệ, phát triển kỹ dịch vụ cộng đồng 5.3.2.1 Quy trình triển khai nơng nghiệp thơng Các thiết bị IoT lắp đặt trang trại phải thu thập xử lý liệu theo chu kỳ lặp lặp lại phép nông dân phản ứng nhanh chóng với vấn đề thay đổi điều kiện môi trường xung quanh Nông nghiệp thông minh tuân theo quy trình23 sau: Quan sát: Các cảm biến ghi lại liệu quan sát từ trồng, vật ni, đất khí Chẩn đoán: Các giá trị cảm biến cung cấp cho tảng IoT lưu trữ đám mây với mơ hình quy tắc định xác định trước – gọi “logic nghiệp vụ” – xác định tình trạng đối tượng kiểm tra xác định thiếu sót nhu cầu Quyết định: Sau vấn đề tiết lộ, người dùng thành phần dựa máy học tảng IoT xác định xem liệu có cần xử lý vị trí cụ thể hay khơng có xử lý Hành động: Sau người dùng cuối hành động, hệ thống đánh giá chu trình lặp lại từ đầu 5.3.2.2 Dashboard mong muốn hiển thị Từ quy trình trên, chủ doanh nghiệp thường mong muốn xem: 22 23 https://www.iotforall.com/smart-farming-future-of-agriculture https://www.iotforall.com/smart-farming-future-of-agriculture Chương Kết luận kiến nghị • Cây trồng trồng tươi tốt • Những trồng kết hợp đất màu mỡ • Nhưng trồng đem lại lợi nhuận tốt • Những vấn đề xảy nhiều nơng trại • Dự đốn tương lai việc trồng trọt doanh nghiệp Bên canh đó, người trồng trọt muốn xem: • Thời gian thu hoạch trồng • Các thơng báo, cảnh báo trồng • Nhiệt độ, độ ẩm, độ màu mỡ đất, tốc độ gió, dự báo mưa • Dự đốn tương lai 49 50 Danh mục cơng trình khoa học cơng bố Tạp chí quốc tế N Nguyen and L.-S Lê, "Toward Code Generation for Process-oriented, Role-based Dashboards: An Example of Digital Advertising in Vietnam," in Proceedings of 16th International Conference on Advanced Computing and Analytics, IEEE Computer Society, pp 20–26, Ho Chi Minh City, Vietnam, November 2022 2022 International Conference on Advanced Computing and Analytics (ACOMPA) Toward Code Generation for Process-oriented, Role-based Dashboards An Example of Digital Advertising in Vietnam Nga Nguyen and Lam-Son Lˆe Faculty of Computer Science & Engineering Ho Chi Minh City University of Technology (HCMUT) Vietnam National University (VNU-HCM) 268 Ly Thuong Kiet Street, District 10, Ho Chi Minh City, Vietnam a holistic, multi-view representation of an enterprise Complexity and heterogeneity are among the typical properties of EA models since they could span multiple hierarchical levels and several functions1 During the course of an EA project, an EA team may construct multiple diagrams to express an EA model from different perspectives This EA model consists of a large number of model elements capturing various aspects of the enterprise, which could be categorized into the following people & role, data, processes, services, information, intention & motivation, resources & physical equipment With the rise of data science, EA practitioners expect to enrich their EA models with advanced analytics and data visualization [6], [7] As computer graphics and user interface standards continue to evolve at a rapid pace, dashboard engineering increasingly becomes a popular tool for present-day business intelligence Providing at-a-glance views on different layers of the enterprise being represented has proved useful for understanding its internal, in-flow and out-flow operations [8] In general, a dashboard could either be role-based or process-oriented While we enjoy substantial support for role-based dashboards in the literature and the commercial frameworks [9], [10], [11], [12], attempts to engineer a dashboard that is geared up for a given business process still stay on the sidelines Generating a dashboard in accordance to a business process could be done by following the so-called processmodel-driven monitoring methodology [13] by matching data types and goals to the data sources According to a survey on information dashboards [14], this approach is part of model-driven development, which is a common technique that employs a meta-model to generate the source code necessary for rendering a dashboard [15], [16] This paper reports our preliminary work towards the creation of process-oriented dashboards We take a machine-readable representation of business process as the input, from which a list of data objects and process participants are extracted before we proceed further We select those objects that match the dataset provided and correspond to a user’s role who is identified by one of the process participants Our algorithms Abstract—With the rise of data visualization techniques, dashboard engineering has attracted a great deal of attention in the last decade, but has been hampered by a lack of automation tools In today’s enterprise systems, business users expect dashboards to be more process-oriented in addition to being context-sensitive While many commercial business intelligence tools offer role-based dashboard, the idea of constructing a process-oriented dashboard has drawn the attention of scholars in recent years The paper reports on our preliminary work in the generation of such a dashboard by iterating through all the pools and data objects visually depicted in a business process and generating the computer-interpretable source code that represents the corresponding visualization charts To make this process-oriented dashboard lively visible, we load a real dataset together with the generated source code into a dashboardrendering library To demonstrate the relevance of our work, we walk through a real-life digital advertising project and illustrate how a dashboard could be generated and rendered for a given business process Index Terms—Dashboard, Business Process Management, Business Intelligence Introduction Service-oriented enterprise architecture plays a central role in today’s enterprise engineering as digitization and servitization gather traction in the present-day’s digital enterprise systems [1], [2] Service provisioning is neither a rebranding of nor a syntax sugar for other building blocks in enterprise engineering For example, while a process is in place to achieve a business goal, a service is designed to deliver values [3] A business process could be enacted by concatenating services In the other way around, the operation of a business service involves multiple supporting processes behind the scene [4] In either way, we are in need of an effective modeling technique to represent Enterprise Architecture (EA) – widely known as Enterprise Architecture Modeling The intent of EA is to determine how an organization can effectively achieve its current and future objectives [5] This EA modeling practice involves creating 978-1-6654-6171-9/22/$31.00 ©2022 IEEE DOI 10.1109/ACOMPA57018.2022.00010 The former usually is presented horizontally while the latter vertically in many overview charts showing the organization of an enterprise 20 shall generate a textual description of the dashboard to be built, which could be rendered thanks to Grafana2 – an open source library that allows us to monitor and analyze metrics, logs and traces The rest of this paper is structured as follows In Section 2, we describe our running example and formulate our research questions We propose the algorithms and a prototype for generating a process-oriented, role-based dashboard in Section In Section 4, we briefly survey the related work Section offers final remarks and outlines our future work • In the following, let us make a list of tracking metrics of an ad banner and videos that are frequently referred to – Case-study – In this section, we first provide the definition of common advertising terms (Subsection 2.1) and describe the advertising business of a real-life company in Subsection 2.2 before presenting the main business process (Subsection 2.3) for which we will illustrate how a dashboard might be generated later on Subsection 2.4 formulates up our research motivation 2.1 Understanding the Advertising Terms To make the paper self-contained, in the following we borrow from online sources345 the definition of common advertising terms that we refer to in our case-study • Advertiser An advertiser is a brand or company (e.g advertising agency) that wants to get its product or service in front of its target audience to build brand awareness, develop brand loyalty, and increase sales • Publisher A publisher can be defined as any company that produces content that attracts an audience Traditional publishers include newspapers and magazines in the offline world In our digital world, they are Web portals, online entertainment websites and mobile apps • Campaign An advertising campaign is a specifically designed strategy that is carried out across different mediums in order to achieve desired results such as increased brand awareness, increased sales, and improved communication within a specific market • Flight Flighting involves allocating your advertising budget to ensure maximum exposure during optimal periods No advertising occurs during suboptimal periods, conserving your advertising dollars • Placement Ad placement refers to the location a display ad will be shown Ad placements can vary in effectiveness and often require a level of testing to understand where the optimal placement will be This will also be dictated by the platform being uses • Creative A creative is the ad served to users on a webpage, app, or other digital environment Creatives can be images, videos, audio, and other formats that get delivered to users – – – – – Impression A viewable impression is a metric used to determine whether an impression was actually seen by a real human or whether it was “seen” by a bot or hidden from the user’s view Impression tracking is quite simply tracking the number of impressions each ad receives An impression is counted each time it is displayed to a user Click The number of real human clicks an ad, this metrics be add before the visitor is redirected to the final landing page Tracking the number of clicks an ad receives is typically done via a click tracker A click tracker is the URL of the ad server’s redirect service, which counts the click and redirects the visitor to the final landing page of the campaign The ad server returns the click tracker in the ad markup in order to count the click before the visitor is redirected to the final landing page Start View This event is used to indicate that an individual creative within the ad was loaded and playback began As with creativeView, this event is another way of tracking creative playback FirstQuartile View The creative played continuously for at least 25% of the total duration at normal speed Midpoint View The creative played continuously for at least 50% of the total duration at normal speed ThirdQuartile View The creative played continuously for at least 75% of the duration at normal speed Complete View or Play 100% The creative was played to the end at normal speed so that 100% of the creative was played The number of real human view all of ad, this metrics be add when the visitor is view to the final duration of an ad 2.2 An Example of Digital Advertising In the present day, advertising has become a key driving force behind the modern economy Recent technological advancement in mobile computing and Internet applications has opened the door to digital advertising Let us describe the business model of a real-life company which is one of the major telecommunications service providers in Vietnam It offers advertising services to customers who wish to advertise something in the form of a video clip or an image that is attached to a trending movie or a football match (either in a national league or an international tournament) An advertisement will be displayed when a user enters the Website or open an application on her mobile phone to https://grafana.com/ https://www.cyberclick.net/advertising/advertising-campaign https://blog.loomly.com/ad-placement-definition/ https://adtechbook.clearcode.cc/tracking-reporting/ 21 watch news, movies or sports In advertising terms, the company is called the publisher and the customers advertisers Once an advertising contract6 has been signed, a technical team of the above-mentioned telecommunication company will take care of it The admin of this team, using what is called Ads Tracking Platform, creates a tracking setup for each flight in accordance to the signed contract During the period of time the advertisement is active, the number of impressions, clicks and complete views shall be tracked for each platform (e.g., Web or mobile) specified in its flight setup The company needs a comprehensive sales report produced daily that gives the insight into all the advertising contracts in place The goal is to allow the technical team to monitor all the running flights and take a fixing action immediately just in case In general, an effective sales report would make the business of digital advertising more transparent to both the publisher and the advertisers The sales report should be role-sensitive, e.g., when reporting to the manager, it rather captures a sales summary rather than delving into a specific tracking setup Unfortunately, the in-house dashboard currently in use at the company lacks any dynamics and fails to provide a realtime view of the company’s business Both the salesmen and the manager often request the technical team to perform database queries and manually export the data fetched from the company’s server in order to compile a report for them – a notoriously time-consuming routine To mitigate this problem, the data team of this company could prepare ads datasets and have them imported in MS Power BI7 in order to build custom dashboards for the management board and the sale department of the company This alternative routine, even though supported by a contemporary dashboard-editing tool, is not productive The created dashboards are not scoped appropriately and subject to constant fine-tuning, i.e., useful charts are missing while unused charts are unnecessarily shown Figure depicts another process in which the admin of the technical team creates an ad campaign and has it scheduled after having won an advertising contract from the customer The created campaign will automatically be activated during the period of time it has been scheduled for In the rest of this paper, we illustrate our idea of code generation for dashboards using the process of tracking and updating an ad flight as a running example 2.4 Challenges of Automatically Generating Dashboards As dashboards are generally thought of a graphical user interface, data engineers and business analysts alike should undergo a brainstorming session to be able to propose an effective dashboard They essentially have to make a couple of non-trivial design choices For instance, what types of chart should they consider? For each chart, what data dimensions to be projected on? In what layout would the charts be arranged and placed in the said dashboard to best catch the viewer’s attention? What data feed to be used to populate the dashboard at run-time? To this end, automatically generating a dashboard for a business process that matches a user’s role poses some challenges Let’s examine them in the following First, the content of the to-be-built dashboard should match the information flow implicitly captured in a business process Unfortunately, many process modeling techniques fall short in this regard, necessitating a dedicated modeling technique such as the Data Flow Diagram If no such a data modeling diagram is given, we rely on data objects modeled in the business process of interest to establish the information flow based on which we shall build a dashboard A process modeled in BPMN typically contains various model elements of different categories (tasks, events, data objects, etc.) Such a visual process model needs to be converted into an exchangeable format, from which we could syntactically extract the data objects Second, information visualized for the to-be-constructed dashboard should be role-sensitive because different users expect different at-a-glance views out of the same process To construct such a role-driven dashboard, we should apply a filter to the established information flow to extract objects that are of interest to a given role Doing so for the fine-grained representation is challenging because some attributes and pieces of information of an object might match the user’s intention while some others not Third, as today’s data visualization offers more than a dozen of data charts, we need to crisply determine what charts to be employed for the dashboard being constructed For example, a line chart would best be used for visualizing a time-series dataset A gauge is good choice for showing an instantaneous value that is relative to a lower end and an upper end 2.3 The Business Processes In Figure 1, we present one of the core business processes of the above-mentioned company It starts with a request to track an ad flight, of which the statistics could be fetched from a cloud database administered by the company Each flight is associated with the following counts all of which are represented as data objects in BPMN: Impression Count, Click Count and Play100 Count – which is a short name for the complete view count The process goes on to update one of these data objects according to the user’s action, which triggers a process event on the pool of the ads platform The last task in this process flushes any updates made to the data objects, invoking an appropriate update statement on the cloud database Speaking of the process participants, Before the ad company could enact the process depicted in Figure 1, it must have an ad campaign readily scheduled Generating a Process-oriented Dashboard We assume an ad contract features a single advertising campaign for the sake of simplicity https://powerbi.microsoft.com/en-us/ We believe that dashboard engineering for EA modeling should be algorithmized In this section, we first outline 22 Figure The process of tracking and updating an ad flight be exported into an interchangeable format, producing an XML document The resulting document will be imported to our code generation tool to produce a JSON document representing a role-based dashboard that captures the information flow of the business process in question Note that our code generation tool expects a user’s role to be specified (shown as a human icon in Figure 3) and a dataset to be fed The generated JSON document is given to Grafana for dashboard rendering Figure The process of creating an ad campaign for a certain ad contract our algorithmic approach (Subsection 3.1), followed by an algorithm for generating the source code of dashboards (Subsection 3.2) We describe our prototype in Subsection 3.3 and finally report the dataset used for testing our prototype (Subsection 3.4) 3.1 Overview As illustrated in Figure 3, a process editor tool called Camunda8 allows the currently-edited business process to Figure The proposed algorithmic approach to the generation of processoriented dashboards https://camunda.com/platform/modeler/ 23 3.2 Algorithms insert a gauge chart – often used to show a percentage, as a complementary chart for capturing the information flow at the data object in question To render the created charts live, we need to provide them with values retrieved from the dataset being fed We present an algorithmic workflow necessary for generating a dashboard towards a given business process that serves a certain user’s role Algorithm acts as the entrance point of our workflow In addition to the input process – expressed in XML for the sake of computer-interpretability, and the input role, a dataset is given as the third input to our algorithm The idea is to feed the generated dashboard with data taken from a time series dataset that is associated with the business process in question In the main loop of this algorithm, we search for a pool of the business process in question that matches the user’s role specified If matched, we collect data objects of the said process that are contained in the matching pool Our main idea is to build a dashboard where each data objects being collected is visualized by one or multiple charts At lines of code numbered 11-12 of Algorithm 1, we invoke Algorithm to generate a JSON document as the source code of the dashboard being built and have it rendered using the Grafana library Algorithm 2: Produces a JSON document that represents a dashboard visualizing a list of data objects Algorithm 1: Builds a process-oriented, roleaware dashboard 10 11 12 13 14 15 16 Input: Pxml : representation of a business process in XML; role: user’s role; dat: a dataset fed to the to-be-constructed dashboard; begin Lobj ← empty; Lpool ← list of all pools represented in Pxml ; foreach p ∈ Lpool if p matches role then foreach o ∈ list of all objects represented in Pxml if o is contained in p then Lobj ← Lobj + o; end end json ← generateJSON(Lobj , dat); load json into Grafana; break; end end end 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Algorithm takes a list of data objects together with the dataset passed from Algorithm as the input To begin with, we fetch the temporal feature of the input dataset When iterating through the list of data objects, for each object, we extract the corresponding data features Once we have extracted the necessary data features for these objects, we attempt to create a pie chart to visualize each of data objects represented in the said business process To capture the overall picture, we introduce a multi-series line chart that visualizes all data objects together We assume that if a data object is annotated some text, it represents a spontaneous reading relative to an upper bound9 , e.g., total booking is the upper bound of both the Click Count and the Impression Count To further enrich the dashboard, we 26 27 28 29 30 Input: Lobj : list of data objects establishing the information flow for which the dashboard will be generated; dat: a dataset fed to the to-be-constructed dashboard; Output: Djson : a JSON document capturing the source code of the dashboard to be built begin // A single overacting line chart for all objects in Lobj ; tf ← temporal feature of dat; line ← new; setType(line, LineChart); setLabels(line, tf , ”Tracking”)); foreach o ∈ Lobj Lf eature ← data features of dat matching o; if Lf eature 6= ∅ then f ield ← a feature of Lf eature that best matches the name of o; if o comes with text annotation then // We shall create a gauge chart for o; gauge ← new; max ← numeric value of the annotated text; setType(gauge, GaugeChart); setValues(gauge, SELECT f ield FROM dat, max); Djson ← Djson + toJSON(gauge); end // Now let’s create a pie chart for o; pie ← new; setType(pie, PieChart); setValues(pie, SELECT f ield FROM dat, SUM (SELECT f ield FROM dat)); Djson ← Djson + toJSON(pie); // We populate the overarching line chart with a line for o; setName(line, o, f ield); setValues(line, o, SELECT f ield FROM dat WHERE tf matched); end end Djson ← Djson + toJSON(line); end 3.3 Prototype We aim to develop a tool that generates the source code in JSON of a dashboard that can readily be imported to Grafana Such a code generation tool could either be in the form of a standalone application or a module that shall be plugged into another business process modeling tool If deployed as a standalone application, our tool allows the For the sake of simplicity, we assume that the lower bound is zero 24 server Each record corresponds to a target placement in an ad flight Note that, as a publisher, the advertising company at a time manages multiple advertising contracts For this reason, the dataset that we obtained was populated with the statistics of many ad flights that were active during the sampling period of time Speaking of the database schema, the dataset has the following features: flight name (mobile or Web), metrics that capture the advertising statistics and a temporal feature which represents the calendar day When loaded into our algorithms for dashboard rendering, as already explained in Subsection 3.2, we query on a portion of this dataset to fetch the right data items to feed the dashboard constructed for the business process of tracking and updating an ad flight (see Subsection 2.3) user to enter the representation of the process of interest as an XML document In case it is released a plugin, the tool takes the currently edited process model as the input In either way, the tool would ask the user for further input including a role and a data source Related Work We provide a survey on the use of dashboards in today’s business systems Real-life use-cases of dashboards have been reported in logistics [17], healthcare [18], requirements engineering [19], fleet management [20], tactical sustainability management [21] When it comes to processes-oriented dashboard engineering, as mentioned in the introduction section, there exist only a few pieces of scholarly work that actually address this topic [15], [16] – they follow a meta-modeling approach that facilitates the code generation needed to render a dashboard [22] introduces a dashboard with advanced monitoring functions for objectaware processes This would reinforce that, to the best of our understanding, automatically or semi-automatically generating a dashboard that matches a business model is indeed challenging both from academic perspectives and an engineering standpoint Figure Our prototype generates a dashboard for the digital advertising company’ main business process described in Section Figure depicts a prototype that displays a dashboard generated for the business process described in Section The constructed dashboard features two gauges, three pie charts and a multi-series line chart The pie charts display summary data for Impression Count, Click Count and Play100 Count count have runs The two gauges at the top of the constructed dashboard show the instant percentage of the first two data objects with respect to the total booking specified in the ads flight being track This is because in the business process shown in Figure 1, we attach text annotation to Click Count and Impression Count while leaving data object Play100 Count without any annotation We need an overarching chart to capture all these counts together as time series readings, hence a multi-series line chart at the bottom of the constructed dashboard In practice, the managerial roles of the said digital ads company find the pie charts and the line chart most useful for their business routines, making the gauges as complementary dashboard instruments Final Considerations and Discussions Dashboard engineering has drawn attention in enterprise architecture modeling, servitization and business process management alike An effective dashboard would bring ample benefits to decision-making by providing business users with multiple at-a-glance views of the operational levels, resources, assets, equipment, etc of an enterprise As computer graphics and user interface standards continue to evolve at a rapid pace, dashboard engineering increasingly becomes a popular tool for present-day business intelligence While we enjoy substantial support for role-based dashboards in the literature and the commercial frameworks, attempts to engineer a dashboard that is geared up for a given business process still stay on the sidelines Automating the creation of such a dashboard poses the following challenges: (i) the content of the to-be-built dashboard should semantically match the information flow implicitly captured in a business process; (ii) information visualized for the to-beconstructed dashboard should be process-driven and at the same time role-sensitive; (iii) as today’s data visualization offers more than a dozen of data charts, we need to crisply determine what charts to be employed for the dashboard being constructed 3.4 Dataset The dataset experimented in our case-study was collected over the month of January 2021 from the server of the aforementioned advertising company, containing 52019 records Twice a day, ads-tracking data are sent over to this 25 This paper reports our preliminary work towards the creation of process-oriented, role-sensitive dashboards We take a machine-readable representation of business process as the input, from which a list of data objects and process participants are extracted We select those objects that match the dataset provided and correspond to a user’s role who is identified by one of the process participants Our algorithms shall generate the source code of dashboards to be built, which could be fed to an open source graphics library to display a live dashboard Discussions Our approach to generating the source code of dashboards has some shortcomings First, in case there are data objects that not match any data features of dataset being fed, the constructed dashboard would not be rendered properly Unfortunately, to make it even worse, in practice process modelers can omit data objects altogether because utilizing them is not mandatory in process modeling Second, our approach supports only a couple of types of chart, namely the pie chart, the gauge and the line chart Third, it is almost impossible to fine-tune the dashboard being generated as we offer no tool support for visually editing the JSON document to manually add further charts and multimedia elements to it In the near future, we will fully implement a tool that generates the source code in JSON of the process-oriented dashboards, for which we have shown an early prototype in this paper We will look for alternatives to having data objects represented explicitly when it comes capturing the data flow in a business process Our long-term research goal is to investigate the suitability of the proposed approach in other business domains other than digital advertising C Linz, G Măuller-Stewens, and A Zimmermann, Radical Business Model Transformation: Gaining the Competitive Edge in a Disruptive World Kogan Page, 2017 [2] F Vendrell-Herrero, O.-F Bustinza, G Parry, and N Georgantzis, “Servitization, digitization and supply chain interdependency,” Industrial Marketing Management, vol 60, pp 69–81, 2017 [3] J.-C Nardi, J.-P Almeida, P.-H da Silva, and G Guizzardi, “An Ontology-Based Diagnosis of Mainstream Service Modeling Languages,” in Proceedings of the 23rd International Enterprise Distributed Object Computing Conference Paris, France: IEEE Computer Society, October 2019, pp 112–121 [4] M Lankhorst, Enterprise Architecture at Work - Modelling, Communication and Analysis, 2nd ed Springer Berlin Heidelberg, 2009 [6] S Sutner, “Ultimate guide to business intelligence in the enterprise,” https://www.techtarget.com/searchbusinessanalytics/ Ultimate-guide-to-business-intelligence-in-the-enterprise, March 2021, tech Accelerator [7] A Sarikaya, M Correll, L Bartram, M Tory, and D Fisher, “What Do We Talk About When We Talk About Dashboards?” IEEE Transactions on Visualization and Computer Graphics, vol 25, no 1, pp 682–692, 2019 [9] O Belo, P Rodrigues, R Barros, and H Correia, “Restructuring Dynamically Analytical Dashboards Based on Usage Profiles,” in Proceedings of the 21st International Symposium on Methodologies for Intelligent Systems Roskilde, Denmark: Springer, 2014, pp 445–455 [11] N Cassaigne, “The Dashboard: a knowledge conversion tool,” in Proceedings of International Conference on Engineering Management Cambridge, UK: IEEE, August 2002, pp 292297 [12] G Sedrakyan, J Malmberg, K Verbert, S Jăarvelăa, and P.-A Kirschner, “Linking learning behavior analytics and learning science concepts: Designing a learning analytics dashboard for feedback to support learning regulation,” Computers in Human Behavior, vol 107, p 105512, June 2020 [13] M Kintz, “A Semantic Dashboard Description Language for a Process-oriented Dashboard Design Methodology,” in Proceedings of the 2nd International Workshop on Model-based Interactive Ubiquitous Systems, Copenhagen, Denmark, June 2012 [14] A V´azquez-Ingelmo, F J Garcia-Pe˜nalvo, and R Ther´on, “Information Dashboards and Tailoring Capabilities – A Systematic Literature Review,” IEEE Access, vol 7, pp 109 673–109 688, 2019 [15] T Palpanas, P Chowdhary, G Mihaila, and F Pinel, “Integrated model-driven dashboard development,” Information Systems Frontiers, vol 9, no 2-3, pp 195–208, 2007 [16] M Kintz, M Kochanowski, and F Koetter, “Creating User-specific Business Process Monitoring Dashboards with a Model-driven Approach,” in Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development Porto, Portugal: SciTePress, 2017, pp 353–361 [17] W Presthus and C.-A Canales, “Business intelligence dashboard design: a case study of a large logistics company,” NOKOBIT, vol 23, no 1, 2015 [18] M Pestana, R Pereira, and S Moro, “Improving Health Care Management in Hospitals Through a Productivity Dashboard,” Journal of Medical Systems, vol 44, no 4, p 87, 2020 [19] A Lavalle, A Mat´e, J Trujillo, and S Rizzi, “Visualization Requirements for Business Intelligence Analytics: A Goal-Based, Iterative Framework,” in Proceedings of the 27th International Requirements Engineering Conference Jeju Island, Korea: IEEE Computer Society, September 2019, pp 109–119 [20] A.-S Khalid, N.-H Hassan, N.-A Razak, and A.-F Baharuden, “Business Intelligence Dashboard for Driver Performance in Fleet Management,” in Proceedings of the 11th International Conference on E-Education, E-Business, E-Management, and E-Learning Osaka, Japan: ACM, January 2020, pp 347–351 L.-S Lˆe, “Services for Business Processes in EA – Are They in Relation?” in Proceedings of the 22nd Australasian Conference on Information Systems Sydney, Australia: AIS Electronic Library, 2011, p [5] S Sutner, “What is a Business Intelligence Dashboard?” https://www.techtarget.com/searchbusinessanalytics/definition/ business-intelligence-dashboard, August 2020, tech Accelerator [10] P Chowdhary, T Palpanas, F Pinel, S.-K Chen, and F Y Wu, “Model driven dashboards for business performance reporting,” in Proceedings of the 10th International Enterprise Distributed Object Computing Conference Hong Kong, China: IEEE, October 2006 References [1] [8] [21] V Băudel, A Fritsch, and A Oberweis, Integrating sustainability into day-to-day business: a tactical management dashboard for OLCA,” in Proceedings of the 7th International Conference on ICT for Sustainability Bristol, United Kingdom: ACM, June 2020, pp 56–65 [22] M Breitmayer, L Arnold, and M Reichert, “A Dashboard-based Approach for Monitoring Object-Aware Processes,” in Proceedings of the 13th European Workshop on Services and their Composition, Bamberg, Germany, February 2021, pp 29–33 26 58 Tài liệu tham khảo [1] D Nachimow, “Understanding the Potential of RoleBased Dashboards,” https://businesssoftwareeducationcenter.org/ understanding-the-potential-of-role-based-dashboards/, October 2019, business Software Education Center [2] A Tundo, C Castelnovo, M Mobilio, O Riganelli, and L Mariani, “Declarative Dashboard Generation,” in Proceedings of the 31st International Symposium on Software Reliability Engineering Coimbra, Portugal: IEEE, October 2020, pp 215–218 [3] A Vázquez-Ingelmo, F J Garcia-Pe˜ nalvo, and R Therón, “Information Dashboards and Tailoring Capabilities – A Systematic Literature Review,” IEEE Access, vol 7, pp 109 673109 688, 2019 [4] C Linz, G Mă uller-Stewens, and A Zimmermann, Radical Business Model Transformation: Gaining the Competitive Edge in a Disruptive World Kogan Page, 2017 [5] F Vendrell-Herrero, O.-F Bustinza, G Parry, and N Georgantzis, “Servitization, digitization and supply chain interdependency,” Industrial Marketing Management, vol 60, pp 69–81, 2017 [6] J.-C Nardi, J.-P Almeida, P.-H da Silva, and G Guizzardi, “An Ontology-Based Diagnosis of Mainstream Service Modeling Languages,” in Proceedings of the 23rd International Enterprise Distributed Object Computing Conference Paris, France: IEEE Computer Society, October 2019, pp 112–121 [7] L.-S Lê, “Services for Business Processes in EA – Are They in Relation?” in Proceedings of the 22nd Australasian Conference on Information Systems Sydney, Australia: AIS Electronic Library, 2011, p [8] M Lankhorst, Enterprise Architecture at Work - Modelling, Communication and Analysis, 2nd ed Springer Berlin Heidelberg, 2009 TÀI LIỆU THAM KHẢO 59 [9] S Sutner, “Ultimate guide to business intelligence in the enterprise,” https://www.techtarget.com/searchbusinessanalytics/ Ultimate-guide-to-business-intelligence-in-the-enterprise, March 2021, tech Accelerator [10] A Sarikaya, M Correll, L Bartram, M Tory, and D Fisher, “What Do We Talk About When We Talk About Dashboards?” IEEE Transactions on Visualization and Computer Graphics, vol 25, no 1, pp 682–692, 2019 [11] S Sutner, “What is a Business Intelligence Dashboard?” https://www.techtarget.com/ searchbusinessanalytics/definition/business-intelligence-dashboard, August 2020, tech Accelerator [12] O Belo, P Rodrigues, R Barros, and H Correia, “Restructuring Dynamically Analytical Dashboards Based on Usage Profiles,” in Proceedings of the 21st International Symposium on Methodologies for Intelligent Systems Roskilde, Denmark: Springer, 2014, pp 445–455 [13] P Chowdhary, T Palpanas, F Pinel, S.-K Chen, and F Y Wu, “Model driven dashboards for business performance reporting,” in Proceedings of the 10th International Enterprise Distributed Object Computing Conference Hong Kong, China: IEEE, October 2006 [14] N Cassaigne, “The Dashboard: a knowledge conversion tool,” in Proceedings of International Conference on Engineering Management Cambridge, UK: IEEE, August 2002, pp 292–297 [15] G Sedrakyan, J Malmberg, K Verbert, S Jăarvelăa, and P.-A Kirschner, Linking learning behavior analytics and learning science concepts: Designing a learning analytics dashboard for feedback to support learning regulation,” Computers in Human Behavior, vol 107, p 105512, June 2020 [16] M Kintz, “A Semantic Dashboard Description Language for a Process-oriented Dashboard Design Methodology,” in Proceedings of the 2nd International Workshop on Model-based Interactive Ubiquitous Systems, Copenhagen, Denmark, June 2012 [17] A Vázquez-Ingelmo, F J Garcia-Pe˜ nalvo, and R Therón, “Information Dashboards and Tailoring Capabilities – A Systematic Literature Review,” IEEE Access, vol 7, pp 109 673–109 688, 2019 TÀI LIỆU THAM KHẢO 60 [18] T Palpanas, P Chowdhary, G Mihaila, and F Pinel, “Integrated model-driven dashboard development,” Information Systems Frontiers, vol 9, no 2-3, pp 195–208, 2007 [19] M Kintz, M Kochanowski, and F Koetter, “Creating User-specific Business Process Monitoring Dashboards with a Model-driven Approach,” in Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development Porto, Portugal: SciTePress, 2017, pp 353–361 [20] P Chowdhary, T Palpanas, F Pinel, S.-k Chen, and F Y Wu, “Model driven dashboards for business performance reporting,” in Proceedings of 10th International Enterprise Distributed Object Computing Conference Hong Kong, China: IEEE, October 2006 [21] R A Burkhard, “Learning from Architects: The Difference between Knowledge Visualization and Information Visualization,” in Proceedings of the 8th International Conference on Information Visualisation London, UK: IEEE, July 2006 [22] Soft365.vn, “Ưu nhược điểm Power BI – Phần mềm BI trực quan tiên tiến nay,” https://store.soft365.vn/ uu-va-nhuoc-diem-cua-power-bi-phan-mem-bi-truc-quan-tien-tien-nhat-hien-nay html, October 2019 [23] T M Thiện, “Ứng dụng nông nghiệp thông minh trình xây dựng thành phố mang tên Bác thành thị thơng minh,” Tạp chí Cộng Sản, Tech Rep., May 2019 61 PHẦN LÝ LỊCH TRÍCH NGANG Họ tên: Nguyễn Tuyết Nga Ngày, tháng, năm sinh: 31/08/1997 Nơi sinh: Thành phố Sóc Trăng Địa liên lạc: Chung cư Hồng Tháp, đường số 9A, Huyện Bình Chánh, Thành phố Hồ Chí Minh Q TRÌNH ĐÀO TẠO 2015 - 2019: Sinh viên khoa Khoa học Kỹ thuật máy tính, trường Đại học Bách Khoa, ĐHQG Tp Hồ Chí Minh 2019 - 2022: Học viên cao học ngành hệ thống thông tin quản lý, khoa KH KT Máy tính, trường Đại học Bách Khoa, ĐHQG Thành phố Hồ Chí Minh Q TRÌNH CƠNG TÁC 03/2019 - Hiện tại: Nhân viên vận hành hệ thống quảng cáo, Công ty Cổ phần Viễn thông FPT