全部產品
Search
文件中心

PolarDB:ID-Mapping在遊戲領域的解決方案

更新時間:Jul 06, 2024

本文介紹了如何使用PolarDB for AI的特徵運算元打造ID-Mapping的解決方案。

背景資訊

ID-Mapping是將所有可以收集到的賬戶類ID、裝置標識ID等資訊進行關聯,並將關聯後的資訊匯聚到一個自然人身上,同時賦予這個自然人一個ID,作為這個自然人的唯一ID。

在遊戲領域,同一使用者可以在遊戲公司的自建平台上建立多個遊戲帳號,在其他平台也有遊戲公司的自研遊戲帳號,這些帳號分散在各個遊戲或平台中而沒有進行相互關聯 。基礎資料建設不完善會帶來各種問題,例如:在做精準營銷時不能精準刻畫同一個使用者,流量在跨渠道使用時效率很低,因此,需要藉助ID-Mapping技術助力基礎資料建設,以完善精準營銷或個人化推薦等。

打造ID-Mapping解決方案

以遊戲領域的ID類型為例,遊戲領域的ID類型分為兩大類:

  • 賬戶類:遊戲平台的帳號、特定遊戲的帳號、電話號碼和郵箱地址等。

  • 裝置類:裝置IMEI、裝置IMSI、裝置OAID和AndroidID等。

  1. 建立基礎資訊表。

    ID-Mapping使用的資源是已有的兩類資訊表,即:

    • 使用者屬性資訊,如userid、電話號碼、郵箱地址和社會安全號碼碼等。

    • 使用者行為資訊,如使用者登入遊戲的資訊、使用者在遊戲中的交易資訊以及使用者在遊戲中的交流資訊等。

      使用者屬性資訊表user_info如下:

      列名

      說明

      plat_user_id

      使用者ID。樣本:0b887f9e1e915XXXX。

      phone_number

      電話號碼。

      email

      郵箱地址。樣本:xxx@alibaba-inc.com。

      device_id

      常用裝置號碼。樣本:0b887fXXXX915e355。

      使用者行為資訊表1game_platform_info如下,記錄使用者登入遊戲平台的具體資訊。

      列名

      說明

      device_id

      裝置ID。樣本:0b887f9e1e915XXXX。

      android_id

      AndroidID。樣本:02bd2a91190c1a6406866302942f4XXXX。

      oaid

      裝置唯一ID。樣本:106ed9425b12664364a06c51aXXXX。

      ip

      IP地址。樣本:182.XX.XX.146。

      ts

      時間戳記。樣本:1647137327。

      user_id

      平台使用者ID。樣本:447268XXXX。

      使用者行為資訊表2 game_info如下,記錄使用者登入遊戲帳號的具體資訊。

      列名

      說明

      device_id

      裝置ID。樣本:0b887f9e1e915XXXX。

      user_id

      遊戲帳號ID。樣本:02bd2a91190c1a606866302942XXXX。

      ipv4

      IPV4地址。樣本:182.XX.XX.146。

      ipv6

      IPV6地址。樣本:240e:337:1026:XXXX:XXXX:a26d:4a34:920d。

      imei

      國際行動裝置識別碼。樣本:45ca53a497897c0b39f4373b0c14XXXX。

      idfa

      iOS平台內的廣告跟蹤ID。樣本:8301c9fcgg6a16fd3XXXX0e30e1854a78a。

      googleid

      Google廣告ID。樣本:f09adce39gr564c7f178bd9ebf64b9XXXX。

      android_id

      安卓系統ID。樣本:a9d26756755rtr7b8faf6b2e0b6d414XXXX。

      說明

      刷機會改變該ID值。

      oaid

      裝置唯一ID。樣本:4aad25ea19rtr769fe84cc46244b2aeXXXX。

      timestamp

      時間戳記。樣本:1647137327。

  2. 構建ID關聯關係。

    將步驟1中的三張表中的賬戶資訊(user_info.plat_user_idgame_platform_info.user_idgame_info.user_id)和裝置類資訊(device_idandroid_idipimeiidfagoogleidoaid)相互關聯,形成一個統一的ID。

    說明

    以下命令中,所在表名不同而含義相同的列需要保持列名一致,如user_infoplat_user_idgame_platform_infouser_id列為相同含義列,可以在CREATE FEATURE語句中通過SELECT plat_user_id as user_id...的方式使其保持一致。不同含義的列需要保持名字不一致,如game_platform_infouser_id列與game_infouser_id列雖然列名相同但含義不同,可以通過SELECT ... user_id as game_user_id...的方式使其不一致。

    1. 執行如下命令,建立特徵oneID。

      /*polar4ai*/CREATE FEATURE oneID WITH ( feature_class = 'graph',parameters=()) AS (SELECT plat_user_id as user_id, device_id FROM user_info)
    2. 執行如下命令,查看特徵運算元狀態。

      /*polar4ai*/SHOW FEATURE oneID;
      說明
      • 當運算元狀態為FINISHED時,表示ID關聯關係構建完成。

      • 當運算元狀態為其他狀態時,FeaturePath的內容為Please wait for the feature calculation to finish

    3. 當特徵運算元的狀態為FINISHED時,執行如下命令,更新特徵。

      /*polar4ai*/UPDATE FEATURE oneID WITH (parameters=()) AS (SELECT device_id, android_id,oaid,ip,user_id FROM game_platform_info)
    4. 執行如下命令,查看特徵運算元狀態。

      /*polar4ai*/SHOW FEATURE oneID;
    5. 當特徵運算元的狀態為FINISHED時,執行如下命令,更新特徵。

      /*polar4ai*/UPDATE FEATURE oneID WITH (parameters=()) AS (SELECT device_id,user_id as game_user_id,ipv4 as ip,ipv6,imei,idfa,googleid,android_id,oaid FROM game_info)
  3. 產生映射表。

    執行以下命令,產生映射表。

    /*polar4ai*/CREATE FEATURE csg_1 WITH ( feature_class = 'connected_subgraph',parameters=()) USING FEATURE oneID

    你可以執行以下命令查看運算元構建狀態。

    /*polar4ai*/SHOW FEATURE csg_1;

    當運算元狀態為FINISHED時,FeaturePath內容為OSS的下載地址,將其複製在網頁中便可查看ID-Mapping的結果資訊。

  4. 查看最終結果。

    如下表所示,csg_id表示column所屬連通子圖的ID,column表示使用者資訊表中的列名,value表示column的值。

    csg_id

    column

    value

    0

    user_id

    user1

    0

    device_id

    device1

    0

    oaid

    oaid1

    1

    user_id

    user2

    1

    device_id

    device2

ID-Mapping的本質是將稀疏的資訊通過實體之間的關係彙集起來,是ID類資料加工的最重要的基礎工作之一,ID-Mapping在企業中通常是使用者畫像構建的最底層、也是最重要的環節。通常是在基礎資料入庫後再執行ID-Mapping構建操作,構建完成後形成新的基礎資料。

ID-Mapping其他應用情境

增強使用者行為

ID-Mapping技術可以對資料進行加工,加工後的資料為上層業務(個人化搜尋、精準推薦)提供更優質的資料支撐,提高上層業務的效果。例如:利用ID-Mapping技術可以將同屬於一個自然人的不同應用ID上的使用者行為合并,以此來增強資料。在電商業務中,可以將本地購物行為資料和電商網站上的行為資料合併,補全使用者購物鏈路來分析使用者喜好。

發現黑灰產團夥

在電商營銷領域,常常會遇到“刷單黨”等,他們擁有多個裝置和多個使用者ID,用於賺取電商傭金、搶優惠券、刷好評等電商活動,極大的破壞電商的健康生態,給商戶和平台帶來極大困擾。使用ID-Mapping技術,可以將不同ID關聯起來,通過一些營運經驗,可以發現帳號異常情況,例如:會擷取同一裝置下的超多活躍userid、或者同一userid在一段時間內擁有超多的裝置ID等。再通過已關聯的帳號之間一些互動行為來發現更大的團夥。

擴充使用者畫像

通過對使用者的基礎資料或者行為分析,可以得到一些使用者畫像,比如某人屬於男性、某人對某品牌或商品類目有偏好等等。由於使用者行為存在的馬太效應,某些使用者可能在某些領域行為缺失,加上使用者基礎資料本身的不完善,導致使用者畫像並不能完全覆蓋所有使用者。通過ID-Mapping技術來挖掘ID之間的關係,從另一個角度來補充使用者畫像資訊,以此來擴充使用者畫像。例如某ID對某商品類目有偏好,他可能屬於一個家庭中的一員,和他相關的ID可能是另一個家庭成員,他也會對該類目有偏好。

營銷圈人

廣告領域會根據使用者的興趣、裝置類型等定點投放廣告。例如:某遊戲平台上存在多款遊戲,同一個人會擁有不同遊戲的帳號,或使用多個裝置來登入遊戲等。通過ID-Mapping技術,可以將同一個人的不同遊戲帳號和不同裝置資訊進行相互關聯,並針對性地對一個人進行跨裝置和跨遊戲的投放廣告,讓使用者在玩不同遊戲,或者在不同裝置登入遊戲後都能看到該廣告,相比於僅利用使用者偏好在單一遊戲上投放廣告的效果更好。