日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

窗口漏斗函數

日志服務提供窗口漏斗函數,可用于分析用戶行為、APP流量、產品目標轉化等數據。本文介紹窗口漏斗函數的基本語法和示例。

日志服務支持如下窗口漏斗函數。

重要 在日志服務分析語句中,表示字符串的字符必須使用單引號('')包裹,無符號包裹或被雙引號("")包裹的字符表示字段名或列名。例如:'status'表示字符串status,status"status"表示日志字段status。

函數名稱

語法

說明

支持SQL

支持SPL

window_funnel函數

window_funnel(sliding_window, timestamp, event_id, ARRAY[event_list01, event_list02...])

在滑動的時間窗口中搜索事件鏈并計算事件鏈中發生的最大連續的事件數。

如果數據中已定義事件列(event_id),可選擇該語法。

×

window_funnel(sliding_window, timestamp, ARRAY[event_id=event_list01, event_id=event_list02...])

在滑動的時間窗口中搜索事件鏈并計算事件鏈中發生的最大連續的事件數。

如果您想要自定義事件的非枚舉值,可選擇該語法,更具有靈活性。

×

原理

窗口漏斗函數用于在滑動的時間窗口中搜索事件鏈并計算事件鏈中發生的最大連續的事件數。根據您定義的事件鏈,從第一個事件開始匹配,依次做有序最長的匹配,返回最大連續事件數。

窗口漏斗函數所采用的算法的詳細說明如下:

  • 從事件鏈中的第一個事件開始并將事件計算器設置為1,然后開啟滑動窗口。

  • 在滑動窗口內,如果事件鏈中的后續事件按順序發生,則事件計數器依次遞增。

  • 在滑動窗口內,如果事件序列中斷,則停止本輪搜索,事件計數器不再增加,并開始新一輪的搜索,直到搜索結束。

  • 結束搜索時,如果存在多個搜索結果,則函數將返回最大值,即最長事件鏈的大小。

例如:您定義的滑動時間窗口為100秒,事件鏈及其順序為事件1->事件2->事件3->事件4->事件5,實際發生的事件序列為事件1->事件2->事件4->事件5->事件1->事件3,則函數返回值為2,即表示在100秒內按照您定義的事件鏈發生的最大連續事件數為2(事件1->事件2)。

重要
  • 搜索必須從第一個事件開始。例如實際發生的事件序列為事件2->事件3->事件4,則函數返回值為0。

  • 搜索必須有序,不能跳過事件鏈中的某個事件。例如事件4也在滑動窗口內,但是未發生事件3,因此不計入結果。

窗口漏斗函數

語法

日志服務支持如下兩種格式的窗口漏斗函數。

  • 如果數據中已定義事件列(event_id),可選擇如下語法。

    window_funnel(sliding_window, timestamp, event_id, ARRAY[event_list01, event_list02...])
  • 如果您想要自定義事件的非枚舉值,可選擇如下語法,更具有靈活性。

    window_funnel(sliding_window, timestamp, ARRAY[event_id=event_list01, event_id=event_list02...])

參數說明

參數

說明

sliding_window

滑動的時間窗口,單位為秒。參數值為bigint類型。

timestamp

時間戳,單位為秒。參數值為bigint類型。推薦使用日志服務內置的時間字段__time__。

event_id

日志字段名,該字段值表示事件,例如:A、B、C。參數值為varchar類型。

event_list

自定義的事件鏈,最多支持32個事件。參數值為array類型。例如:

  • ARRAY['A', 'B', 'C']

  • ARRAY[event_id='A', event_id='B', event_id='C']

示例

某電商店鋪舉行了一次推廣活動,現通過窗口漏斗函數分析本次推廣活動的轉化效果(轉化路徑為瀏覽商品、加入購物車、購買商品)。日志服務采集到的日志樣例如下:

漏斗函數

日志字段

說明

behavior_type

用戶行為類型。包括

  • pv:瀏覽商品。

  • cart:將商品加入購物車。

  • buy:購買商品。

category_id

商品類目ID。

item_id

商品ID。

timestamp

用戶行為發生的時間點。

user_id

用戶ID。

示例1

分析用戶在24小時內的購買行為。

  • 查詢和分析語句

    * |
    SELECT
      user_id,
      window_funnel(
        86400,
        timestamp,
        ARRAY [behavior_type='pv', behavior_type='cart',behavior_type='buy']
      ) AS levels
    GROUP BY
      user_id
    ORDER BY
      user_id
    LIMIT
      1000
  • 查詢和分析結果

    • 例如用戶24的levels值為3,表示該用戶按照瀏覽商品、將商品加入購物車、購買商品的順序,完成了購買。

    • 例如用戶14的levels值為2,表示該用戶瀏覽了商品以及將商品加入購物車,但是未購買。

    漏斗函數

示例2

分析不同用戶行動對應的人數。

  • 查詢和分析語句

    * |
    SELECT
      levels,
      count,
      sum(count) over(
        ORDER BY
          levels DESC
      ) AS total
    FROM  (
        SELECT
          levels,
          count(1) AS count
        FROM      (
            SELECT
              user_id,
              window_funnel(
                86400,
                timestamp,
                ARRAY [behavior_type='pv', behavior_type='cart',behavior_type='buy']
              ) AS levels
            FROM          log
            GROUP BY
              user_id
          )
        GROUP BY
          levels
        ORDER BY
          levels
      )
  • 查詢和分析結果

    • 瀏覽了商品的人數為513194,其中瀏覽商品后就離開的人數為138491。

    • 將商品加入購物車的人數為374703,其中加入購物車后離開的人數為198642人。

    • 購買商品的人數為176061。

    漏斗函數

示例3

計算本次推廣活動的轉化率。

  • 絕對轉化率:每步用戶行為的人數占總人數的比例。

  • 相對轉化率:每步用戶行為的人數占上一步人數的比例。

  • 查詢和分析語句

    * |
    SELECT
      *,
      100.0 * total /(sum(count) over()) AS "絕對轉化率",
      if(
        lag(total, 1, 0) over() = 0,
        100,
        (100.0 * total / lag(total, 1, 0) over())
      ) AS "相對轉化率"
    FROM  (
        SELECT
          levels,
          count,
          sum(count) over(
            ORDER BY
              levels DESC
          ) AS total
        FROM      (
            SELECT
              levels,
              count(1) AS count
            FROM          (
                SELECT
                  user_id,
                  window_funnel(
                    86400,
                    timestamp,
                    ARRAY [behavior_type='pv', behavior_type='cart',behavior_type='buy']
                  ) AS levels
                FROM              log
                GROUP BY
                  user_id
              )
            GROUP BY
              levels
          )
        ORDER BY
          levels
      )
  • 查詢和分析結果

    • 表格漏斗函數

    • 漏斗圖漏斗函數