データ統合のベスト プラクティス
データを顧客プロファイルに統合するためのルールを設定するときは、次のベスト プラクティスを考慮してください。
統合にかかる時間と完全なマッチングにかかる時間をバランスさせます。 あらゆる可能な一致を捉えようとすると、多くのルールが生まれ、統一に長い時間がかかります。
ルールを段階的に追加し、結果を追跡します。 試合結果を改善しないルールを削除します。
正規化 を使用して、StreetとStとSt. とstなどのデータの入力方法の差異 を標準化します。
あいまい一致 を戦略的に使用して、 および bob@contoso.com などのタイプミスやエラー bob@contoso.cmを修正します。あいまい一致は、完全一致よりも実行に時間がかかります。 ファジー マッチングに費やされる追加の時間が、追加の一致率に見合うかどうかを常にテストして確認してください。
完全一致を使用して一致の範囲を絞り込みます。 あいまい条件を持つすべてのルールに、少なくとも1つの完全一致条件があることを確認します。
頻繁に繰り返されるデータを含む列を一致させないでください。 あいまい一致の列に、フォームのデフォルト値「Firstname」などの値が頻繁に繰り返されていないことを確認します。
統合パフォーマンス
各ルールの実行には時間がかかります。 すべてのテーブルを他のすべてのテーブルと比較したり、すべての可能なレコードの一致をキャプチャしようとするなどのパターンは、統合処理時間が長くなる可能性があります。 また、各テーブルを基本テーブルと比較するプランでは、一致するものはほとんど返されません。
最善のアプローチは、各テーブルをプライマリ テーブルと比較するなど、必要だとわかっている基本的なルール セットから始めることです。 プライマリ テーブルは、最も完全かつ正確なデータを含むテーブルである必要があります。 このテーブルは、一致ルールの統合 手順 の一番上に並べる必要があります。
いくつかのルールを段階的に追加し、変更の実行にかかる時間と結果が改善されるかどうかを確認します。 [設定]>[システム]>[ステータス] および 閉じる [一致] に移動して、各統合実行で重複排除と一致にかかった時間を確認します。
重複排除ルール および 一致ルール ページでルール統計を表示し、 一意のレコード の数が変更されたかどうかを確認します。 新しいルールが一部のレコードに一致し、一意のレコード数が変更されない場合は、以前のルールによってそれらの一致が識別されます。
重複排除
重複排除ルールを使用して、テーブル内の重複する顧客レコードを削除し、各テーブルの1行が各顧客を表すようにします。 適切なルールは、固有の顧客を識別します。
この単純な例では、レコード1、2、3共有 は電子メールまたは電話番号のいずれかであり、同じ人物を表します。
ID | 件名 | 電話番号 | メール |
---|---|---|---|
6 | ペルソナ 1 | (425) 555-1111 | AAA@A.com |
2 | ペルソナ 1 | (425) 555-1111 | BBB@B.com |
3 | ペルソナ 1 | (425) 555-2222 | BBB@B.com |
4 | ペルソナ 2 | (206) 555-9999 | Person2@contoso.com |
名前だけで一致させるのは、同じ名前の別の人が一致することになるため、望ましくありません。
名前と電話を使用して、レコード1と2に一致するルール1を作成します。
名前とメールを使用して、レコード2と3に一致するルール2を作成します。
ルール 1 とルール 2 はレコード 2 を共有するため、これらを組み合わせると単一の一致グループが作成されます。
顧客を一意に識別するルールと条件の数を決定します。 正確なルールは、一致可能なデータ、データの品質、重複排除プロセスをどの程度徹底させるかによって異なります。
勝者レコードと代替レコード
ルールが実行され、重複レコードが識別されると、重複排除プロセスによって「勝者行」が選択されます。勝者でない行は「代替行」と呼ばれます。代替行は、一致ルールの統合 手順 で使用され、他のテーブルのレコードを勝者行と一致させます。 行は、勝者の行に加えて、代替行のデータと照合されます。
テーブルにルールを追加したら、 マージ設定を通じて、どの行を勝者行として 選択 するかを設定できます。 マージ設定はテーブルごとに設定されます。 選択したマージ ポリシーに関係なく、勝者の行が同点の場合は、データ順序の最初の行がタイブレーカーとして使用されます。
正規化
正規化を使用してデータを標準化し、より適切なマッチングを実現します。 正規化は大規模なデータセットに対しても適切に機能します。
正規化したデータは、顧客レコードをより効果的に照合するための比較目的にのみ使用されます。 最終的な統合顧客プロファイル出力のデータは変更されません。
正規化 | 使用例 |
---|---|
数字 | 数字を表す多くのUnicode記号を単純な数字に変換します。 例: ❽ とⅧは両方とも数値8に正規化されます。 注意: シンボルは Unicode ポイント形式でエンコードする必要があります。 |
シンボル | 記号と特殊文字を削除します。 例: !?"#$%&'( )+,.-/:;<=>@^~{}`[ ] |
テキストから小文字 | 大文字を小文字に変換します。 例:「THIS Is aN EXamplE」は「this is an example」に変換されます |
タイプ – 電話 | さまざまな形式の電話を数字に変換し、国番号と内線番号の表示方法の違いを考慮します。 例: +01 425.555.1212 = 1 (425) 555-1212 |
タイプ - 名前 | 500 を超える一般的な名前のバリエーションとタイトルを変換します。 例 : 「debby」 -> 「deborah」 「prof」 および 「professor」 -> 「Prof.」 |
タイプ - 住所 | アドレスの共通部分を変換する 例: 「street」 -> 「st」、「northwest」 -> 「nw」 |
タイプ - 組織 | 「co」「corp」「corporation」「ltd」など、会社名の「ノイズワード」約50個を削除します。 |
Unicode から ASCII | Unicode 文字列を、同等の ASCII 文字に変換する 例: 文字 「à」、「á」、「â」、「À」、「Á」、「Â」、「Ã」、「Ä」、「Ⓐ」、「A」 はすべて 「a」 に変換されます。 |
空白 | すべての空白スペースを削除する |
エイリアス マッピング | 常に完全一致とみなされるべき文字列を示すために使用できる文字列ペアのカスタム リストをアップロードできます。 一致する必要があると思われる特定のデータ例があり、他の正規化パターンのいずれかを使用しても一致しない場合は、エイリアス マッピングを使用します。 例: ScottとScooter、またはMSFTとMicrosoft。 |
カスタムのバイパス | 一致すべきではない文字列を示すために使用できる文字列のカスタム リストをアップロードできます。 カスタム バイパスは、ダミーの電話番号やダミーの電子メールなど、無視する必要がある一般的な値を持つデータがある場合に便利です。 例: 電話番号555-1212と一致しない、または test@contoso.com |
完全一致
精度を使用して、2つの文字列がどの程度一致しているとみなされるかを決定します。 デフォルトの精度設定では、完全一致が必要です。 その他の値を指定すると、その条件に対してあいまい一致が有効になります。
精度は、低 (30% 一致)、中 (60% 一致)、および高 (80% 一致) に設定できます。 または、1% 単位で精度をカスタマイズして設定することもできます。
完全一致条件
最初に完全一致条件が実行され、あいまい一致の 選択 値セットが取得されます。 効果的に行うために、完全一致の条件には適度な一意性が必要です。 たとえば、すべての顧客が同じ国/地域に住んでいる場合、国/地域が完全に一致しても範囲を絞り込むことはできません。
フルネーム、電子メール、電話番号、住所などのフィールドの列は一意性が高く、完全一致として使用するのに最適な列です。
完全一致条件に使用する列に、フォームによって取得されるデフォルト値「Firstname」など、頻繁に繰り返される値がないことを確認します。 顧客インサイトでは、データ列のプロファイルを作成して、最も頻繁に繰り返される値に関する洞察を提供できます。 Azure Data Lake (Common Data ModelまたはDelta形式を使用) 接続とSynapseでデータ プロファイリングを有効にすることができます。 データ プロファイルは、データ ソース が次に更新されるときに実行されます。 詳細については、 データプロファイリング。
あいまい一致
あいまい一致を使用して、閉じる であるが、入力ミスやその他の小さな変化のために正確ではない文字列を一致させます。 あいまい一致は完全一致よりも遅いため、戦略的に使用してください。 あいまい条件を持つルールには、少なくとも1つの完全一致条件が含まれていることを確認してください。
ファジー マッチングは、SuzzieやSuzanneのような名前のバリエーションを捕捉することを目的としていません。 これらのバリエーションは、正規化パターン タイプ: 名前 またはカスタム エイリアス マッチング でより適切にキャプチャされます。カスタム パターンでは、顧客が一致として考慮する名前のバリエーションのリストを入力できます。
FirstName と Phone の一致などの条件をルールに追加できます。 特定のルール内の条件は「AND」条件です。 行が一致するには、すべての条件が一致している必要があります。 個別のルールは「OR」条件です。 ルール1が行と一致しない場合、行はルール2と比較されます。
注意
あいまい一致を使用できるのは文字列データ型の列のみです。 整数、倍精度、日時などの他のデータ型の列の場合、精度フィールドは読み取り専用であり、完全一致に設定されます。
あいまい一致計算
あいまい一致は、2つの文字列間の編集距離スコアを計算することによって決定されます。 スコアが精度しきい値を満たすか超える場合、文字列は一致していると見なされます。
編集距離とは、文字を追加、削除、または変更して、ある文字列を別の文字列に変換するために必要な編集回数です。
たとえば、文字列「Jacqueline」と「Jaclyne」では、q、u、e、i、eの文字を削除し、yの文字を挿入すると、編集距離は5になります。
編集距離スコアを計算するには、次の式を使用します: (基本文字列の長さ - 編集距離) / 基本文字列の長さ。
ベース文字列 | 比較文字列 | スコア |
---|---|---|
Jacqueline | Jaclyne | (10-4)/10=.6 |
fred@contoso.com | fred@contso.cm | (14-2) / 14 = 0.857 |
franklin | frank | (8-3) / 8 = 0.625 |