case02(匿名加工情報): 加工仕様 — 5/7¶
主なルール¶
- 仮ID(34条3号): 会員IDを、ランダムに割り当てた仮ID(例:
A000001)へ1対1で置換し、加工後の顧客属性・購買履歴で共通に使う。元の会員IDと仮IDの対応表は保存しない(作れば連結符号になるため)。 - 年代7区分(5号措置/4号): 基準日で年齢を算出し「20歳未満/20代/30代/40代/50代/60代/70歳以上」に丸める。超高齢者は「70歳以上」に吸収される(=特異値のトップコーディング)。
- 住所 → 市区郡(5号措置): 「都道府県 + 市区郡」まで残し、町名・丁目番地を削除。
- 利用日時 → 分単位(5号措置): 秒を削除(
YYYY-MM-DD HH:MM)。 - 商品名 → 商品カテゴリ(4号): 商品名をカテゴリ(野菜・果物・精肉・鮮魚・米・穀物・惣菜・パン・飲料・菓子・調味料)に一般化。限定品・超高級品もカテゴリに吸収され、特異性が消える。
- 数量のトップコーディング(4号): しきい値(例: 5)を超える数量は「5」に丸める(大量購入の特異性を除去)。
- 金額 → 金額区分(4号):
〜499/500〜999/1,000〜1,999/2,000〜4,999/5,000円以上の区分に丸める。超高額は「5,000円以上」に吸収(トップコーディング)。 - 削除: 氏名・電話番号・店舗ID・取引ID・担当者ID・商品ID・(内部の明細ID)。
加工仕様一覧(列ごとの処理)
| 元テーブル | 元項目 | 加工 | 処理 | 加工後 |
|---|---|---|---|---|
| customers | 会員ID | 置換 | 仮ID対応を作り置換 | 仮ID |
| customers | 氏名・電話番号 | 削除 | 列削除 | ― |
| customers | 生年月日 | 一般化 | 基準日で年齢→年代7区分 | 年代 |
| customers | 性別 | 加工なし | そのまま | 性別 |
| customers | 住所 | 一般化 | 市区郡まで抽出 | 市区郡 |
| transactions | 会員ID | 置換 | 仮ID対応で置換 | 仮ID |
| transactions | 利用日時 | 一般化 | 秒を削除 | 利用日時(分) |
| transactions | 店舗名 | 加工なし | そのまま | 店舗名 |
| transactions | 店舗ID・担当者ID・取引ID | 削除 | 列削除 | ― |
| purchases | 商品名 | 一般化 | カテゴリへ | 商品カテゴリ |
| purchases | 数量 | 丸め | しきい値でトップコーディング | 数量 |
| purchases | 金額 | 丸め | 区分へ | 金額区分 |
| purchases | 明細ID・商品ID | 削除 | 列削除 | ― |
- 加工後の連結: 加工後の顧客属性・購買履歴は仮IDで結合し、「属性 × 購買傾向」を分析する(取引の粒度は保つが、取引IDは残さない)。
→ 加工後のスキーマは 加工後テーブル定義。実行は ② 実装(Colab)。