Phân tích chuỗi Markov

Hàm thống kê chuỗi Markov sử dụng các phương pháp xác suất để chỉ định giá trị đóng góp trên các điểm tiếp xúc quảng cáo dựa trên mức đóng góp được mô hình hoá của các điểm tiếp xúc đó vào khả năng người dùng chuyển đổi. Kết quả của hàm thử nghiệm này có thể hữu ích trong việc phân bổ giá trị đóng góp cho một kênh quảng cáo, chiến dịch hoặc điểm tiếp xúc khác, dựa trên mức đóng góp được mô hình hoá của các kênh, chiến dịch hoặc điểm tiếp xúc đó đối với các sự kiện chuyển đổi

Cách hoạt động

Hàm thống kê chuỗi Markov sử dụng dữ liệu quảng cáo của bạn để tạo một chuỗi Markov, trong đó mỗi đỉnh trong biểu đồ đã sắp xếp đại diện cho một điểm tiếp xúc và mỗi cạnh cho biết xác suất chuyển sang điểm tiếp xúc tiếp theo, với điều kiện là đang ở điểm tiếp xúc hiện tại đó. Phương pháp này giả định rằng chỉ điểm tiếp xúc hiện tại mới ảnh hưởng đến xác suất chuyển đổi. Sau đó, hệ thống sẽ tính toán mức đóng góp của từng điểm tiếp xúc bằng cách xoá điểm tiếp xúc đó khỏi biểu đồ và tính toán xác suất chuyển đổi được mô hình hoá sau khi xoá điểm tiếp xúc đó.

Quy định hạn chế về quyền riêng tư

Điểm tiếp xúc phải có ít nhất 50 người dùng chuyển đổi và 50 người dùng không chuyển đổi để không bị bộ lọc quyền riêng tư xoá. Ngoài ra, những người dùng ngoại lai đóng góp một lượng giá trị đóng góp không tương xứng cho một điểm tiếp xúc có thể bị lọc ra. Do đó, kết quả của mô hình chuỗi Markov có thể thiếu một số điểm tiếp xúc có trong bảng điểm tiếp xúc đầu vào.

Thông báo về quyền riêng tư sẽ xuất hiện sau mỗi lần lặp lại của mô hình chuỗi Markov. Các thông báo này bao gồm thông tin về người dùng và các điểm tiếp xúc đã được lọc.

Tổng quan về cách tính toán giá trị chuỗi Markov

  1. Tạo bảng điểm tiếp xúc và bảng giá trị đóng góp:
    1. touchpoint_temp_table.
    2. user_credit_temp_table.
  2. Gọi hàm có giá trị kiểu bảng ADH.TOUCHPOINT_ANALYSIS bằng cách sử dụng các bảng tạm thời ở trên làm đối số.

Tạo bảng điểm tiếp xúc và bảng ghi công

Tạo bảng điểm tiếp xúc

Bảng điểm tiếp xúc là nơi xác định các sự kiện của người dùng liên quan đến điểm tiếp xúc. Dữ liệu mẫu có thể bao gồm nhưng không giới hạn ở: campaign_id, creative_id, placement_id hoặc site_id.

Bảng này phải chứa các cột sau:

Tên cột Loại
touchpoint string
Tên điểm tiếp xúc tuỳ ý. (Không được là NULL hoặc chứa dấu phẩy.)
user_id string
Mã nhận dạng của người dùng truy cập vào điểm tiếp xúc. (Không được là NULL hoặc 0.)
event_time int
Thời gian người dùng truy cập vào điểm tiếp xúc. (Không được để trống.)

Mã mẫu để tạo bảng:

CREATE TABLE touchpoint_temp_table
AS (
  SELECT user_id, event.event_time, CAST(event.site_id AS STRING) AS touchpoint
  FROM adh.cm_dt_impressions
  WHERE
    event.event_type IN ('VIEW')
    AND user_id <> '0'
    AND event.campaign_id IN UNNEST(@campaign_ids)

  UNION ALL

    SELECT
      user_id, event.event_time, CAST(event.site_id AS STRING) AS touchpoint
    FROM adh.cm_dt_clicks
    WHERE
      event.event_type IN ('CLICK')
      AND user_id <> '0'
      AND event.campaign_id IN UNNEST(@campaign_ids)
);

Tạo bảng tín dụng của người dùng

Bảng giá trị đóng góp của người dùng là nơi xác định các sự kiện chuyển đổi. Các sự kiện xảy ra sau lượt chuyển đổi được coi là sự kiện không phải lượt chuyển đổi.

Bảng này phải chứa các cột sau:

Tên cột Loại
user_id string
Mã nhận dạng của người dùng truy cập vào điểm tiếp xúc. (Không được là NULL hoặc 0.)
event_time int
Thời gian diễn ra sự kiện đóng góp. (Không được để trống.)
credit integer
Số tiền tín dụng do người dùng đóng góp. Đây có thể là bất kỳ khoản tín dụng nào mà người dùng muốn phân tích. Ví dụ: giá trị lượt chuyển đổi, số lượt chuyển đổi, v.v. Giá trị này phải nằm trong khoảng từ 1 đến 100.

Mã mẫu để tạo bảng:


CREATE TABLE user_credit_temp_table AS (
  SELECT
    user_id,
    MAX(event.event_time) AS event_time,
    1 AS credit
  FROM adh.cm_dt_activities_attributed
  WHERE user_id <> '0'
    AND event.campaign_id IN UNNEST(@campaign_ids)
    AND DATE(TIMESTAMP_MICROS(event.event_time)) BETWEEN @start_date AND @end_date
    AND event.activity_id IN UNNEST (@activity_ids)
  GROUP BY user_id
);

Hàm có giá trị kiểu bảng

Hàm có giá trị kiểu bảng là một hàm trả về một bảng. Do đó, bạn có thể truy vấn hàm có giá trị kiểu bảng như cách bạn truy vấn một bảng thông thường.

Cú pháp

ADH.TOUCHPOINT_ANALYSIS(TABLE touchpoints_tmp_table_name, TABLE credits_tmp_table_name, STRING model_name)

Đối số

Tên
touchpoints_tmp_table_name Tên của bảng điểm tiếp xúc tạm thời do ứng dụng tạo. Bảng bắt buộc phải có giản đồ chứa các cột của touchpoint, user_idevent_time.
credits_tmp_table_name Tên của bảng tín dụng người dùng tạm thời do ứng dụng tạo. Bảng bắt buộc phải có giản đồ chứa các cột user_id, creditconversion_time.
model string
Phải là MARKOV_CHAINS.

Bảng đầu ra

Bảng đầu ra sẽ chứa giản đồ sau:

Tên cột Loại
touchpoint string
Tên điểm tiếp xúc.
score integer
Điểm chuỗi Markov được tính cho điểm tiếp xúc này.

Mã mẫu để sử dụng hàm có giá trị kiểu bảng

SELECT *
FROM ADH.TOUCHPOINT_ANALYSIS(
  TABLE tmp.touchpoint_temp_table,
  TABLE tmp.user_credit_temp_table,
  'MARKOV_CHAINS')