このトピックでは、PolarDB for AI演算子を使用してIDマッピングソリューションを作成する方法について説明します。
背景情報
IDマッピングは、アカウントIDやデバイスIDなどの情報を集約し、集約した情報をユーザに関連付け、ユーザにIDをユニークIDとして割り当てる。
ゲームシナリオでは、プレーヤは、ゲーム会社のプラットフォーム上に複数のアカウントを有することができ、この会社のゲームをホストする他のプラットフォーム上のアカウントを使用することができる。 これらのアカウントが互いに関連付けられていない場合、会社はこのプレーヤーの精密マーケティングを実行できません。 例えば、2つのゲームにおけるプレーヤのアカウントが関連付けられていない場合、ゲームaにおいてプレーヤによってサムダウンが与えられた広告は、プレーヤがゲームBをプレイしているときに再び表示される可能性がある。 この問題に対処するために、IDマッピングを使用してユーザー属性データを処理します。
IDマッピングソリューションの設計
ゲーム業界のIDは2つのカテゴリに分類されます。
アカウントID: ゲームプラットフォームのアカウント、ゲームのアカウント、電話番号、および電子メールアドレス。
デバイスID: デバイスIMEI、デバイスIMSI、デバイスOAID、およびAndroid ID。
基本情報テーブルを作成します。
ID-マッピングは、2つの既存のタイプの情報テーブルを使用します。
ユーザーID、電話番号、メールアドレス、IDカード番号などのユーザー属性情報。
ゲーム内のログオン、購入、他のプレイヤーとのコミュニケーションなど、ユーザーの行動情報。
ユーザー属性情報テーブル:
user_info
テーブルはユーザー属性情報をリストします。列
説明
plat_user_id
ユーザー ID。 例: 0b887f9e1e915XXXX。
phone_number
ユーザーの電話番号です。
email
ユーザーのメールアドレスを指定します。 例: xxx@alibaba-inc.com。
device_id
ユーザーのメインデバイスのID。 例: 0b887fXXXX915e355。
ユーザー行動情報テーブル:
game_platform_info
テーブルは、ゲームプラットフォームへのログオン情報を記録します。列
説明
device_id
デバイス ID。 例: 0b887f9e1e915XXXX。
android_id
デバイスのAndroid ID。 例: 02bd2a91190c1a6406866302942f4XXXX。
oaid
デバイスのOAID。 例: 106ed9425b12664364a06c51aXXXX。
ip
IP アドレスです。 例: 182.XX. XX.146。
ts
タイムスタンプ。 例: 1647137327。
user_id
ユーザー ID。 例: 447268XXXX。
ユーザー行動情報テーブル:
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
国際モバイル機器ID (IMEI) 。 例: 45ca53a497897c0b39f4373b0c14XXXX。
idfa
iOS用のIDFA。 例: 8301c9fcgg6a16fd3XXXX0e30e1854a78a。
googleid
Google広告ID。 例: f09adce39gr564c7f178bd9ebf64b9XXXX。
android_id
デバイスのAndroid ID。 例: a9d26756755rtr7b8faf6b2e0b6d414XXXX。
説明このIDは、デバイスがフラッシュされた後に変わります。
oaid
デバイスのOAID。 例: 4aad25ea19rtr769fe84cc46244b2aeXXXX。
timestamp
タイムスタンプ。 例: 1647137327。
IDアソシエーションを作成します。
アカウント情報を関連付ける (Associate the account information)
user_info.plat_user_id
,game_platform_info.user_id
、およびgame_info.user_id
) とデバイス情報 (device_id
,android_id
,ip
,imei
,idfa
,googleid
、およびoaid
) をテーブルに格納して、統一IDを生成します。説明同じ情報を含むが、テーブルによって名前が異なる列に注意してください。 たとえば、
user_info
テーブルのplat_user_id
列とgame_platform_info
テーブルのuser_id
列には同じ情報が含まれています。 CREATE FEATURE文にSELECT plat_user_id as user_id
を追加して、列のデータが一貫していることを確認できます。 さらに、異なる情報を含むが、異なるテーブルで名前が同じである列に注意してください。 たとえば、game_platform_info
テーブルのuser_id
列には、game_info
テーブルのuser_id
列とは異なる情報が含まれています。 追加できますSELECT... user_id as game_user_id...
列のデータが分離されていることを確認します。次のステートメントを実行して、oneIDという名前の機能を作成します。
/* polar4ai */CREATE FEATURE oneID WITH ( feature_class = 'graph',parameters=()) AS (SELECT plat_user_id as user_id, device_id FROM user_info)
次のステートメントを実行して, 操作の状态を确认します。
/* polar4ai * /ショー機能oneID;
説明操作が完了した場合、
FINISHED
が返されます。操作が完了していない場合は、
FeaturePath
に対してフィーチャの計算が完了するまでお待ちください
が返されます。
FINISHED
が返された場合は、次のステートメントを実行して機能を更新します。/* polar4ai */UPDATE FEATURE oneID WITH (parameters=()) AS (SELECT device_id, android_id,oaid,ip,user_id FROM game_platform_info)
次のステートメントを実行して, 操作の状态を确认します。
/* polar4ai * /ショー機能oneID;
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)
マッピングテーブルを生成します。
次のステートメントを実行して、マッピングテーブルを生成します。
/* polar4ai */CREATE FEATURE csg_1 WITH ( feature_class = 'connected_subgraph',parameters=())) USING FEATURE oneID
次のステートメントを実行して, 操作の状态を确认します。
/* polar4ai * /ショー機能csg_1;
操作がFINISHED状態の場合、OSSパスがFeaturePathに返されます。 パスをブラウザにコピーして、ID-マッピング結果を表示できます。
IDマッピングの結果を表示します。
次の表で、
column
は情報テーブルの列の名前、csg_id
は列
が関連付けられているサブグラフのID、value
はcolumn
の値を示します。csg_id
列
値
0
user_id
user1
0
device_id
device1
0
oaid
oaid1
1
user_id
user2
1
device_id
device2
IDマッピングは、個別の情報にわたって関連性を構築する。 IDマッピングは、IDに関連するデータを処理するための基本的なステップです。ほとんどの場合、IDマッピングは、ユーザーのポートレートを作成するための基本的で最も重要なプロセスです。 IDマッピングによって生成されたデータは、さらなるデータ開発操作の基礎として機能します。
IDマッピングのその他のユースケース
ユーザー行動の強化
IDマッピングによって処理されたデータは、カスタム検索や推奨などの上位層サービスをより適切にサポートし、その効果を向上させます。 異なるアプリケーション上でのユーザの行動に関連するデータを集約することができる。 例えば、電子商取引のシナリオでは、オフラインおよびオンラインで買い物をするユーザに関するデータは、ユーザの好みに基づくより包括的な分析のために集約され得る。
悪意のあるグループの発見
eコマース業界では、クリック農業は厄介な問題です。 Click Farmerは、プラットフォーム上に複数のデバイスと複数のアカウントを持っており、それらを使用して、許可なくコミッションを獲得したり、限られたクーポンをスクランブルしたり、偽の肯定的なレビューを行ったりするなどの不正行為を行います。 それらはeコマースプラットフォームのエコシステムを弱体化させ、売り手と買い手にとって大きな問題です。 IDマッピングは、異なるIDを関連付けてアカウント例外を検出できます。 例えば、1つのデバイスが複数のアクティブなユーザIDを有するか、または1つのユーザIDが短期間に複数のデバイスIDを使用する。 関連アカウント間の対話は、悪意のあるグループを発見するためにも使用できる。
ユーザーポートレートを展開する
基本的なユーザデータおよび行動に基づいて生成されるユーザポートレートは、ブランドまたは製品カテゴリに対するユーザの好みなどの情報を提供することができる。 しかしながら、ユーザポートレートは、全てのユーザをカバーしない。 IDマッピングは、ID間の関係を検出し、ユーザー情報を補足してユーザーのポートレートを拡張できます。 例えば、IDが、製品カテゴリに対する選好を有し、家族の一員であるユーザに属する場合、家族の他のメンバのIDを発見することができ、それらの所有者は、同じ選好を有することができる。
広告ターゲティング
広告は、関心及びユーザのデバイスタイプに基づいて配信することができる。 例えば、プレーヤは、ゲームプラットフォーム上で複数のゲームをプレイするか、又は複数のデバイスを使用してゲームをプレイすることができる。 IDマッピングは、同じユーザの異なるゲームアカウントおよびデバイス情報を関連付け、デバイスおよびゲームにわたって広告するためにユーザをターゲットにする。 ユーザが異なるゲームをプレイするとき、または異なるデバイスを使用するとき、広告をユーザに示すことができる。 これは、ユーザの好みに基づいて単一のゲームで広告を送信するだけと比較して、より良い広告結果を提供するのに役立つ。