# 「ヤマダ電機」と「ヤマダデンキ」：表記ゆれと重複の原因は 3 つ重なっていた（包含だけの比較・59 秒の差・手動専用のジョブ）

> 店名を「含んでいるか」だけで比べ、締切を 59 秒の差で別と判定し、重複整理が手動専用だった。言い換えの表は作らず一般則で直し、1 時間おきの定期実行にした。表記ゆれ 2 件、重複 7 組が 0 に。

- URL: https://koshinstudio.com/notes/store-name-variants/
- 公開: 2026-10-17
- 書いた人: Koshin（https://koshinstudio.com/about/）
- サイト: Koshin Studio

  English version (https://koshinstudio.com/en/notes/store-name-variants/)

トレカダッシュ 開発の記録 ／ 2026年8月

  iOS アプリ「トレカダッシュ (https://koshinstudio.com/works/torecadash/)」の記事では、同じ店の名前が、「ヤマダ電機」と「ヤマダデンキ」のように、書き方がバラバラでした。報告は、2 つ来ました。「表記揺れしている」「同じ理由で、記事が重複している」。指示は、「他の店でも同じことが起きないように、徹底的に」でした。

  この記事は、原因が 3 つ重なっていたことと、「言い換えの表を作らず、一般則で直す」過程の記録です。

  この記事は、2026 年 8 月 25 日の作業の記録から書いています。

## 原因は、3 つ重なっていた

- 店名の比較が、「含んでいるか」だけだった。「ヤマダ電機」と「ヤマダデンキ」は、どちらも、もう一方を含まないので、別の店になります。

- 締切を、ミリ秒まで一致で比べていた。同じ「8/26 まで」でも、まとめサイト由来は 23:59:00、X 由来は 23:59:59 で、59 秒の差のせいで、重複と判定されませんでした。実データの 4 商品が、これでした。

- 重複を整理するジョブが、手動で動かす専用で、一度も自動で走っていなかった。「一度きりの修復」のつもりで作っても、記事は毎日入るので、重複も毎日生まれます。

## 直し方：言い換えの表は、作らない

  店名の比較のキー（storeNameComparisonKey）を作りました。法人格、記号、空白、全角と半角を落とし、カタカナをひらがなにし、「電機、電器、でんき」を 1 つに寄せます。

  店名の言い換えの表は、作りません。新しい店が増えるたびに、再発するからです。読みが同じになる書き分けを、まとめる一般則にしました。

- 締切は、日付として（日本時間の日付で）比べ、代わりに販売の形式の一致を求めます。同じ日でも、先着と抽選は、別の案件だからです。

- 店名（sellerName）が無く、カテゴリにしか店名が無い記事も、対象に含めます。入荷情報のサイトや公式サイト由来の記事は、こちらが多く、まるごと見落としていました。

- 重複で隠すときは、必ず隠した印（hiddenByDuplicate）を付けます。

- 1 時間おきの定期実行を、足しました。

- 表記そのものも、実データの多数派に寄せます。正しい表記の一覧は、持ちません。同数のときは、カタカナ表記、次に文字列の順で固定して、実行のたびに答えが変わる、書き換え合戦を防ぎます。

## テストで見つけた、2 つの危険

  どちらも、直したあとに、テストで見つけました。

- 「＠」の前だけをキーにすると、店名に＠を含む店が、極端に短いキーになる。「カードショップ＠ほ～む。鹿児島店」が「かーどしょっぷ」というキーになり、別の店と同一視されます。比較のキーでは、＠で切りません。（宣伝文が付いた名前は、包含の判定で拾えます。）

- 「片方がもう片方の先頭部分なら、同じ名前」にすると、支店名が消える。「イエローサブマリン」と「イエローサブマリン秋葉原店」が統合され、支店名が消えます。付け足しが、「＠」「【」「（」で始まる注記のときだけ、同じ名前とみなします。

  実データ 17 パターンで確かめて、食い違いは 0 件でした。

## 実行結果

     | 前 | 後

      店名の表記揺れ | 2 件 | 0 件

      同じ商品・同じ締切・同じ店の重複 | 7 組 | 0 組

  ついでに、「○○＠スタッフ募集中」のような宣伝文の付いた店名 23 件も、そろいました。重複のとき、残す側は、値段と当落発表日を持つほうです。

## 分かったこと

> 一覧で直さず、一般則で直す。そして、直す処理は、自動で走らせる。

- 「含んでいるか」だけで比べない。書き分けは、含みません。

- ミリ秒まで一致で比べない。日付と、販売の形式で比べます。

- 「一度きりの修復」は、毎日生まれるものには足りない。自動で、定期的に走らせます。

- 言い換えの表は、新しい店で再発する。読みが同じになる、書き分けの一般則にします。

- 統合は、注記のときだけ。支店名を、消してはいけません。

  この話に出てくるもの

- トレカダッシュ (https://koshinstudio.com/works/torecadash/) — トレカの抽選・予約・先着の情報を集める iPhone アプリ

- 「同じ応募ページ」なら「同じ店」と決めつけていた (https://koshinstudio.com/notes/same-page-not-same-store/) — 店名の別の問題

- 「重複は実質ゼロ」と数えたのに、監査は 112 組を出していた (https://koshinstudio.com/notes/dup-zero/) — 重複の別の話

- あいまいな店名で地図を引くと、日本の真ん中の静岡が返る (https://koshinstudio.com/notes/geocode-shizuoka/) — 店名と位置の話
