피드로 돌아가기
How I Built a Property Matching System Using Euclidean Distance
Dev.toDev.to
Backend

Euclidean Distance 기반 6차원 벡터 매칭을 통한 숙소 추천 최적화

How I Built a Property Matching System Using Euclidean Distance

mark m2026년 6월 12일4intermediate

Context

가격과 별점 중심의 단순 정렬 방식이 사용자별 다양한 요구사항을 반영하지 못하는 한계 발생. 단일 수치 기반 필터링으로 인한 정보 손실 및 사용자 탐색 시간 증가라는 병목 지점 식별.

Technical Solution

  • Luxury, Facilities, Access, Value, Privacy, Groups 등 6개 차원의 속성을 정의한 Property Fingerprint 설계
  • 각 숙소와 사용자의 이상적 요구사항을 벡터 공간에 매핑한 후 Euclidean Distance를 통해 최적의 Match 도출
  • 사용자 우선순위에 따른 가중치(Weight)를 거리 계산식에 반영하여 개인화된 랭킹 시스템 구현
  • 데이터셋 규모(수백 개 수준)를 고려하여 Pre-computation 없이 Query Time에 서버 사이드 계산을 수행하는 경량 구조 채택
  • 6차원 벡터 데이터를 SVG Radar Chart로 시각화하여 사용자에게 정성적 가치를 직관적으로 전달하는 인터페이스 구축
  • Next.js App Router와 Neon PostgreSQL을 활용한 서버리스 아키텍처 기반의 빠른 응답성 확보

- 복잡한 ML 모델 도입 전, 도메인 특성을 반영한 다차원 거리 계산(Multi-dimensional Distance) 검토 - 데이터 규모에 따른 계산 전략 수립(소규모: 실시간 계산 $\rightarrow$ 대규모: ANN 또는 Distance Matrix 사전 계산) - 정량적 수치를 시각적 Shape로 변환하여 사용자의 의사결정 비용을 낮추는 UX 설계 적용

원문 읽기