Upgrade to Pro — share decks privately, control downloads, hide ads and more …

活きてなかったデータを活かしてみた話 / Shirokane Kougyou vol 19

活きてなかったデータを活かしてみた話 / Shirokane Kougyou vol 19

■ イベント
白金鉱業 Meetup Vol.19@六本木(若手データサイエンティスト交流会)
https://brainpad-meetup.connpass.com/event/354926/

■ 発表者
技術本部 研究開発部 Data Directionグループ
齊藤 拓己

■ 研究開発部 採用情報
https://media.sansan-engineering.com/randd

■ Sansan Tech Blog
https://buildersbox.corp-sansan.com/

Avatar for Sansan R&D

Sansan R&D

June 18, 2025
Tweet

More Decks by Sansan R&D

Other Decks in Technology

Transcript

  1. ⿑藤 拓⼰ Sansan株式会社 技術本部 研究開発部 Data Directionグループ 筑波⼤学⼤学院(博⼠: 情報⼯学) -

    機械学習応⽤(進化アルゴ、深層学習が主) - 『Pythonではじめるオープンエンドな進化的アルゴリズム』 2025年4⽉より新卒⼊社(2⽉からインターン) アナリティクスエンジニア:データ活⽤を設計すること - 社内データ利活⽤ - Sansan BI開発
  2. 会社概要 3 本社 神山ラボ Sansan Innovation Lab 社 名 Sansan株式会社

    所在地 本社 東京都渋⾕区桜丘町1-1 渋⾕サクラステージ 28F グループ 会社 Sansan Global Pte. Ltd.(シンガポール) Sansan Global Development Center, Inc.(フィリピン) Sansan Global (Thailand) Co., Ltd.(タイ) ログミー株式会社 株式会社ダイヤモンド企業情報編集社 ナインアウト株式会社 株式会社⾔語理解研究所 従業員数 1,797名(2025年2⽉28⽇時点) 2007年6⽉11⽇ 設 ⽴ ⽀店:関⻄⽀店、福岡⽀店、中部⽀店 サテライトオフィス:Sansan神⼭ラボ、Sansan Innovation Lab、 Sansan⻑岡ラボ 拠 点 寺⽥ 親弘 代表者
  3. - Slowly Changing Dimension(SCD) Type 2 ⽅式 - データ変更時、古いレコードは残し、新しいレコードを追加する -

    各レコードには有効期限を⽰す 開始⽇ / 終了⽇ を持たせる SCD Type 2 の例:ある市販のお菓⼦ 履歴データの構造はどうなっている?
  4. - ある特定の⽇付でどんな状態だったかは - 有効期間 (開始) ≦ その⽇付 < 有効期間 (終了)

    - とすれば⼀意なレコードを取得できる - これをどう使えば「ある時点①」と「その後の時系列②」の状態差分を 集計するように設計できるのか? この履歴データをどう使えばいい?
  5. - アイデア - ⽐較差分の全データを作ってから時系列絞り込みすればいいのでは - その場限りの⼀時的な分析ではやりがち - 問題 - ストレージへの暴⼒:EntityID

    × date × date → 数百億レコード - データパイプラインでこれやったら怒られる - いつでも、最新の状態で、効率的に分析できるような設計が必要 ボツ案:全組み合わせの差分⾏列を作っておく filter
  6. - アイデア - ⾒たい「いつ」を選んでからその都度⽐較する - EntityID × 履歴(時点①) × 履歴(時系列②)

    - 効果 - 必要な分だけクエリ実⾏ - データ爆発なし、柔軟な分析 - いつでも、最新の状態で、効率的に分析できる 解決案:「いつ」と「いつ」で絞ってから結合する filter① filter②