>RE::VISION CRM

인공지능

ChatGPT ADA(고급데이터분석) Use Case: 머신러닝 기반 수퍼마켓 상품가격 최적화 분석

YONG_X 2023. 10. 25. 23:20

 

ChatGPT ADA(고급데이터분석) Use Case: 머신러닝 기반 수퍼마켓 상품가격 최적화 분석

 

 

2023-10-25. 전용준. 리비젼컨설팅. promptstrategies. (Working)

 

 

이 가상적인 분석 사례 use case의 목적은 미국 수퍼마켓에서 가격 최적화를 실현하고자 하는 것입니다. 이를 위해 30가지 다양한 상품의 가격을 분석하고, 최적가격을 도출하여 비즈니스 전략에 활용하는 것이 핵심 목표입니다.
분석 내용은 먼저 상품명을 기반으로 가상적인 데이터셋을 생성하고, 각 상품의 특성을 현실적으로 수정하여 데이터를 구축합니다. 

그 다음, Random Forest와 같은 머신러닝 모델을 사용하여 가격 최적화 분석을 수행하고 핵심 패턴을 시각화하여 설명합니다. 이를 통해 최적가격을 산출하고, 현재 가격과의 비교를 통해 가격 전략을 개선합니다.
과정은 데이터 수집, 가공, 모델링, 시각화, 결과 해석의 단계로 구성되며, 도메인 지식과 데이터 품질 관리가 핵심 요소입니다.
사용되는 기법으로는 데이터 가공, 머신러닝 모델링, 시각화 및 회귀 분석이 있으며, 이러한 기법을 통해 가격 최적화를 위한 인사이트를 도출합니다.
이 분석은 최적가격 산출과 가격 전략 개선을 통해 수퍼마켓의 수익성을 향상시키는 것을 목표로 하며, 정확한 상품명을 언급하고 CXO들에게 제안서 형태로 결과를 제시합니다.

이 분석 예제를 통해 ChatGPT Advanced Data Analysis와 같은 정밀분석 지원도구에 대한 전반적인 이해가 가능할 수 있습니다. 추가로 다음 포스트도 참고하시기 바랍니다. ( Advanced Data Analysis (i.e. Code Interpreter) 활용: ChatGPT 고급데이터분석 Example(Boston Housing) https://revisioncrm.tistory.com/575 )

 

 

 

 

가상 데이터셋 데이터 (Python Code)

 

import pandas as pd

# 주어진 데이터를 딕셔너리로 정의
data = {
    'ProductName': ['Coca-Cola', "Lay's Potato Chips", "Tide Laundry Detergent", "Kraft Macaroni & Cheese", "Cheerios",
                    "Heinz Ketchup", "Oreos", "Tropicana Orange Juice", "Campbell's Soup", "Kellogg's Frosted Flakes",
                    "Wonder Bread", "Ben & Jerry's Ice Cream", "Doritos", "Quaker Oats", "Bounty Paper Towels",
                    "Pampers Diapers", "Jif Peanut Butter", "Crest Toothpaste", "Johnson's Baby Shampoo",
                    "Nestle Toll House Chocolate Chips", "Hellmann's Mayonnaise", "Starbucks Coffee Beans",
                    "Charmin Toilet Paper", "Clorox Bleach", "Gatorade", "Aunt Jemima Pancake Mix",
                    "Hershey's Chocolate Bars", "Pringles", "Oscar Mayer Bacon", "Lipton Tea Bags"],
    'CurrentPrice': [19.352466, 47.585001, 36.867703, 30.334266, 8.644913, 8.643731, 3.846097, 43.442631, 30.454636, 35.695556, 2.008640,
                     48.525583, 41.789689, 11.404616, 9.909423, 9.986821, 15.907870, 26.713065, 22.165306, 15.270228, 30.980792,
                     7.835199, 15.315088, 18.951730, 23.347429, 39.473622, 10.784015, 26.197487, 30.028314, 3.276070],
    'Cost': [17.148615, 5.064992, 3.990399, 37.980979, 38.642465, 32.431695, 8.772571, 4.358049, 27.527205, 17.886024,
             5.320510, 20.059488, 1.300843, 36.418156, 13.938352, 26.669630, 12.812588, 21.042687, 22.095056, 7.801751,
             38.798593, 31.117747, 48.893271, 46.599384, 24.117049, 36.914032, 2.796818, 5.768926, 2.286478, 13.350548],
    'Demand': [5650.5, 7230.0, 1337.0, 1878.0, 2076.0, 1791.0, 7489.5, 3264.0, 1763.0, 3235.0, 1379.0, 1492.0, 6168.0, 2180.0,
               3062.0, 4884.0, 1064.0, 3449.6, 3437.0, 3568.0, 2367.0, 1506.4, 3027.0, 3695.0, 2495.0, 4134.0, 2162.0, 2522.0,
               3640.0, 1391.0],
    'Promotion': [0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0]
}

# 데이터프레임 생성
df = pd.DataFrame(data)

# 데이터프레임을 CSV 파일로 저장
df.to_csv('product_data.csv', index=False)

 

 

 

아래 제시된 prompting 방식을 실행하면 다음과 같은 데이터 테이블이 생성됨

  ProductName CurrentPrice Cost Demand Promotion ShelfSpace BrandPower CompetitorPrice Seasonality OptimalPrice
0 Coca-Cola 19.3525 17.1486 5650.5 0 6.79391 10 35.9013 4 33.415
1 Lay's Potato Chips 47.585 5.065 7230 0 15.6987 7 8.25626 3 19.3456
2 Tide Laundry Detergent 36.8677 3.9904 1337 0 21.3353 9 49.8893 1 59.794
3 Kraft Macaroni & Cheese 30.3343 37.981 1878 0 13.4192 7 14.0723 4 58.0981
4 Cheerios 8.64491 38.6425 2076 0 16.5645 1 48.8541 3 35.7061
5 Heinz Ketchup 8.64373 32.4317 1791 1 12.4069 1 21.1408 4 53.545
6 Oreos 3.8461 8.77257 7489.5 0 12.841 9 2.61949 1 15.3789
7 Tropicana Orange Juice 43.4426 4.35805 3264 1 11.4131 9 17.9085 1 20.3379
8 Campbell's Soup 30.4546 27.5272 1763 0 5.38129 4 32.0832 4 43.5197
9 Kellogg's Frosted Flakes 35.6956 17.886 3235 1 6.61837 9 34.3546 4 51.5664
10 Wonder Bread 2.00864 5.32051 1379 0 5.47144 3 27.0158 3 52.0978
11 Ben & Jerry's Ice Cream 48.5256 20.0595 1492 0 14.5462 10 22.9414 4 27.2479
12 Doritos 41.7897 1.30084 6168 1 9.71534 10 28.0918 4 53.8274
13 Quaker Oats 11.4046 36.4182 2180 1 12.6286 8 30.0421 1 51.8011
14 Bounty Paper Towels 9.90942 13.9384 3062 1 24.1975 9 4.96181 1 56.4599
15 Pampers Diapers 9.98682 26.6696 4884 0 8.73938 5 19.1131 4 48.1937
16 Jif Peanut Butter 15.9079 12.8126 1064 1 11.1557 1 12.8658 1 41.7944
17 Crest Toothpaste 26.7131 21.0427 3449.6 0 11.4333 3 40.3538 1 36.9378
18 Johnson's Baby Shampoo 22.1653 22.0951 3437 0 5.90238 10 24.0447 2 25.4756
19 Nestle Toll House Chocolate Chips 15.2702 7.80175 3568 1 6.1547 8 49.1877 3 56.7073
20 Hellmann's Mayonnaise 30.9808 38.7986 2367 1 9.34627 6 20.5424 3 58.5515
21 Starbucks Coffee Beans 7.8352 31.1177 1506.4 0 7.41832 8 41.0052 2 20.6157
22 Charmin Toilet Paper 15.3151 48.8933 3027 0 24.6291 9 40.1189 2 21.795
23 Clorox Bleach 18.9517 46.5994 3695 1 17.1218 4 8.38516 1 31.7088
24 Gatorade 23.3474 24.117 2495 1 14.5011 1 25.9017 4 29.6633
25 Aunt Jemima Pancake Mix 39.4736 36.914 4134 1 18.0719 6 35.0948 4 59.6952
26 Hershey's Chocolate Bars 10.784 2.79682 2162 0 17.0551 10 43.0596 4 14.6759
27 Pringles 26.1975 5.76893 2522 0 7.79855 4 16.972 2 5.99415
28 Oscar Mayer Bacon 30.0283 2.28648 3640 0 18.3884 6 11.7918 4 32.1642
29 Lipton Tea Bags 3.27607 13.3505 1391 0 13.0901 6 35.8463 1 14.8352

 

 

Stage 0: 데이터셋 생성

특정업무영역을 기준으로 실제와 유사한 사례를 생성하기 위해 데이터를 사례의 목적에 따라 생성합니다.

 

Prompt for DALL-E3 in ChatGPT : In a super-realistic and modern watercolor style, a depiction of a snug American supermarket is presented. Every shelf is crammed with an array of goods, each with its own price tag. Shoppers of multiple genders and origins meander, some deeply involved in scrutinizing the products.

 

Stage 1: 머신러닝 기법을 도입한 초기 데이터 분석 실시

때로는 모델링을 먼저한 후 세부 사항 중 핵심을 검토하는 두괄식 방법도 사용됩니다.  다음은 그 사례를 보여줍니다.

 

 

Stage 2: 설명가능하도록 사후적인 추가 분석 실시

모델이 이미 파악한 내용을 인간이 이해할 수 있도록 하고 자동 생성된 분석과정과 결과가 적절했는지를 검토하기 위해 추가 분석을 실시합니다.

 

 

 

# 전용준 # 리비젼 # 프롬프트 # 머신러닝 # 고급데이터분석 # ChatGPT # 수퍼마켓 # 적용사례 # 가격최적화 # CodeInterpreter # 전용준 # 리비젼 # 프롬프트 # 머신러닝 # 고급데이터분석 # ChatGPT # 수퍼마켓 # 적용사례 # 가격최적화 # CodeInterpreter  # promptStrategies

 

 

 

Stage 3: 분석결과 종합 및 요약

분석 과정이 길어지면 결과물도 많아지므로 세부사항과 요약을 구분해서 정리해봅니다.

 

Stage 4: Deployment - 경영진에 Action Strategy 제언 제공

데이터 분석의 결과는 실행으로 연결되어야 합니다. ChatGPT가 내장한 상식을 바탕으로 산업군에서의 문제영역별 전략을 도출합니다.

 

 

사용된 Prompt 흐름 정리 ::

 

P: 미국 수퍼마켓에서 많이 팔리는 다양한 상품명 30가지
P: 수퍼마켓의 상품 가격 최적화 분석을 위한 데이터 셋을 생성한다.
하나의 테이블에 가격 최적화 분석에 필요한 파생변수들을 생성하고 목표 변수를 추가하여 다음 스테이지의 머신러닝 분석에 적합하도록 설계한다
다음 상품들의 이름 목록을 데이터에 적용하며 상품 이름에 따른 상품 특성을 가상적으로 반영한  데이터 셋으로 생성한다
완성된 가상사례 데이터 셋의 샘플을 표시한다
{Coca-Cola
Lay's Potato Chips
Tide Laundry Detergent
Kraft Macaroni & Cheese
Cheerios
Heinz Ketchup
Oreos
Tropicana Orange Juice
Campbell's Soup
Kellogg's Frosted Flakes
Wonder Bread ...... }

P: 상품명을 참고하여 상품의 특성에 따른 값으로 가능한한 데이터를 현실적으로 수정하라
P: 생성된 데이터를 사용해 randomforest와 같은 모델링 방식을 적용하여 가격 최적화 분석을 수행하라. 핵심 패턴은 시각화하고 설명하라
P: 목표변수인 최적가격의 이 분석에서의 산출방식과 의미를 설명하고
세가지 가장 중요한 변수 각각에 대해서 현재가격과의 scatterplot을 생성하라.
scatterplot에서 최적가격이 현재보다 높으면 blue 낮으면 grey 색상으로 point를 표시하고, point의 사이즈는 Demand의 상대적 크기로 표시하라
각 scatterplot에서 point는 원형으로 설정해 buble chart 형태로 변형하라. point의 색상을 이미 지시한 바에 따라 정확히 표시하고 scatterplot에 point size와 색상에 대한 주석을 추가하라
각 scatterplot에서 point 위에는 상품명을 표시하라
marker를 색상이 채워진 원형으로 변경하고 X, Y 두 축간의 polynomial 회귀선을 추가하라. 회귀선은 두꺼운 lightblue 점선으로 한다
P: 지금까지의 분석결과를 핵심패턴 5가지로 요약 설명하라
P: 이 수퍼마켓의 CXO들에게 제시해야할  분석결과 기반의 세부적 가격전략 고도화 방안을 분석에서 나타난 정확한 상품명을 언급하며 200단어 분량으로 요약해 제공하라

 

 

 

>> 위의 프롬프트 흐름에서 얻을 수 있는 핵심 교훈 다섯 가지는 다음과 같습니다:

데이터 품질 관리의 중요성:
가격 최적화 분석을 위한 데이터 생성에서부터 시작하여, 데이터 품질은 핵심 요소입니다. 정확하고 신뢰할 수 있는 데이터를 수집하고 가공하는 과정은 분석의 성공에 큰 영향을 미칩니다.
도메인 지식의 필요성:
상품명을 통해 상품의 특성을 가상적으로 반영하는 작업은 도메인 지식이 필요합니다. 실제 시장에서의 경험과 이해가 데이터 생성 및 분석을 향상시키는 데 중요합니다.
시각화와 설명 분석:
핵심 패턴을 시각화하고 설명하는 능력은 분석 결과를 이해하고 의사 결정에 활용하는 데 중요합니다. Scatterplot과 회귀선을 활용하여 데이터를 직관적으로 해석할 수 있습니다.
최적가격(목표변수)의 산출과 의미:
최적가격을 분석하는 방식과 그 의미를 명확하게 설명하는 것은 의사 결정자들에게 중요한 정보를 제공합니다. 이를 통해 가격 전략을 개선할 수 있습니다.
전략적 제안과 의사 결정:
분석 결과를 기반으로 상세한 가격 전략을 제안하는 능력은 CXO들과 의사 결정자들에게 가치를 제공합니다. 정확한 상품명을 언급하며, 데이터에 기반한 제안을 구체적으로 제시하는 것이 중요합니다.
위 교훈들을 토대로 데이터 분석을 효과적으로 수행하고, 결과를 비즈니스 전략으로 연결하는 데 도움이 될 것입니다.

 

 

ChatGPT의 고급데이터 분석 (Advanced Data Analysis)는 강력하지만 (안타깝게도)  누구에게나 유용하지는 않습니다. 독자적으로도 거의 유사한 분석을 수행할 수 있는 전문분석가가 ChatGPT의 특성도 이해하고 있을 경우 유용한 도구라는 점을 기억해야만 할 것입니다. 

 

 

# 전용준 # 리비젼 # 프롬프트 # 머신러닝 # 고급데이터분석 # ChatGPT # 수퍼마켓 # 적용사례 # 가격최적화 # CodeInterpreter # 전용준 # 리비젼 # 프롬프트 # 머신러닝 # 고급데이터분석 # ChatGPT # 수퍼마켓 # 적용사례 # 가격최적화 # CodeInterpreter  # promptStrategies

 

 

 

함께 읽어볼 만한 글 ::

[AI 시론 ②] ‘엔터프라이즈 AI 전략’에 대한 챗GPT 코드 인터프리터 등장의 시사점 (컴퓨터월드 2023년 8월호)

https://www.comworld.co.kr/news/articleView.html?idxno=50893