본문 바로가기

SQL

고객별 추천 상품: 고객별 추천 상품을 제안하는 쿼리.

반응형

고객별 추천 상품 제안은 고객의 이전 구매 내역, 선호도, 유사 고객의 구매 패턴 등을 분석하여 각 고객에게 맞는 상품을 추천하는 데 사용됩니다. 이는 맞춤형 마케팅, 개인화된 쇼핑 경험 제공, 판매 증대 등에 중요한 역할을 합니다. SQL 쿼리만으로 복잡한 추천 시스템을 구현하기는 어렵지만, 데이터 분석의 초기 단계에서 유용한 쿼리를 작성할 수 있습니다. 다음은 고객별 추천 상품을 제안하는데 사용할 수 있는 SQL 쿼리 예제와 각 예제의 간단한 설명입니다:


예제 1: 고객별 최근 구매 상품
SELECT CustomerID, ProductID, MAX(PurchaseDate) as RecentPurchase
FROM Purchases
GROUP BY CustomerID, ProductID
ORDER BY RecentPurchase DESC;
각 고객별로 최근에 구매한 상품을 조회합니다.


예제 2: 유사 고객의 인기 상품 추천
SELECT OtherCustomers.ProductID, COUNT(*) AS Frequency
FROM Purchases AS OtherCustomers
JOIN Purchases AS CurrentCustomer ON OtherCustomers.CustomerID != CurrentCustomer.CustomerID
WHERE CurrentCustomer.ProductID IN (SELECT ProductID FROM Purchases WHERE CustomerID = 'C123')
GROUP BY OtherCustomers.ProductID
ORDER BY Frequency DESC;
'C123' 고객과 유사한 구매 패턴을 가진 다른 고객들이 선호하는 상품을 조회합니다.


예제 3: 카테고리별 고객 선호도 기반 추천
SELECT Category, ProductID, COUNT(*) AS PurchaseCount
FROM Purchases
JOIN Products ON Purchases.ProductID = Products.ProductID
WHERE CustomerID = 'C123'
GROUP BY Category, ProductID
ORDER BY PurchaseCount DESC;
특정 고객('C123')이 선호하는 카테고리 내 상품을 조회합니다.


예제 4: 고객별 자주 구매하는 상품 추천
SELECT CustomerID, ProductID, COUNT(*) AS PurchaseFrequency
FROM Purchases
GROUP BY CustomerID, ProductID
HAVING PurchaseFrequency > 2
ORDER BY PurchaseFrequency DESC;
각 고객이 자주 구매하는 상품을 조회합니다.


예제 5: 계절별 인기 상품 추천
SELECT Season, ProductID, COUNT(*) AS SalesCount
FROM Purchases
JOIN Products ON Purchases.ProductID = Products.ProductID
WHERE Season = 'Summer'
GROUP BY Season, ProductID
ORDER BY SalesCount DESC;
여름철에 인기 있는 상품을 조회합니다.


예제 6: 최근 트렌드 상품 추천
SELECT ProductID, COUNT(*) AS RecentSales
FROM Purchases
WHERE PurchaseDate >= DATEADD(month, -1, CURRENT_DATE)
GROUP BY ProductID
ORDER BY RecentSales DESC;
최근 한 달 동안 인기 있는 상품을 조회합니다.


예제 7: 고객의 평균 구매 가격대에 맞는 상품 추천
SELECT ProductID, Price
FROM Products
WHERE Price <= (SELECT AVG(Price) FROM Purchases WHERE CustomerID = 'C123')
ORDER BY Price;
특정 고객('C123')의 평균 구매 가격 이하인 상품을 조회합니다.


예제 8: 고객별 구매 빈도 기반 추천
SELECT ProductID, COUNT(*) AS Frequency
FROM Purchases
WHERE CustomerID IN (SELECT CustomerID FROM Customers WHERE Frequency > 10)
GROUP BY ProductID
ORDER BY Frequency DESC;
구매 빈도가 높은 고객들이 선호하는 상품을 조회합니다.


예제 9: 비슷한 상품군 추천
SELECT RelatedProducts.ProductID, COUNT(*) AS RelatedFrequency
FROM Purchases AS CurrentProduct
JOIN Products AS RelatedProducts ON CurrentProduct.Category = RelatedProducts.Category
WHERE CurrentProduct.ProductID = 'P123' AND RelatedProducts.ProductID != 'P123'
GROUP BY RelatedProducts.ProductID;
특정 상품('P123')과 비슷한 카테고리의 다른 상품을 조회합니다.


예제 10: 마지막 구매 이후 신상품 추천
SELECT ProductID, LaunchDate
FROM Products
WHERE LaunchDate > (SELECT MAX(PurchaseDate) FROM Purchases WHERE CustomerID = 'C123')
ORDER BY LaunchDate;
특정 고객('C123')의 마지막 구매 이후 출시된 신상품을 조회합니다.


관련 전문용어 설명
추천 상품(Recommended Product): 고객의 이전 구매 내역, 선호도, 유사 고객의 구매 패턴 등을 기반으로 제안된 상품입니다.
구매 패턴(Purchase Pattern): 고객의 구매 이력과 행동 양식입니다.
구매 빈도(Purchase Frequency): 고객이 특정 기간 동안 상품을 구매한 횟수입니다.
카테고리(Category): 비슷한 특성을 가진 상품들을 분류하는 그룹입니다.

반응형