Tối ưu hoá giá của sản phẩm bán lẻ

1. Giới thiệu

Lần cập nhật gần đây nhất: ngày 15 tháng 9 năm 2021

Dữ liệu cần thiết để thúc đẩy thông tin chi tiết về giá và việc tối ưu hoá là khác nhau về bản chất (các hệ thống khác nhau, thực tế ở địa phương khác nhau, v.v.). Vì vậy, việc phát triển một bảng CDM có cấu trúc, được chuẩn hoá và rõ ràng là rất quan trọng. Điều này bao gồm các thuộc tính chính để tối ưu hoá giá, chẳng hạn như 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 nêu bên dưới, giúp bạn nhanh chóng bắt đầu phân tích giá mà bạn có thể mở rộng và tuỳ chỉnh cho phù hợp với nhu cầu của riêng mình. Sơ đồ sau đây trình bày các bước được đề cập trong tài liệu này.

dd8545e0c9156b13.png

  1. Đánh giá nguồn dữ liệu: Trước tiên, bạn phải lập danh sách các nguồn dữ liệu sẽ được 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ụ: thiếu và không khớp giá trị, quy ước đặt tên không nhất quán, trùng lặp, vấn đề về tính toàn vẹn của dữ liệu, giá trị ngoại lệ, v.v.
  2. 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 tính chính xác, tính toàn vẹn, tính nhất quán và tính đầy đủ của dữ liệu. Quy trình này có thể bao gồm nhiều quy tắc chuyển đổi trong Dataprep, chẳng hạn như định dạng ngày, chuẩn hoá giá trị, chuyển đổi đơn vị, lọc ra các trường và giá trị không cần thiết, đồng thời phân tách, kết hợp hoặc loại bỏ dữ liệu trùng lặp trong dữ liệu nguồn.
  3. Hợp nhất trong một cấu trúc: Giai đoạn tiếp theo của pipeline sẽ kết hợp từng nguồn dữ liệu thành một bảng duy nhất, rộng trong BigQuery chứa tất cả các thuộc tính ở mức độ chi tiết nhất. Cấu trúc được chuẩn hoá này cho phép các truy vấn phân tích hiệu quả mà không cần các thao tác kết hợp.
  4. Cung cấp thông tin phân tích và ML/AI: Sau khi dữ liệu được làm sạch và định dạng để phân tích, các nhà phân tích có thể khám phá dữ liệu trong quá khứ để hiểu rõ tác động của những thay đổi trước đó về giá. Ngoài ra, bạn có thể dùng BigQuery ML để tạo các mô hình dự đoán nhằm ước tính doanh số bán hàng trong tương lai. Đầu ra của các mô hình này có thể được kết hợp vào trang tổng quan trong Looker để tạo "tình huống giả định" trong đó người dùng doanh nghiệp có thể phân tích doanh số bán hàng có thể đạt được khi có một số thay đổi về giá.

Sơ đồ sau đây cho thấy các thành phần của Google Cloud được dùng để xây dựng Quy trình phân tích tối ưu hoá giá.

e5d74e43074eedf4.png

Sản phẩm bạn sẽ tạo ra

Tại đây, chúng tôi sẽ hướng dẫn bạn cách thiết kế một kho dữ liệu tối ưu hoá giá, tự động hoá quá trình 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 các thay đổi đối với giá sản phẩm và phát triển 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 các nguồn dữ liệu để phân tích giá, 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 tạo một quy trình Dataprep để tạo bảng CDM (Trình quản lý thiết bị đồng hành) trong kho dữ liệu BigQuery.
  • 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 về giá và doanh số bán hàng trong quá khứ, đồng thời nắm được mức độ tác động của những thay đổi về giá trong tương lai.

Bạn cần có

2. Tạo CDM trong BigQuery

Trong phần này, bạn sẽ tạo Mô hình dữ liệu chung (CDM), cung cấp một chế độ xem hợp nhất về thông tin mà bạn cần để phân tích và đề xuất thay đổi về giá.

  1. Mở bảng điều khiển BigQuery.
  2. Chọn dự án mà bạn muốn dùng để kiểm thử mẫu tham chiếu này.
  3. Sử dụng một tập dữ liệu hiện có hoặc tạo một tập dữ liệu BigQuery. Đặt tên cho tập dữ liệu Pricing_CDM.
  4. 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ínhBigQuery.

  • Trang tính giao dịch trên Google Trang tính 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ố và các chi phí liên quan.
  • Bảng tính Google Trang tính định giá sản phẩm chứa giá của từng sản phẩm cho một khách hàng cụ thể trong mỗi tháng.
  • Bảng BigQuery company_descriptions chứa thông tin của từng khách hàng.

Bạn có thể tạo bảng BigQuery company_descriptions bằ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. Xây dựng quy trình

Trong bước này, bạn sẽ 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 pipeline hoặc một đối tượng kết hợp các tập dữ liệu và công thức được dùng để chuyển đổi và kết hợp các tập dữ liệu đó.

  1. Tải gói luồng Mẫu tối ưu hoá giá xuống từ GitHub nhưng không giải nén gói này. 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.
  2. Trong Dataprep, hãy nhấp vào biểu tượng Luồng trong thanh điều hướng bên trái. Sau đó, trong chế độ xem Luồng, hãy chọn Nhập trong trình đơn theo bối cảnh. Sau khi nhập luồng, bạn có thể chọn luồng đó để xem và chỉnh sửa.

dd5213e4cf1e313f.png

  1. Ở bên trái của luồng, bạn phải kết nối Giá sản phẩm và từng Trang tính trong số 3 Trang tính Giao dịch của Google 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 tập dữ liệu Google Trang tính rồi chọn Thay thế. Sau đó, hãy nhấp vào đường liên kết Nhập tập dữ liệu. Nhấp vào biểu tượng bút chì "Chỉnh sửa đường dẫn", như minh hoạ trong sơ đồ sau.

7e4af3e82955343f.png

Thay thế giá trị hiện tại bằng đường liên kết trỏ đến giao dịchgiá sản phẩm trong Google Trang tính .

Khi Google Trang tính có 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 các Tab mà bạn muốn 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 luồng. Khi bạn quay lại cửa sổ phương thức, hãy nhấp vào Thay thế. Trong luồng 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 riêng biệt trong một công thức sau này.

799bce35e0a60e87.png

  1. Xác định các bảng đầu ra của BigQuery:

Trong bước này, bạn sẽ liên kết vị trí của bảng đầu ra CDM_Pricing BigQuery sẽ được tải mỗi khi bạn chạy công việc Dataoprep.

Trong Chế độ xem luồng, hãy nhấp vào biểu tượng Đầu ra của ánh xạ lược đồ. Trong Bảng điều khiển chi tiết, hãy nhấp vào thẻ Đích đến. Từ đó, hãy chỉnh sửa cả đầu ra Đích đến thủ công dùng để kiểm thử và đầu ra Đích đến theo lịch 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:

  1. Chỉnh sửa "Đích đến thủ công" Trong bảng Chi tiết, trong phần Đích đế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 phần Thao tác xuất bản, nếu đã có thao tác xuất bản, hãy chỉnh sửa thao tác đó, nếu không, hãy nhấp vào nút Thêm thao tác. Từ đó, hãy chuyển đến tập dữ liệu BigQuery mà bạn đã tạo ở bước trước rồi chọn bảng CDM_Pricing.Pricing_CDM Xác nhận rằng bạn đã đánh dấu vào Thêm vào bảng này mỗi lần chạy rồi nhấp vào Thêm. Nhấp vào Lưu chế độ cài đặt.
  2. Chỉnh sửa "Đích đến theo lịch"

Trong bảng Chi tiết, trong phần Điểm đến theo 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ừ chế độ cài đặt Điểm đến thủ công và bạn không cần thay đổi gì cả. Nhấp vào Lưu chế độ cài đặt.

5. Chuẩn hoá dữ liệu

Luồng được cung cấp sẽ hợp nhất, đị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ả về công ty và dữ liệu tổng hợp về giá để báo cáo. Tại đây, bạn sẽ tìm hiểu các thành phần của quy trình này, như trong hình bên dưới.

a033de41c68acc8b.png

6. Khám phá công thức về dữ liệu giao dịch

Trước tiên, bạn sẽ khám phá 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 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 chuyể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 trong Công thức và chọn Chuyển đến mục đã chọn hoặc Chỉnh sửa để khám phá cách hoạt động của quá trình chuyển đổi.

  1. Hợp nhất giao dịch: Bước đầu tiên trong công thức dữ liệu giao dịch là hợp nhất các giao dịch được lưu trữ trong nhiều trang tính, mỗi trang tính đại diện cho một tháng.
  2. Chuẩn hoá nội dung mô tả của khách hàng: Bước tiếp theo trong công thức này là chuẩn hoá nội dung mô tả của khách hàng. Điều này có nghĩa là tên khách hàng có thể tương tự nhau nhưng có một số thay đổi nhỏ và chúng tôi muốn chuẩn hoá tên của họ thành một tên. Công thức này minh hoạ 2 phương pháp tiềm năng. Trước tiên, thuật toán 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 lựa chọn chuẩn hoá, chẳng hạn như "Chuỗi tương tự" (các giá trị có ký tự giống nhau được nhóm lại với nhau) hoặc "Cách phát âm" (các giá trị có cách phát âm 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 tham chiếu ở trên bằng mã công ty.

Bạn có thể khám phá thêm công thức để tìm hiểu các 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 các hàm tìm kiếm, 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 về dữ liệu định giá sản phẩm

Tiếp theo, bạn có thể khám phá những gì xảy ra trong Công thức dữ liệu về 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Á ở đầu trang để đóng Trang biến đổi và quay lại Chế độ xem quy trình. Tại đó, hãy nhấp vào đối tượng Dữ liệu định giá sản phẩm rồi chỉnh sửa Công thức.

  1. Chuyển đổi cột giá theo tháng thành hàng: Nhấp vào công thức ở giữa bước 2 và 3 để xem dữ liệu trông như thế nào trước bước Chuyển đổi thành hàng. 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 phép tính tổng hợp (tức là tổng, giá trị trung bình của giao dịch) trong SQL. Bạn cần phải chuyển đổi dữ liệu để 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 unpivot để biến đổi 3 cột thành một hàng cho mỗi tháng, nhờ đó, bạn có thể dễ dàng áp dụng các phép tính nhóm hơn nữa.
  2. Tính 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à ngày. Chúng ta có thể sử dụng hàm Tổng hợp và tạo một bảng mới (lựa chọn "bộ lọc 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 ta 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 "bộ lọc nhóm theo dưới dạng(các) cột mới"). Điều này rất thuận tiện để áp dụng tỷ lệ (tức là tỷ lệ đó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 bước 7 của công thức và chọn mục "bộ lọc nhóm theo" dưới dạng bảng mới hoặc "bộ lọc nhóm theo" dưới dạng(các) cột mới để xem sự khác biệt.
  3. Ngày kết hợp giá: Cuối cùng, một thao tác join (kết hợp) đượ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 bằng cách thêm các cột vào tập dữ liệu ban đầu. Trong bước này, dữ liệu về giá được kết hợp với đầu ra của Công thức dữ liệu giao dịch dựa trên "Dữ liệu về giá.Mã sản phẩm" = "Dữ liệu giao dịch.SKU" và "Dữ liệu về giá.Ngày định giá" = "Dữ liệu giao dịch.Ngày tài chính"

Để tìm hiểu thêm về các phép biến đổi mà bạn có thể áp dụng bằng Dataprep, hãy xem Bảng thông tin tóm tắt về việc sắp xếp 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 (Ánh xạ giản đồ) đả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 có. Ở đâ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 tính năng so khớp tương đối để 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 nhà

Giờ đây, sau khi định cấu hình nguồn và đích đến, đồng thời khám phá các bước của flow, bạn có thể chạy flow để chuyển đổi và tải bảng CDM vào BigQuery.

  1. Chạy đầu ra của Schema Mapping (Ánh xạ giản đồ): Trong chế độ xem luồng, hãy chọn đối tượng đầu ra Schema Mapping (Ánh xạ giản đồ) rồi nhấp vào nút "Run" (Chạy) trong bảng Details (Chi tiết). Chọn Môi trường chạy "Trifacta Photon" và bỏ chọn mục Bỏ qua lỗi công thức. Sau đó, hãy nhấp vào nút 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, Dataprep sẽ tạo một bảng mới.
  2. Xem trạng thái của lệnh: Dataprep tự động mở trang Chạy lệnh để bạn có thể theo dõi quá trình thực thi lệnh. Quá trình này sẽ mất vài phút để tiếp tục và tải bảng BigQuery. Khi hoàn tất, đầu ra CDM định giá sẽ được tải vào BigQuery ở định dạng rõ ràng, có cấu trúc và được 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 về Analytics

Để chạy một số số liệu phân tích và mô hình dự đoán với 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.

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 từ tệp 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à các tham số đầu vào
  • Tuỳ chọn nâng cao, Lựa chọn ưu tiên ghi, Ghi đè bảng

ff9ec8b9f580b139.png

  • Nhấp vào Tạo bảng

Sau khi tạo bảng và tải dữ liệu lên, trong Bảng điều khiển Google cho BigQuery, bạn sẽ thấy thông tin chi tiết về bảng mới như minh hoạ dưới đây. Với dữ liệu về giá trong BigQuery, chúng ta có thể dễ dàng đặt những câu hỏi toàn diện hơn để phân tích dữ liệu về giá ở mức độ sâu hơn.

93e4c05972af1999.png

11. Xem hiệu quả của việc thay đổi giá

Một ví dụ về điều mà bạn có thể muốn phân tích là sự thay đổi trong hành vi đặt hàng khi bạn đã thay đổi giá của một mặt hàng trước đó.

  1. 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, cùng với thông tin về mức giá cụ thể của sản phẩm đó, chẳng hạn như số lượng mặt hàng được đặt hàng theo từng mức giá và tổng doanh số bán hàng ròng liên quan đến 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

b320ba40f0692826.png

  1. Tiếp theo, khi đã có bảng tạm thời, bạn có thể tính mức thay đổi giá trung bình trên các SKU:
select avg((previous_list-list_price_converged)/nullif(previous_list,0))*100 as average_price_change from price_changes;
  1. Cuối cùng, bạn có thể phân tích những gì xảy ra sau khi giá thay đổi bằng cách xem xét mối quan hệ giữa mỗi lần thay đổi giá và tổng số 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ự đoán chuỗi thời gian

Tiếp theo, nhờ các chức năng học máy tích hợp của BigQuery, bạn có thể xây dựng 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ẽ được bán.

  1. Trước tiên, bạn cầ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;
  1. Tiếp theo, bạn sử dụng hàm ML.FORECAST để dự đoán doanh số bán hàng trong tương lai của từng sản phẩm:
select
*
from
ML.FORECAST(model testing.bqml_arima,
            struct(30 as horizon, 0.8 as confidence_level));
  1. Khi có những dự đoán này, bạn có thể cố gắng tìm 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 thêm 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, khi dữ liệu giá đã được chuẩn hoá của bạn được tập trung trong BigQuery và bạn hiểu cách chạy các truy vấn có ý nghĩa đối với dữ liệu này, thì đã đến lúc bạn tạo một báo cáo để cho phép 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ó một thực thể Looker, bạn có thể sử dụng LookML trong kho lưu trữ này trên GitHub để bắt đầu phân tích dữ liệu định 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ốitên bảng trong mỗi tệp view (khung hiển thị) để 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 dẫn xuất ( trong tệp khung hiển thị này) mà chúng tôi đã cho bạn xem trước đó để kiểm tra 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 khung hiển thị 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 bảng điều khiển mẫu. Bạn có thể truy cập vào phiên bản minh hoạ của trang tổng quan 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 cấp cao về những thay đổi trong doanh số, chi phí, giá cả và lợi nhuận. Là người dùng doanh nghiệp, bạn có thể muốn tạo cảnh báo để biết liệu doanh số bán hàng có giảm xuống dưới X% hay không, vì điều này có thể có nghĩa là bạn nên giảm giá.

b531e169b192c111.png

Phần tiếp theo (xuất hiện bên dưới) cho phép người dùng tìm hiểu sâu hơn về các xu hướng liên quan đến thay đổi về giá. Tại đây, bạn có thể xem chi tiết các sản phẩm cụ thể để xem giá niêm yết chính xác và giá đã thay đổi thành – điều này có thể hữu ích khi xác định một số sản phẩm cụ thể để nghiên cứu thêm.

6a98666697aa7a1.gif

Cuối cùng, ở cuối báo cáo, bạn sẽ thấy kết quả của mô hình BigQueryML. Bằng cách sử dụng các bộ lọc ở đầu trang tổng quan Looker, bạn có thể dễ dàng nhập các thông số để mô phỏng các tình huống khác nhau 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 thêm 25%, như minh hoạ dưới đây

d3a9d37c89c39b99.gif

Điều này được hỗ trợ bởi các tham số trong LookML, sau đó được kết hợp trực tiếp vào các phép tính thông tin đo lường tại đây. Với loại báo cáo này, bạn có thể tìm ra mức giá tối ưu cho tất cả sản phẩm hoặc đi sâu vào một số sản phẩm để xác định nơi bạn nên tăng hoặc giảm giá và kết quả của việc này đối với doanh thu gộp và doanh thu thuần.

14. Thích ứng với hệ thống định giá của bạn

Mặc dù hướng dẫn này chuyển đổi các nguồn dữ liệu mẫu, nhưng bạn sẽ gặp phải những thách thức rất tương tự về dữ liệu đối với các tài sản định giá có trên nhiều nền tảng của bạn. Tài sản định 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 kinh doanh) cho kết quả tóm tắt và kết quả 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 về việc chuyển đổi tương tự như các ví dụ được cung cấp ở trên. Sau khi làm rõ các quy cách và xác định các loại phép biến đổi cần thiết, bạn có thể thiết kế chúng bằng Dataprep.

  1. Sao chép luồng Dataprep (nhấp vào nút **"... "**ở bên phải luồng rồi chọn tuỳ chọn Sao chép) mà bạn sẽ tuỳ chỉnh, hoặc chỉ cần bắt đầu từ đầu bằng cách sử dụng một luồng Dataprep mới.
  2. Kết nối với tập dữ liệu định giá của riêng bạn. Dataprep hỗ trợ các định dạng tệp như Excel, CSV, Google Trang tính, JSON. 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.
  3. Gửi tài sả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. Hãy lấy cảm hứng từ quy trình được cung cấp trong mẫu thiết kế này để chuyển đổi dữ liệu và viết công thức của riêng bạn. Nếu bạn gặp khó khăn, đừng lo lắng, hãy yêu cầu trợ giúp trong hộp thoại trò chuyện ở dưới cùng bên trái màn hình Dataprep.
  4. Kết nối công thức với phiên bản BigQuery của bạn. 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ý việc này cho bạn. Chúng tôi đề xuất khi bạn thêm đầu ra vào quy trình của mình, hãy chọn Điểm đến thủ công và Thả bảng ở mỗi lần chạ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 hoàn tất quá trình kiểm thử, bạn sẽ chuyển đổi đầu ra thành Thêm vào bảng ở mỗi lần chạy để tránh xoá dữ liệu trước đó.
  5. Bạn có thể tuỳ ý liên kết quy trình để chạy theo lịch. Đây là một điều 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 biểu để tải phản hồi mỗi ngày hoặc mỗi giờ dựa trên độ mới cần thiết. Nếu quyết định chạy quy trình theo lịch, bạn cần thêm một đầu ra đích đến theo lịch vào quy trình cho từng công thức.

Sửa đổi mô hình học máy BigQuery

Hướng dẫn này cung cấp một mô hình ARIMA mẫu. Tuy nhiên, có những tham số khác mà bạn có thể kiểm soát khi phát triển mô hình để đảm bảo mô hình phù hợp nhất với dữ liệu của bạn. Bạn có thể xem thêm thông tin 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_COEFFICIENTSML.EXPLAIN_FORECAST của BigQuery để biết thêm thông tin chi tiết về mô hì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 các 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 của mình. Bạn có thể tìm thấy thông tin chi tiết về phát triển trong LookML tại đâytrự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 chính cần thiết để tối ưu hoá giá của sản phẩm bán lẻ!

Tiếp theo là gì?

Khám phá các mẫu tham chiếu phân tích thông minh khác

Tài liệu đọc thêm