1. Giới thiệu
Lần cập nhật gần đây nhất: ngày 15 tháng 09 năm 2021
Dữ liệu cần thiết để cung cấp thông tin chi tiết về giá và hoạt động tối ưu hoá không giống nhau (hệ thống khác nhau, tình hình thực tế tại địa phương khác nhau, v.v.). Vì vậy, việc xây dựng một bảng CDM rõ ràng, được chuẩn hoá và có cấu trúc hợp lý là rất quan trọng. Dữ liệu này bao gồm các thuộc tính chính để tối ưu hoá giá, chẳng hạn như số lượt giao dịch, sản phẩm, giá và khách hàng. Trong tài liệu này, chúng tôi sẽ hướng dẫn bạn các bước được trình bày bên dưới, giúp bạn bắt đầu nhanh về số liệu phân tích về giá mà bạn có thể mở rộng và tuỳ chỉnh theo nhu cầu của mình. Biểu đồ dưới đây trình bày các bước được đề cập trong tài liệu này.
- Đánh giá nguồn dữ liệu: Trước tiên, bạn phải thu thập danh sách các nguồn dữ liệu sẽ dùng để tạo CDM. Ở bước này, Dataprep cũng được dùng để khám phá và xác định các vấn đề từ dữ liệu đầu vào. Ví dụ: giá trị bị thiếu và không khớp, quy ước đặt tên không nhất quán, nội dung trùng lặp, vấn đề về tính toàn vẹn của dữ liệu, trường hợp ngoại lệ, v.v.
- Chuẩn hoá dữ liệu: Tiếp theo, các vấn đề đã xác định trước đó sẽ được khắc phục để đảm bảo độ chính xác, tính toàn vẹn, tính nhất quán và tính hoàn chỉnh của dữ liệu. Quá trình này có thể bao gồm các phép biến đổi khác nhau trong Dataprep, chẳng hạn như định dạng ngày, chuẩn hoá giá trị, chuyển đổi đơn vị, lọc bỏ các trường và giá trị không cần thiết, chia tách, kết hợp hoặc loại bỏ dữ liệu nguồn trùng lặp.
- Hợp nhất trong một cấu trúc: Giai đoạn tiếp theo của quy trình sẽ kết hợp từng nguồn dữ liệu vào một bảng rộng và duy nhất trong BigQuery chứa tất cả thuộc tính ở cấp chi tiết nhất. Cấu trúc không chuẩn hoá này cho phép thực hiện các truy vấn phân tích hiệu quả mà không cần kết hợp.
- Cung cấp số liệu phân tích và Công nghệ học máy/Trí tuệ nhân tạo: Sau khi dữ liệu đã rõ ràng và được định dạng để phân tích, nhà phân tích có thể khám phá dữ liệu trong quá khứ để hiểu tác động của những thay đổi về giá trước đây. Ngoài ra, BigQuery ML có thể được dùng để tạo ra các mô hình dự đoán nhằm ước tính doanh số bán hàng trong tương lai. Bạn có thể tích hợp kết quả của các mô hình này vào trang tổng quan trong Looker để lập "Kịch bản điều gì xảy ra nếu" nơi người dùng doanh nghiệp có thể phân tích doanh số bán hàng khi giá thay đổi.
Sơ đồ dưới đây cho thấy các thành phần của Google Cloud dùng để xây dựng Quy trình phân tích tối ưu hoá giá.
Sản phẩm bạn sẽ tạo ra
Dưới đây, chúng tôi sẽ hướng dẫn bạn cách thiết kế kho dữ liệu tối ưu hoá giá, tự động hoá việc chuẩn bị dữ liệu theo thời gian, sử dụng công nghệ học máy để dự đoán tác động của những thay đổi về giá sản phẩm và phát triển các báo cáo để cung cấp thông tin chi tiết hữu ích cho nhóm của bạn.
Kiến thức bạn sẽ học được
- Cách kết nối Dataprep với nguồn dữ liệu để phân tích giá. Những nguồn dữ liệu này có thể được lưu trữ trong cơ sở dữ liệu quan hệ, tệp phẳng, Google Trang tính và các ứng dụng được hỗ trợ khác.
- Cách xây dựng luồng Dataprep để tạo bảng CDM trong kho dữ liệu BigQuery của bạn.
- Cách sử dụng BigQuery ML để dự đoán doanh thu trong tương lai.
- Cách tạo báo cáo trong Looker để phân tích xu hướng định giá và xu hướng bán hàng trước đây, cũng như để tìm hiểu tác động của những thay đổi về giá trong tương lai.
Bạn cần có
- Một dự án trên Google Cloud đã bật tính năng thanh toán. Tìm hiểu cách xác nhận tính năng thanh toán đã được bật cho dự án của bạn.
- Bạn phải bật BigQuery trên dự án của mình. Tính năng này được tự động bật trên các dự án mới. Nếu không, hãy bật tính năng đó trên một dự án hiện có. Bạn cũng có thể tìm hiểu thêm về cách bắt đầu sử dụng BigQuery trên Cloud Console tại đây.
- Bạn cũng phải bật Dataprep trong dự án của mình. Bạn đã bật Dataprep trên Google Console trên trình đơn điều hướng bên trái trong mục Dữ liệu lớn. Làm theo các bước đăng ký để kích hoạt tài khoản.
- Để thiết lập trang tổng quan Looker của riêng mình, bạn phải có quyền truy cập của nhà phát triển trên một phiên bản Looker. Để yêu cầu dùng thử, vui lòng liên hệ với nhóm của chúng tôi tại đây hoặc sử dụng trang tổng quan công khai để khám phá kết quả của quy trình dữ liệu về dữ liệu mẫu của chúng tôi.
- Kinh nghiệm về Ngôn ngữ truy vấn có cấu trúc (SQL) và kiến thức cơ bản về các kiến thức sau sẽ giúp ích cho bạn: Dataprep by Trifacta, BigQuery, Looker
2. Tạo CDM trong BigQuery
Trong phần này, bạn sẽ tạo Mô hình dữ liệu chung (CDM), mô hình này cung cấp chế độ xem tổng hợp về thông tin bạn cần để phân tích và đề xuất thay đổi về giá.
- Mở bảng điều khiển BigQuery.
- Chọn dự án mà bạn muốn sử dụng để kiểm thử mẫu tham chiếu này.
- Sử dụng tập dữ liệu hiện có hoặc tạo tập dữ liệu BigQuery. Đặt tên cho tập dữ liệu là
Pricing_CDM
. - Tạo bảng:
create table `CDM_Pricing`
(
Fiscal_Date DATETIME,
Product_ID STRING,
Client_ID INT64,
Customer_Hierarchy STRING,
Division STRING,
Market STRING,
Channel STRING,
Customer_code INT64,
Customer_Long_Description STRING,
Key_Account_Manager INT64,
Key_Account_Manager_Description STRING,
Structure STRING,
Invoiced_quantity_in_Pieces FLOAT64,
Gross_Sales FLOAT64,
Trade_Budget_Costs FLOAT64,
Cash_Discounts_and_other_Sales_Deductions INT64,
Net_Sales FLOAT64,
Variable_Production_Costs_STD FLOAT64,
Fixed_Production_Costs_STD FLOAT64,
Other_Cost_of_Sales INT64,
Standard_Gross_Margin FLOAT64,
Transportation_STD FLOAT64,
Warehouse_STD FLOAT64,
Gross_Margin_After_Logistics FLOAT64,
List_Price_Converged FLOAT64
);
3. Đánh giá nguồn dữ liệu
Trong hướng dẫn này, bạn sẽ sử dụng các nguồn dữ liệu mẫu được lưu trữ trong Google Trang tính và BigQuery.
- Google Trang tính về giao dịch chứa một hàng cho mỗi giao dịch. Báo cáo này có các thông tin chi tiết như số lượng của từng sản phẩm đã bán, tổng doanh số bán hàng và chi phí liên quan.
- Google Trang tính về giá sản phẩm, trong đó chứa giá của từng sản phẩm đối với một khách hàng cụ thể theo tháng.
- Bảng BigQuery company_descriptions chứa thông tin về từng khách hàng.
Bạn có thể tạo bảng BigQuery company_descriptions này bằng cách sử dụng câu lệnh sau:
create table `Company_Descriptions`
(
Customer_ID INT64,
Customer_Long_Description STRING
);
insert into `Company_Descriptions` values (15458, 'ENELTEN');
insert into `Company_Descriptions` values (16080, 'NEW DEVICES CORP.');
insert into `Company_Descriptions` values (19913, 'ENELTENGAS');
insert into `Company_Descriptions` values (30108, 'CARTOON NT');
insert into `Company_Descriptions` values (32492, 'Thomas Ed Automobiles');
4. Tạo luồng
Ở bước này, bạn nhập một luồng Dataprep mẫu mà bạn dùng để chuyển đổi và hợp nhất các tập dữ liệu mẫu được liệt kê trong phần trước. Luồng đại diện cho một quy trình hoặc một đối tượng tập hợp các tập dữ liệu và công thức nấu ăn dùng để biến đổi và kết hợp chúng.
- Tải gói quy trình Định giá Mẫu tối ưu hoá xuống từ GitHup, nhưng không giải nén nó. Tệp này chứa quy trình Mẫu thiết kế tối ưu hoá giá được dùng để chuyển đổi dữ liệu mẫu.
- Trong Dataprep, hãy nhấp vào biểu tượng Luồng trên thanh điều hướng bên trái. Sau đó, trong chế độ xem Luồng, hãy chọn Nhập từ trình đơn theo bối cảnh. Sau khi nhập quy trình, bạn có thể chọn quy trình đó để xem và chỉnh sửa.
- Ở bên trái của quy trình, bạn phải kết nối thông tin về giá sản phẩm và từng mục Giao dịch trong số ba trang Giao dịch trên Google Trang tính dưới dạng tập dữ liệu. Để thực hiện việc này, hãy nhấp chuột phải vào các đối tượng của tập dữ liệu Google Trang tính rồi chọn Thay thế. Sau đó, nhấp vào liên kết Nhập tập dữ liệu. Nhấp vào "Chỉnh sửa đường dẫn" bút chì, như được minh hoạ trong biểu đồ sau đây.
Thay thế giá trị hiện tại bằng đường liên kết trỏ đến phần giao dịch và giá sản phẩm trên Google Trang tính .
Khi Google Trang tính chứa nhiều thẻ, bạn có thể chọn thẻ mình muốn sử dụng trong trình đơn. Nhấp vào Chỉnh sửa, rồi chọn những thẻ mà bạn muốn sử dụng làm nguồn dữ liệu, sau đó nhấp vào Lưu rồi nhấp vào Nhập và Thêm vào Flow. Khi bạn quay lại cửa sổ phụ, hãy nhấp vào Thay thế. Trong quy trình này, mỗi trang tính được biểu thị dưới dạng tập dữ liệu riêng để minh hoạ việc hợp nhất các nguồn khác nhau ở phần sau trong công thức sau.
- Xác định bảng Dữ liệu đầu ra của BigQuery:
Trong bước này, bạn sẽ liên kết vị trí để bảng đầu ra CDM_Pricing của BigQuery được tải mỗi khi bạn chạy công việc Dataoprep.
Trong Flow View (Khung hiển thị luồng), hãy nhấp vào biểu tượng Schema Mapping Output (Kết quả ánh xạ giản đồ), trong Bảng điều khiển chi tiết, hãy nhấp vào thẻ Điểm đến. Từ đó, hãy chỉnh sửa cả kết quả Đích đến thủ công dùng để kiểm thử và kết quả Đích đến theo lịch biểu được dùng khi bạn muốn tự động hoá toàn bộ quy trình. Hãy làm theo hướng dẫn sau:
- Chỉnh sửa "Đích đến thủ công" Trong Bảng chi tiết, ở phần Điểm đến thủ công, hãy nhấp vào nút Chỉnh sửa. Trên trang Cài đặt xuất bản, trong Hành động xuất bản, nếu đã tồn tại hành động xuất bản, hãy Chỉnh sửa hành động đó hoặc nhấp vào nút Thêm hành động. Từ đó, hãy chuyển các tập dữ liệu BigQuery đến tập dữ liệu
Pricing_CDM
mà bạn đã tạo ở bước trước rồi chọn bảngCDM_Pricing
. Xác nhận rằng bạn đã đánh dấu chọn Nối vào bảng này mỗi lần chạy, rồi nhấp vào Thêm. Sau đó, nhấp vào Lưu chế độ cài đặt. - Chỉnh sửa "Điểm đến đã lên lịch"
Trong Bảng chi tiết, ở phần Điểm đến được lập lịch, hãy nhấp vào Chỉnh sửa.
Các chế độ cài đặt này được kế thừa từ Điểm đến thủ công và bạn không cần thực hiện bất kỳ thay đổi nào. Nhấp vào Lưu chế độ cài đặt.
5. Chuẩn hoá dữ liệu
Quy trình hợp nhất luồng được cung cấp, định dạng và làm sạch dữ liệu giao dịch, sau đó kết hợp kết quả với nội dung mô tả công ty và dữ liệu giá tổng hợp để báo cáo. Tại đây, bạn sẽ đi qua các thành phần của quy trình mà bạn có thể thấy trong hình ảnh bên dưới.
6. Khám phá Công thức xử lý dữ liệu giao dịch
Đầu tiên, bạn sẽ tìm hiểu những gì xảy ra trong Công thức dữ liệu giao dịch. Công thức này được dùng để chuẩn bị dữ liệu giao dịch. Nhấp vào đối tượng Dữ liệu giao dịch trong Chế độ xem luồng, trên Bảng chi tiết, hãy nhấp vào nút Chỉnh sửa công thức.
Trang Transformer sẽ mở ra cùng với Công thức được trình bày trong bảng Chi tiết. Công thức chứa tất cả các bước biến đổi được áp dụng cho dữ liệu. Bạn có thể di chuyển trong Công thức bằng cách nhấp vào giữa mỗi bước để xem trạng thái của dữ liệu ở vị trí cụ thể này trong Công thức.
Bạn cũng có thể nhấp vào trình đơn Tuỳ chọn khác cho từng bước Công thức, sau đó chọn Chuyển đến mục Đã chọn hoặc Chỉnh sửa để tìm hiểu cách hoạt động của quy tắc chuyển đổi.
- Giao dịch liên kết: Bước đầu tiên trong các giao dịch trong công thức liên kết dữ liệu giao dịch được lưu trữ trong các trang tính khác nhau biểu thị mỗi tháng.
- Chuẩn hoá nội dung mô tả của khách hàng: Bước tiếp theo trong công thức chuẩn hoá nội dung mô tả khách hàng. Điều này có nghĩa là tên khách hàng có thể giống nhau với một chút thay đổi nhỏ và chúng tôi muốn chuẩn hoá chúng giống như tên. Công thức này cho thấy hai cách tiếp cận tiềm năng. Thứ nhất, phương pháp này tận dụng Thuật toán chuẩn hoá. Bạn có thể định cấu hình thuật toán này bằng nhiều tuỳ chọn chuẩn hoá, chẳng hạn như "Chuỗi tương tự" trong đó các giá trị có các ký tự chung được nhóm lại với nhau hoặc "Cách phát âm" nơi các giá trị nghe giống nhau được nhóm lại với nhau. Ngoài ra, bạn có thể tra cứu nội dung mô tả công ty trong bảng BigQuery được đề cập ở trên bằng mã công ty.
Bạn có thể khám phá thêm công thức này để khám phá nhiều kỹ thuật khác được áp dụng để làm sạch và định dạng dữ liệu: xoá hàng, định dạng dựa trên mẫu, làm phong phú dữ liệu bằng hoạt động tra cứu, xử lý các giá trị bị thiếu hoặc thay thế các ký tự không mong muốn.
7. Khám phá Công thức dữ liệu giá sản phẩm
Tiếp theo, bạn có thể khám phá những điều sẽ xảy ra trong Công thức dữ liệu giá sản phẩm. Công thức này kết hợp dữ liệu giao dịch đã chuẩn bị với dữ liệu tổng hợp về giá.
Nhấp vào MẪU THIẾT KẾ TỐI ƯU HOÁ GIÁ TRỊ ở đầu trang để đóng trang Bộ chuyển đổi và quay lại Chế độ xem luồng. Từ đó, hãy nhấp vào đối tượng Dữ liệu giá sản phẩm và Chỉnh sửa công thức.
- Huỷ tổng hợp cột giá hằng tháng: Nhấp vào công thức trong khoảng giữa 2 và 3 bước để xem dữ liệu sẽ trông như thế nào trước bước Huỷ tổng hợp. Bạn sẽ nhận thấy rằng dữ liệu chứa giá trị giao dịch trong một cột riêng biệt cho mỗi tháng: Jan Fev Mar. Đây không phải là định dạng thuận tiện cho việc áp dụng tính toán tổng hợp (tức là tổng, giao dịch trung bình) trong SQL. Dữ liệu cần được huỷ tổng hợp để mỗi cột trở thành một hàng trong bảng BigQuery. Công thức này tận dụng hàm huỷ tổng hợp để chuyển 3 cột thành 1 hàng cho mỗi tháng, nhờ đó dễ dàng áp dụng các phép tính nhóm hơn nữa.
- Tính toán giá trị giao dịch trung bình theo khách hàng, sản phẩm và ngày: Chúng tôi muốn tính giá trị giao dịch trung bình cho mỗi khách hàng, sản phẩm và dữ liệu. Chúng ta có thể sử dụng hàm Tổng hợp và tạo bảng mới (lựa chọn "Nhóm theo dưới dạng bảng mới"). Trong trường hợp đó, dữ liệu được tổng hợp ở cấp nhóm và chúng tôi sẽ mất thông tin chi tiết của từng giao dịch riêng lẻ. Hoặc chúng ta có thể quyết định giữ cả thông tin chi tiết và giá trị tổng hợp trong cùng một tập dữ liệu (lựa chọn "Nhóm theo thành(các) cột mới") trở nên rất thuận tiện khi áp dụng một tỷ lệ (tức là tỷ lệ phần trăm đóng góp của danh mục sản phẩm vào tổng doanh thu). Bạn có thể thử hành vi này bằng cách chỉnh sửa công thức nấu ăn ở bước 7 và chọn tùy chọn "Nhóm theo dưới dạng bảng mới" hoặc "Nhóm theo dưới dạng(các) cột mới" để thấy sự khác biệt.
- Ngày tham gia đặt giá: Cuối cùng, lệnh join được dùng để kết hợp nhiều tập dữ liệu thành một tập dữ liệu lớn hơn thêm cột vào tập dữ liệu ban đầu. Ở bước này, dữ liệu đặt giá được kết hợp với kết quả của Công thức dữ liệu giao dịch dựa trên "Pricing Data.Product Code" (Dữ liệu giá sản phẩm). = Dữ liệu giao dịch.SKU' và "Pricing Data.Price Date" (Ngày đăng giá và giá) = "Ngày Data.Fiscal" (Dữ liệu giao dịch)
Để tìm hiểu thêm về các hành động biến đổi mà bạn có thể áp dụng bằng Dataprep, hãy xem Bản tóm tắt về cách phân tích dữ liệu của Trifacta
8. Khám phá Công thức liên kết với giản đồ
Công thức cuối cùng, Schema Mapping đảm bảo rằng bảng CDM kết quả khớp với giản đồ của bảng đầu ra BigQuery hiện tại. Ở đây, chức năng Mục tiêu nhanh được dùng để định dạng lại cấu trúc dữ liệu cho phù hợp với bảng BigQuery bằng cách sử dụng phương pháp so khớp mờ nhằm so sánh cả hai giản đồ và áp dụng các thay đổi tự động.
9. Hợp nhất trong một cấu trúc
Hiện tại, các nguồn và đích đến đã được định cấu hình cũng như các bước của quy trình đã được khám phá, bạn có thể chạy quy trình để chuyển đổi và tải bảng CDM vào BigQuery.
- Chạy đầu ra Schema Mapping: Trong chế độ xem luồng, chọn đối tượng đầu ra Schema Mapping và nhấp vào "Run" (Chạy) trong bảng điều khiển Chi tiết. Chọn "Trifacta Photon" Môi trường đang chạy và bỏ chọn Bỏ qua lỗi công thức. Sau đó, nhấp vào nút Run (Chạy). Nếu bảng BigQuery được chỉ định tồn tại, Dataprep sẽ thêm các hàng mới, nếu không thì Dataprep sẽ tạo bảng mới.
- Xem trạng thái công việc: Dataprep tự động mở trang Chạy công việc để bạn có thể theo dõi thực thi công việc. Có thể mất vài phút để tiếp tục và tải bảng BigQuery. Khi công việc hoàn tất, kết quả CDM định giá sẽ được tải trong BigQuery ở định dạng rõ ràng, có cấu trúc và chuẩn hoá để sẵn sàng phân tích.
10. Cung cấp số liệu phân tích và ML/AI
Điều kiện tiên quyết đối với Analytics
Để chạy một số số liệu phân tích và mô hình dự đoán với những kết quả thú vị, chúng tôi đã tạo một tập dữ liệu lớn hơn và phù hợp để khám phá thông tin chi tiết cụ thể. Bạn cần tải dữ liệu này lên tập dữ liệu BigQuery trước khi tiếp tục hướng dẫn này.
- Tải tập dữ liệu lớn từ kho lưu trữ GitHub này xuống
- Trong Google Console cho BigQuery, hãy chuyển đến dự án và tập dữ liệu CDM_Pricing của bạn.
- Nhấp vào trình đơn và Mở Tập dữ liệu. Chúng ta sẽ tạo bảng bằng cách tải dữ liệu từ một tệp cục bộ.
Nhấp vào nút + Tạo bảng rồi xác định các thông số sau:
- Tạo bảng sau khi tải lên và chọn tệp CDM_Pricing_Large_Table.csv
- Tự động phát hiện giản đồ, kiểm tra giản đồ và tham số đầu vào
- Tuỳ chọn nâng cao, Tuỳ chọn ghi, Ghi đè bảng
- Nhấp vào Tạo bảng
Sau khi tạo bảng và tải dữ liệu lên, trong Google Console cho BigQuery, bạn sẽ thấy thông tin chi tiết về bảng mới như minh hoạ dưới đây. Nhờ dữ liệu đặt giá trong BigQuery, chúng tôi có thể dễ dàng đặt các câu hỏi toàn diện hơn để phân tích dữ liệu đặt giá của bạn ở cấp độ chi tiết hơn.
11. Xem tác động của việc thay đổi giá
Một ví dụ về vấn đề bạn nên phân tích là sự thay đổi trong hành vi của đơn đặt hàng khi trước đó bạn đã thay đổi giá của một mặt hàng.
- Trước tiên, bạn tạo một bảng tạm thời có một dòng mỗi khi giá của một sản phẩm thay đổi, kèm theo thông tin về giá của sản phẩm cụ thể đó, chẳng hạn như số lượng mặt hàng đã được đặt mua theo từng mức giá và tổng doanh số ròng tương ứng với mức giá đó.
create temp table price_changes as (
select
product_id,
list_price_converged,
total_ordered_pieces,
total_net_sales,
first_price_date,
lag(list_price_converged) over(partition by product_id order by first_price_date asc) as previous_list,
lag(total_ordered_pieces) over(partition by product_id order by first_price_date asc) as previous_total_ordered_pieces,
lag(total_net_sales) over(partition by product_id order by first_price_date asc) as previous_total_net_sales,
lag(first_price_date) over(partition by product_id order by first_price_date asc) as previous_first_price_date
from (
select
product_id,list_price_converged,sum(invoiced_quantity_in_pieces) as total_ordered_pieces, sum(net_sales) as total_net_sales, min(fiscal_date) as first_price_date
from `{{my_project}}.{{my_dataset}}.CDM_Pricing` AS cdm_pricing
group by 1,2
order by 1, 2 asc
)
);
select * from price_changes where previous_list is not null order by product_id, first_price_date desc
- Tiếp theo, khi sử dụng bảng tạm thời, bạn có thể tính toán mức thay đổi giá trung bình giữa các SKU:
select avg((previous_list-list_price_converged)/nullif(previous_list,0))*100 as average_price_change from price_changes;
- Cuối cùng, bạn có thể phân tích điều gì xảy ra sau khi giá thay đổi bằng cách xem xét mối quan hệ giữa từng thay đổi về giá và tổng số lượng mặt hàng đã được đặt hàng:
select
(total_ordered_pieces-previous_total_ordered_pieces)/nullif(previous_total_ordered_pieces,0)
với tư cách là
price_changes_percent_ordered_change,
(list_price_converged-previous_list)/nullif(previous_list,0)
với tư cách là
price_changes_percent_price_change
from price_changes
12. Xây dựng mô hình dự báo chuỗi thời gian
Tiếp theo, nhờ các chức năng học máy tích hợp sẵn của BigQuery, bạn có thể tạo mô hình dự báo chuỗi thời gian ARIMA để dự đoán số lượng của từng mặt hàng sẽ bán.
- Trước tiên, bạn tạo một mô hình ARIMA_PLUS
create or replace `{{my_project}}.{{my_dataset}}.bqml_arima`
options
(model_type = 'ARIMA_PLUS',
time_series_timestamp_col = 'fiscal_date',
time_series_data_col = 'total_quantity',
time_series_id_col = 'product_id',
auto_arima = TRUE,
data_frequency = 'AUTO_FREQUENCY',
decompose_time_series = TRUE
) as
select
fiscal_date,
product_id,
sum(invoiced_quantity_in_pieces) as total_quantity
from
`{{my_project}}.{{my_dataset}}.CDM_Pricing`
group by 1,2;
- Tiếp theo, bạn sử dụng hàm ML.Dự đoán để dự đoán doanh số bán hàng trong tương lai cho từng sản phẩm:
select
*
from
ML.FORECAST(model testing.bqml_arima,
struct(30 as horizon, 0.8 as confidence_level));
- Với những dự đoán có sẵn này, bạn có thể cố gắng hiểu điều gì có thể xảy ra nếu bạn tăng giá. Ví dụ: nếu tăng giá của mọi sản phẩm lên 15%, bạn có thể tính tổng doanh thu ước tính cho tháng tiếp theo bằng một truy vấn như sau:
select
sum(forecast_value * list_price) as total_revenue
from ml.forecast(mode testing.bqml_arima,
struct(30 as horizon, 0.8 as confidence_level)) forecasts
left join (select product_id,
array_agg(list_price_converged
order by fiscal_date desc limit 1)[offset(0)] as list_price
from `leigha-bq-dev.retail.cdm_pricing` group by 1) recent_prices
using (product_id);
13. Tạo báo cáo
Giờ đây, dữ liệu giá chưa chuẩn hoá của bạn được tập trung vào BigQuery và bạn đã hiểu cách chạy các truy vấn có ý nghĩa dựa trên dữ liệu này, đã đến lúc tạo báo cáo để người dùng doanh nghiệp khám phá và hành động dựa trên thông tin này.
Nếu đã có thực thể Looker, bạn có thể dùng LookML trong kho lưu trữ GitHub để bắt đầu phân tích dữ liệu về giá cho mẫu này. Bạn chỉ cần tạo một dự án Looker mới, thêm LookML rồi thay thế kết nối và tên bảng trong mỗi tệp chế độ xem để khớp với cấu hình BigQuery của bạn.
Trong mô hình này, bạn sẽ tìm thấy bảng xuất phát ( trong tệp chế độ xem này) mà chúng tôi đã trình bày trước đó để tìm hiểu các thay đổi về giá:
view: price_changes {
derived_table: {
sql: select
product_id,
list_price_converged,
total_ordered_pieces,
total_net_sales,
first_price_date,
lag(list_price_converged) over(partition by product_id order by first_price_date asc) as previous_list,
lag(total_ordered_pieces) over(partition by product_id order by first_price_date asc) as previous_total_ordered_pieces,
lag(total_net_sales) over(partition by product_id order by first_price_date asc) as previous_total_net_sales,
lag(first_price_date) over(partition by product_id order by first_price_date asc) as previous_first_price_date
from (
select
product_id,list_price_converged,sum(invoiced_quantity_in_pieces) as total_ordered_pieces, sum(net_sales) as total_net_sales, min(fiscal_date) as first_price_date
from ${cdm_pricing.SQL_TABLE_NAME} AS cdm_pricing
group by 1,2
order by 1, 2 asc
)
;;
}
...
}
Cũng như mô hình BigQuery ML ARIMA mà chúng tôi đã trình bày trước đó, để dự đoán doanh số bán hàng trong tương lai ( trong tệp chế độ xem này)
view: arima_model { derived_table: { persist_for: "24 hours" sql_create: create or replace model ${sql_table_name} options (model_type = 'arima_plus', time_series_timestamp_col = 'fiscal_date', time_series_data_col = 'total_quantity', time_series_id_col = 'product_id', auto_arima = true, data_frequency = 'auto_frequency', decompose_time_series = true ) as select fiscal_date, product_id, sum(invoiced_quantity_in_pieces) as total_quantity from ${cdm_pricing.sql_table_name} group by 1,2 ;; } } ... }
LookML cũng chứa một trang tổng quan mẫu. Bạn có thể truy cập phiên bản minh hoạ của trang tổng quan này tại đây. Phần đầu tiên của trang tổng quan cung cấp cho người dùng thông tin tổng quát về những thay đổi trong doanh số, chi phí, giá và lợi nhuận. Là người dùng doanh nghiệp, bạn nên tạo cảnh báo để biết liệu doanh số có giảm xuống dưới X% hay không vì điều này có thể đồng nghĩa với việc bạn nên giảm giá.
Phần tiếp theo được minh hoạ bên dưới, giúp người dùng tìm hiểu sâu hơn về các xu hướng liên quan đến việc thay đổi giá. Tại đây, bạn có thể xem chi tiết một số sản phẩm để xem giá niêm yết chính xác và những mức giá đã thay đổi. Việc này có thể giúp bạn xác định chính xác các sản phẩm cụ thể để nghiên cứu thêm.
Cuối cùng, ở cuối báo cáo, bạn sẽ thấy kết quả của mô hình BigQueryML. Khi sử dụng các bộ lọc ở đầu trang tổng quan Looker, bạn có thể dễ dàng nhập tham số để mô phỏng nhiều tình huống tương tự như mô tả ở trên. Ví dụ: xem điều gì sẽ xảy ra nếu số lượng đơn đặt hàng giảm xuống còn 75% giá trị dự đoán và giá của tất cả sản phẩm tăng 25%, như minh hoạ dưới đây
Việc này sử dụng các tham số trong LookML, sau đó được kết hợp trực tiếp vào các phép tính đo lường tìm thấy tại đây. Khi dùng loại báo cáo này, bạn có thể tìm thấy mức giá tối ưu cho tất cả sản phẩm hoặc tìm hiểu chi tiết về một số sản phẩm để xác định xem bạn nên tăng hay giảm giá và kết quả tổng doanh thu và doanh thu ròng.
14. Điều chỉnh cho phù hợp với hệ thống định giá của bạn
Mặc dù hướng dẫn này có biến đổi các nguồn dữ liệu mẫu, nhưng bạn cũng sẽ gặp những thách thức tương tự về dữ liệu đối với thành phần giá đang có trên nhiều nền tảng. Thành phần giá có nhiều định dạng xuất (thường là xls, trang tính, csv, txt, cơ sở dữ liệu quan hệ, ứng dụng dành cho doanh nghiệp) để cung cấp kết quả tóm tắt và chi tiết, mỗi định dạng có thể được kết nối với Dataprep. Bạn nên bắt đầu bằng cách mô tả các yêu cầu chuyển đổi của mình tương tự như các ví dụ được cung cấp ở trên. Sau khi làm rõ quy cách và xác định các loại hành động biến đổi cần thiết, bạn có thể thiết kế các hành động biến đổi đó bằng Dataprep.
- Tạo bản sao của luồng Dataprep (nhấp vào nút **... "**thêm" ở bên phải của luồng và chọn mục Sao chép) mà bạn sẽ tùy chỉnh hoặc chỉ cần bắt đầu từ đầu bằng cách sử dụng luồng Dataprep mới.
- Kết nối với tập dữ liệu đặt giá của riêng bạn. Các định dạng tệp như Excel, CSV, Google Trang tính, JSON được Dataprep hỗ trợ sẵn. Bạn cũng có thể kết nối với các hệ thống khác bằng trình kết nối Dataprep.
- Điều phối các thành phần dữ liệu của bạn vào các danh mục chuyển đổi mà bạn đã xác định. Đối với mỗi danh mục, hãy tạo một công thức nấu ăn. Hãy tìm cảm hứng từ quy trình được cung cấp trong mẫu thiết kế này để biến đổi dữ liệu và viết công thức nấu ăn của riêng bạn. Đừng lo nếu bạn gặp khó khăn, hãy yêu cầu trợ giúp trong hộp thoại trò chuyện ở phía dưới cùng bên trái màn hình Dataprep.
- Kết nối công thức của bạn với phiên bản BigQuery. Bạn không cần lo lắng về việc tạo bảng theo cách thủ công trong BigQuery, Dataprep sẽ tự động xử lý bảng cho bạn. Khi thêm kết quả vào luồng, bạn nên chọn một Đích đến thủ công và thả bảng vào mỗi lần chạy. Hãy thử nghiệm từng công thức riêng lẻ cho đến khi bạn đạt được kết quả mong đợi. Sau khi kiểm thử xong, bạn sẽ chuyển đổi đầu ra thành Thêm vào bảng trong mỗi lần chạy để tránh xoá dữ liệu trước đó.
- Bạn có thể tuỳ ý liên kết luồng để chạy theo lịch. Đây là thông tin hữu ích nếu quy trình của bạn cần chạy liên tục. Bạn có thể xác định lịch tải phản hồi hằng ngày hoặc hằng giờ dựa trên độ mới bắt buộc. Nếu quyết định chạy luồng theo lịch biểu, bạn cần thêm Lên lịch đầu ra đích trong luồng cho từng công thức.
Sửa đổi mô hình học máy của BigQuery
Hướng dẫn này cung cấp một mô hình ARIMA mẫu. Tuy nhiên, có các tham số bổ sung mà bạn có thể kiểm soát khi phát triển mô hình để đảm bảo rằng mô hình phù hợp nhất với dữ liệu của bạn. Bạn có thể xem thêm chi tiết trong ví dụ trong tài liệu của chúng tôi tại đây. Ngoài ra, bạn cũng có thể sử dụng các hàm ML.ARIMA_EVALUATE, ML.ARIMA_COEFFICIENTS và ML.EXPLAIN_FORECAST của BigQuery để xem thêm thông tin chi tiết về mô hình của mình và đưa ra quyết định tối ưu hoá.
Chỉnh sửa báo cáo Looker
Sau khi nhập LookML vào dự án của riêng mình như mô tả ở trên, bạn có thể chỉnh sửa trực tiếp để thêm các trường bổ sung, sửa đổi phép tính hoặc thông số do người dùng nhập và thay đổi hình ảnh trực quan trên trang tổng quan cho phù hợp với nhu cầu kinh doanh. Bạn có thể xem thông tin chi tiết về quá trình phát triển trong LookML tại đây và trực quan hoá dữ liệu trong Looker tại đây.
15. Xin chúc mừng
Giờ đây, bạn đã biết các bước quan trọng cần thiết để tối ưu hoá sản phẩm bán lẻ của mình giá!
Tiếp theo là gì?
Khám phá các mẫu tham khảo phân tích thông minh khác
Tài liệu đọc thêm
- Đọc blog tại đây
- Tìm hiểu thêm về Dataprep tại đây
- Tìm hiểu thêm về Công nghệ học máy BigQuery tại đây
- Tìm hiểu thêm về Looker tại đây