피드로 돌아가기
Dev.toBackend
원문 읽기
Jaccard Similarity 기반 Shopify 블로그 관련 포스트 추천 엔진 구현
Building related-post recommendations for a Shopify blog — the algorithm, not the app
AI 요약
Context
Shopify의 기본 추천 API가 제품에만 국한되어 블로그 포스트를 위한 추천 신호가 부재한 상황. 단순 최신순 정렬이나 수동 메타필드 관리는 사용자 이탈률 증가와 운영 효율 저하라는 한계를 가짐.
Technical Solution
- Jaccard Similarity 알고리즘을 활용한 태그 기반 유사도 점수 산출 구조 설계
- Liquid 서버 사이드 렌더링을 통한 Client-side JS 의존성 제거 및 SEO 최적화
- 정수 연산만 지원하는 Liquid 제약을 극복하기 위해 1000을 곱해 정밀도를 유지하는 스케일링 기법 적용
- Candidate Set을 최신 50개 포스트로 제한하여 렌더링 시간 증가 및 성능 저하 방지
- 태그 부족 문제를 해결하기 위해 Author 정보를 보조 신호로 활용하는 가중치 모델 도입
- Layout Shift 방지를 위해 이미지 크기 명시 및 Section Rendering API 적용
실천 포인트
- 데이터셋 규모 증가 시 Batch Job을 통한 추천 결과 Pre-computation 및 Metafields 저장 검토 - 알고리즘 고도화 전 데이터 정제(Tagging Audit)를 통한 신호 품질 확보 우선순위 설정 - 모바일 환경에서 Carousel 대비 Grid 레이아웃의 클릭률(CTR) 우위 확인 및 적용 - CLS(Cumulative Layout Shift) 방지를 위한 썸네일 영역의 Explicit Dimension 설정