"매칭"은 완벽한 짝 하나를 찾는 일처럼 들립니다. 실제로는 반대입니다. 좋은 매칭은 올바른 축 몇 개로 비교하고, 이 결정에 중요하지 않은 수십 개 축은 무시한 결과입니다. K-뷰티 브랜드와 일반 식료품 체인을 "규모"로 비교하면 아무것도 알 수 없습니다. 카테고리 중첩, 바이어 역할, 진입 난이도로 비교하면 답이 금세 선명해집니다.
개념을 보여주는 스케치입니다 — 실제 제품 화면이 아닙니다.
두 층위가 있습니다. 하나는 의미 층위입니다. 같은 카테고리도 시장과 언어마다 백 가지로 쓰이기 때문에, 거래처가 취급하는 카테고리를 브랜드의 필요에 맞추는 일은 문자열 일치로는 안 됩니다. 다국어 임베딩은 "민감성 선크림", "sensitive sunscreen", 그리고 일본어 표현을 벡터 공간에서 서로 가깝게 놓습니다 — 플랫폼 간 동일 상품을 연결할 때 쓰는 바로 그 기법입니다. 다른 하나는 표 형태의 규칙 층위입니다. 수수료·MOQ·리드타임·준비 서류 같은 것들이죠. 의미 층위가 후보를 찾고, 표 층위가 그 후보에 실제로 닿을 수 있는지를 결정합니다.
점수는 의도적으로 분해합니다 — 카테고리 적합도, 가격대, 예산, 준비도, 타이밍, 채널 역할 — 하나의 숫자로 뭉치지 않습니다. "86" 하나는 이유를 숨깁니다. 분해해 두면 브랜드가 '카테고리는 강하지만 준비도가 약하다'는 걸 볼 수 있고, 이건 판결이 아니라 행동(라인시트 준비)입니다. 점수 옆에 사유를 남겨 두는 것이 다음 분기에 추천을 되짚을 수 있게 만듭니다.
매칭 점수는 그 뒤의 변수가 통제된 만큼만 정직합니다. 두 거래처를 서로 다른 가정으로 — 하나는 배송비 포함, 하나는 미포함 — 점수 매기면, 그 비교는 정밀함을 흉내 낸 잡음입니다. 그 통제 문제가 바로 다음 글의 전부입니다.
- Reimers & Gurevych, Sentence-BERT, EMNLP 2019 — 카테고리 적합도의 의미 기반 매칭.
- P. Christen, Data Matching, Springer 2012 — 레코드 매칭의 점수화와 근거.