データセット

データセット#

この章では、複数サイトの td_client_id、td_global_id を縫い合わせることで同一人物と特定されるケースを扱っていく。

4つのサイトがあり、全てのテーブルで td_client_id と td_global_id が取得できている以下のデータ例を考える。

date

site_aaa

site_aaa

site_xxx

site_xxx

site_yyy

site_yyy

site_zzz

site_zzz

month

day

td_client_id

td_global_id

td_client_id

td_global_id

td_client_id

td_global_id

td_client_id

td_global_id

1

5

aaa_001

3rd_001

yyy_001

3rd_001

15

aaa_001

3rd_002

zzz_001

3rd_002

25

aaa_001

3rd_003

2

5

aaa_001

3rd_004

xxx_001

3rd_004

15

xxx_001

3rd_005

yyy_002

3rd_005

25

yyy_002

3rd_006

zzz_003

3rd_006

3

5

zzz_003

3rd_007

15

xxx_002

3rd_008

zzz_003

3rd_008

25

aaa_002

3rd_009

xxx_002

3rd_009

4

5

aaa_002

3rd_010

yyy_003

3rd_010

15

yyy_003

3rd_011

zzz_004

3rd_011

25

xxx_003

3rd_012

zzz_004

3rd_012

5

5

aaa_003

3rd_013

xxx_003

3rd_013

15

aaa_003

3rd_014

25

aaa_003

3rd_015

yyy_004

3rd_015

zzz_005

3rd_015

6

5

aaa_003

3rd_016

xxx_004

3rd_016

15

xxx_004

3rd_017

zzz_005

3rd_017

25

yyy_005

3rd_018

zzz_005

3rd_018

一見、複数のユーザーが存在しているように見えるが、実はこれらはサイトを横断して td_client_id、td_global_id で繋ぎ合わせることによって、ただ1人に特定できるケースとなっている。

_images/4-1-2.png

Fig. 6 サイトを横断して全てが繋がる#

もしこのデータをインプットとして、ID Unification を実行すると、ただ1つの canonical_id が生成されることが期待される。実際に確認してみよう。

データの準備#

上記のデータは以下の site_aaa テーブルのように、サイトごとに site_aaa、site_xxx、site_yyy、site_zzz という名前でTDのテーブルに格納されていることを前提に話を進める。このテーブルは Ch12. Workflow Samples を利用すれば生成できるものになっている。TD 上では値の入っていないセルは NULL となっている前提で進める。

site_aaa#

time

site

td_client_id

td_global_id

2023/01/05

aaa.jp

aaa_001

3rd_001

2023/01/15

aaa.jp

aaa_001

3rd_002

2023/01/25

aaa.jp

aaa_001

3rd_003

2023/02/05

aaa.jp

aaa_001

3rd_004

2023/02/15

aaa.jp

2023/02/25

aaa.jp

2023/03/05

aaa.jp

2023/03/15

aaa.jp

2023/03/25

aaa.jp

aaa_002

3rd_009

2023/04/05

aaa.jp

aaa_002

3rd_010

2023/04/15

aaa.jp

2023/04/25

aaa.jp

2023/05/05

aaa.jp

aaa_003

3rd_013

2023/05/15

aaa.jp

aaa_003

3rd_014

2023/05/25

aaa.jp

aaa_003

3rd_015

2023/06/05

aaa.jp

aaa_003

3rd_016

2023/06/15

aaa.jp

2023/06/25

aaa.jp

site_xxx#

time

site

td_client_id

td_global_id

2023/01/05

xxx.jp

2023/01/15

xxx.jp

2023/01/25

xxx.jp

2023/02/05

xxx.jp

xxx_001

3rd_004

2023/02/15

xxx.jp

xxx_001

3rd_005

2023/02/25

xxx.jp

2023/03/05

xxx.jp

2023/03/15

xxx.jp

xxx_002

3rd_008

2023/03/25

xxx.jp

xxx_002

3rd_009

2023/04/05

xxx.jp

2023/04/15

xxx.jp

2023/04/25

xxx.jp

xxx_003

3rd_012

2023/05/05

xxx.jp

xxx_003

3rd_013

2023/05/15

xxx.jp

2023/05/25

xxx.jp

2023/06/05

xxx.jp

xxx_004

3rd_016

2023/06/15

xxx.jp

xxx_004

3rd_017

2023/06/25

xxx.jp

site_yyy#

time

site

td_client_id

td_global_id

2023/01/05

yyy.jp

yyy_001

3rd_001

2023/01/15

yyy.jp

2023/01/25

yyy.jp

2023/02/05

yyy.jp

2023/02/15

yyy.jp

yyy_002

3rd_005

2023/02/25

yyy.jp

yyy_002

3rd_006

2023/03/05

yyy.jp

2023/03/15

yyy.jp

2023/03/25

yyy.jp

2023/04/05

yyy.jp

yyy_003

3rd_010

2023/04/15

yyy.jp

yyy_003

3rd_011

2023/04/25

yyy.jp

2023/05/05

yyy.jp

2023/05/15

yyy.jp

2023/05/25

yyy.jp

yyy_004

3rd_015

2023/06/05

yyy.jp

2023/06/15

yyy.jp

2023/06/25

yyy.jp

yyy_005

3rd_018

site_zzz#

time

site

td_client_id

td_global_id

2023/01/05

zzz.jp

2023/01/15

zzz.jp

zzz_001

3rd_002

2023/01/25

zzz.jp

2023/02/05

zzz.jp

2023/02/15

zzz.jp

2023/02/25

zzz.jp

zzz_003

3rd_006

2023/03/05

zzz.jp

zzz_003

3rd_007

2023/03/15

zzz.jp

zzz_003

3rd_008

2023/03/25

zzz.jp

2023/04/05

zzz.jp

2023/04/15

zzz.jp

zzz_004

3rd_011

2023/04/25

zzz.jp

zzz_004

3rd_012

2023/05/05

zzz.jp

2023/05/15

zzz.jp

2023/05/25

zzz.jp

zzz_005

3rd_015

2023/06/05

zzz.jp

2023/06/15

zzz.jp

zzz_005

3rd_017

2023/06/25

zzz.jp

zzz_005

3rd_018