# data[].attributes.body
“하나의 지표로 모든 판단을 할 수는 없습니다. 상황에 따라 적합한 지표를 선택하는 것이 중요합니다.”
동일한 수치를 가진 제품이라도 어떤 지표를 중심으로 보느냐에 따라 전략 판단이 달라집니다.

하지만 이 숫자들은 그 자체로 모든 것을 말해주진 않습니다.

예를 들어, 이익이 낮다고 단순히 “수익성이 나쁘다”고 결론 내릴 수 있을까요?

수량이 부족한 것인지, 단가가 낮은 것인지, 아니면 원가가 높은 것인지

구체적인 원인을 알아야 제대로 된 전략 판단이 가능해집니다.

따라서 다음 단계는,

매출, 이익, 이익률이라는 지표를 '구성요소 단위'로 분해해서 원인을 분석하는 방법입니다.

# data[].attributes.headline
왜 전처리가 중요한가?

# data[].attributes.subject
왜 전처리가 중요한가?

# data[].attributes.body
"분석은 화려한 기술로 시작되는 것이 아니라, 분석이 가능한 구조로 데이터를 정리하는 것에서 시작된다."

ERP 시스템이나 실무 현장에서 추출한 원자료는 다음과 같은 문제를 안고 있습니다:

# data[].attributes.body
Intro: 데이터 분석 개요

Part 1. 데이터 전처리 – 분석 가능한 구조 만들기  (Power Query 활용)

Part 2. 매출 및 제품 이익 구조 분석 – 제품 전략 수립의 기초

Part 3. 제품 중요도에 따른 분류 및 차등 관리 방안

# data[].attributes.headline
매출 분해 방식과 전략적 해석 포인트

# data[].attributes.subject
매출 분해 방식과 전략적 해석 포인트

# data[].attributes.body
“매출이 늘었다는 건 수량이 늘었을 수도 있고, 단가가 높아졌을 수도 있고, 아니면 판촉을 심하게 한 걸 수도 있습니다. 매출이라는 숫자를 해석 가능한 구조로 쪼개야 '왜 잘됐는가', '어디를 조정해야 하는가'라는 판단이 가능합니다. 그래서 우리는 가격, 채널, 담당자, 판촉, 제품군, 지역 같은 다양한 축에서 매출을 분해해서 보는 연습을 해야 합니다.”

# data[].attributes.body
백승훈 (白昇勳, SeungHoon Baik)

data_analytics@naver.com

https://blog.naver.com/data_analytics

주요 경력

제일제당(現 CJ) ㈜

SK Telecom㈜

SK Communications㈜

현대캐피탈㈜

베어풋 컴퍼니 주식회사

학력

서울대학교 경영학과 학사

KAIST 대학원 경영과학과 석사 (마케팅 Modeling 전공)

강의 경력 (2008년~ )

추계예대, 경희대, 경북대, 경상대, 연세대 , 동국대, 부산대, 한양대, 고려대 등 대학 강의

한국 표준 협회(KSA), 생산성본부, aT농수산식품유통교육원, 중부기술교육원, 흑자경영연구소 등 공개 강의

삼성전자, KT, SK, CJ대한통운, 이마트, 골프존, KIA, NH, 후성그룹, 수산그룹, 롯데정보통신, 산업은행, 유한양행, MG새마을금고, 동원, 신세계, 롯데마트, 삼성SDS, 일진전기, 우리은행, 현대증권, 롯데삼강, 제주JDC, 서브원 등 기업체 사내 강의

여행업 협회 회원 대상 강의, 청년 취업 아카데미 강의, 산업방송 강의, BIO21센터 강의, 대구경북과학기술원(DGIST) 강의, 충남 테크노파크, 대전 테크노파크, 제주 테크노파크 강의, 제주 바이오센터 강의, 제주하이테크산업진흥원 강의, 대구 상공회의소 강의, 능력개발교육원 교강사 대상 강의, 한국관광공사 강의

강의 분야

마케팅전략, 신시장/신제품 개발전략

마케팅통계분석, 수요예측 데이터 분석, 고객데이터 분석, 구매 데이터 분석, SCM 물류 효율화, 합리적 기획을 위한 데이터 분석, R활용 데이터 분석 실무

저서

판단의 기술(2025)

# data[].attributes.attachment_link.title
데이터 분석, 시각화 연구 : 네이버 블로그

# data[].attributes.attachment_link.description
데이터 분석 강의, 전략 컨설팅 HP: 010-3777-9284 e-mail: data_analytics@naver.com 강의 분야: Power Query 활용 데이터 수집 및 전처리, 엑셀 및 Power BI 활용 데이터 요약 및 시각화 그리고 교차 분석 , R 또는 Python 활용 데이터 분석, 통계 이론 및 실습, 고객 데이터 분석, 구매 데이터 분석, 물류 데이터 분석, 수요예측, 최적화 활용 시뮬레이션

# data[].attributes.body
이익 = 매출 – 비용
→ 따라서 이익 분석은 매출 분해 구조를 기본으로 하되,
추가적으로 ‘비용 구조(원가, 할인, 판촉)’를 반영하는 것이 핵심입니다.

# data[].attributes.headline
개념 비교: 공헌이익 vs 영업이익

# data[].attributes.subject
개념 비교: 공헌이익 vs 영업이익

# data[].attributes.body
단가: 1,600원

원가: 900원

판촉비(1+1): 400원

광고비: 300만 원 (월 고정비)

# data[].attributes.body
“공헌이익은 제품 단위의 판단 기준이고,
영업이익은 사업 전체의 판단 기준입니다.

공헌이익이 좋아도 고정비가 너무 크면 영업이익은 적자일 수 있습니다.
그래서 분석 목적에 따라 어디까지 비용을 포함하느냐를 명확히 하고 봐야 합니다.”

# data[].attributes.headline
이익 지표도 매출 분해와 동일한 축으로 분석 가능

# data[].attributes.subject
이익 지표도 매출 분해와 동일한 축으로 분석 가능

# data[].attributes.body
이익 분석이라고 해서 분석 축이 새로 생기는 건 아닙니다.
매출 분석에서 쓰던 구조 위에 '비용 구조만 덧붙이면’ 충분합니다.
단, 할인과 판촉은 매출 증가 요인인 동시에 이익 감소 요인이기도 하다는 이중성을 꼭 함께 봐야 합니다.

# data[].attributes.headline
실습4: "DAX로 핵심 지표 구하고, 피벗테이블로 분해 분석하기"

# data[].attributes.subject
실습4: "DAX로 핵심 지표 구하고, 피벗테이블로 분해 분석하기"

# data[].attributes.body
제품 단위 매출, 이익, 이익률을 DAX로 계산한다.

피벗 테이블을 활용해 지표를 다양한 축(팀, 담당자, 고객, 제품)으로 분해·비교한다.

실습 결과를 통해 구조적으로 수익성을 해석하는 연습을 한다.

지금까지 배운 매출과 이익의 구조를 직접 데이터로 계산하고, 다양한 축으로 나눠서 비교해보겠습니다.

우리는 DAX로 계산된 매출/이익/이익률을 채널, 판촉, 제품, 지역, 시간 기준으로 드릴다운해 보며 '무엇이 이익을 만들고, 어디에서 무너졌는지' 구조적으로 파악해볼 겁니다.”

# data[].attributes.headline
실습5: 2024년 매출이익의 성장이 둔화되었다. 이유가 무엇인지 분해 분석으로 파악해보자.

# data[].attributes.subject
실습5: 2024년 매출이익의 성장이 둔화되었다. 이유가 무엇인지 분해 분석으로 파악해보자.

# data[].attributes.body
전체 수량의 문제인가?

거래빈도의 문제인가?

평균 단가의 문제인가?

할인율의 문제인가?

변동비용의 문제인가?

특정 팀, 담당의 문제인가?

특정 고객의 문제인가?

특정 제품군, 제품의 문제인가?

# data[].attributes.headline
ABC 분석의 핵심 개념과 계산 방법

# data[].attributes.subject
ABC 분석의 핵심 개념과 계산 방법

# data[].attributes.body
왜 ABC 분석이 중요한가?

"모든 제품을 동일하게 관리하는 것은 비효율입니다. 중요도에 따라 다르게 다뤄야 합니다."

제품의 수가 많아질수록, 한정된 자원(인력, 시간, 재고 등)을 효율적으로 쓰기 위해서는 제품의 중요도에 따라 우선순위를 정해야 합니다. ABC 분석은 다음과 같은 문제를 해결해줍니다:

# data[].attributes.body
기준 데이터: 매출 기여도 또는 마진 기여도

누적 기여도 기준으로 제품을 정렬

A/B/C 구간은 일반적으로 다음과 같이 설정:

A: 상위 70~80% 기여 제품

B: 중간 15~25%

C: 하위 5~10%

계산 방식 (예시)

1. 제품별 매출 또는 마진을 기준으로 내림차순 정렬

2. 전체 합 대비 누적 비율 계산

3. 누적 비율을 기준으로 A/B/C 등급 구분

※ 실습에서는 Power Query 또는 Excel 수식 기반으로 분류 작업을 수행합니다.

# data[].attributes.headline
ABC 분석 시 분류 기준 선택 가이드

# data[].attributes.subject
ABC 분석 시 분류 기준 선택 가이드

# data[].attributes.body
매출 기준 → "많이 팔리는 제품"을 중심으로 공급, 생산, 납기 전략 설계에 적합

이익 기준 → "많이 남기는 제품"에 집중해 마케팅, 자원 활용, 구조 개선에 유리

# data[].attributes.headline
인공지능 시대에도 Excel과 BI를 공부해야 하는 이유

# data[].attributes.subject
인공지능 시대에도 Excel과 BI를 공부해야 하는 이유

# data[].attributes.body
Excel과 BI툴은 단순한 분석 도구를 넘어 AI 시대의 데이터를 이해하고 활용하는 데 필수적인 역할을 합니다.

Excel과 BI툴의 실무적 중요성

대부분의 조직에서 데이터를 정리하고 시각화하는 데 가장 널리 사용되는 도구.

실무에서 데이터 보고서 작성, 시각화, 대시보드 생성까지 다양한 분석 요구를 충족.

AI와의 보완적 역할

AI는 데이터를 기반으로 의사결정을 자동화하지만, 데이터 준비와 결과 해석은 여전히 인간의 몫.

Excel과 BI툴은 AI 모델의 결과를 해석하고 이를 비즈니스 전략으로 연결하는 필수 도구.

실무자에게 요구되는 데이터 분석 역량

AI 시대에도 데이터를 정리, 가공, 분석하고, 이를 실질적인 성과로 전환하는 역량이 중요.

Excel과 BI툴은 이러한 역량을 효과적으로 개발할 수 있는 대표적인 도구.

# data[].attributes.headline
엑셀, 7억명 이상 이용

# data[].attributes.subject
엑셀, 7억명 이상 이용

# data[].attributes.body
Microsoft Excel은 전 세계적으로 약 7억 명 이상의 사용자를 보유한 것으로 추정됩니다. 이러한 대규모 사용자 기반은 Excel이 데이터 분석, 관리, 보고서 작성 등 다양한 업무에 널리 활용되고 있음을 나타냅니다. 한편, 프로그래밍 언어의 사용자 수를 살펴보면, 자바스크립트는 약 1,750만 명의 개발자가 사용하고 있으며, 이는 가장 인기 있는 프로그래밍 언어 중 하나로 평가됩니다. 파이썬의 경우, 2022년 기준으로 약 1,570만 명의 개발자가 사용하는 것으로 보고되었습니다.

이러한 수치를 비교하면, Excel 사용자는 자바스크립트나 파이썬 개발자 수보다 훨씬 많습니다. 이는 많은 Excel 사용자가 자신이 프로그래밍을 하고 있다는 인식을 하지 못한 채, 함수 작성, 매크로 사용 등 프로그래밍적 요소를 활용하고 있음을 시사합니다.

# data[].attributes.body
Excel과 BI 툴의 강점

Excel과 BI 툴은 데이터 정리와 실시간 시각화를 통해 실무에서 데이터를 분석하고 의사결정을 지원하는 핵심 도구입니다.

Excel

데이터 정리 및 간단한 계산.

반복 작업 자동화와 간단한 분석 도구.

모든 직무에서 널리 사용되는 범용성.

BI 툴

대시보드 생성 및 직관적 시각화.

실시간 데이터 모니터링과 분석.

조직 내 데이터 기반 의사결정을 지원.

# data[].attributes.body
엑셀은 1985년에 런칭했습니다. Visicalc, Supercalc, Lotus 보다  뒤늦게 스프레드시트 시장에 진입한 엑셀이 1등을 할 수 있었던 배경에는 반응형 기능(값을 입력하면 연동된 데이터들이 즉각적으로 업데이트됨)과 그래픽 인터페이스(마우스로 클릭하여 직관적으로 조작 가능)이 있었기 때문입니다.

엑셀이 이런 유연함의 장점은 약점이 됩니다. 특히 데이터 변경이 많이 필요한 경우 관리가 어렵다는 한계를 가지고 있습니다. 이런 부분을 보고 수많은 스타트업들이 엑셀의 기능을 특화해서 성장했습니다.

# data[].attributes.body
Excel과 BI 툴은 데이터 정리, 시각화, 그리고 AI 모델 통합을 통해 데이터를 비즈니스 전략으로 전환하는 실무 도구입니다.

Excel과 Power Query를 활용한 데이터 정리: 데이터 중복 제거, 정리 및 표준화 작업.

BI 툴로 보고서와 대시보드 제작: 조직 전체가 쉽게 이해할 수 있는 시각적 보고서 제공.

AI 모델과 통합된 데이터 분석: 정리된 데이터를 AI 모델에 입력하여 예측 및 의사결정 지원.

# data[].attributes.body
예를 들어, 판매 예측 모델 개발을 한다면

1.  판매 기록(Excel 또는 데이터베이스), 지역별 인구 통계 데이터, 날씨 데이터(외부 API) 등을 수집하여 엑셀, 파워쿼리로 중복 제거, 결측치 처리, 표준 날짜 형식으로 변환하고 여러 소스에서 가져온 데이터를 병합하여 분석 가능한 형태로 준비합니다.

2. 머신러닝 알고리즘(랜덤 포레스트, XGBoost 등) 또는 딥러닝 모델(LSTM, DNN 등) 중 모델을 선택하고 그에 맞게끔 데이터를 입력합니다. Excel에서 데이터를 저장 → Python 모델에 전달.

3. 입력 데이터를 기반으로 미래의 판매량 예측하고, 날씨 변화에 따른 판매량 변화 분석을 합니다. Python 모델 결과 → 엑셀 파일로 변환

4. 결과 분석 및 의사결정 지원: Power BI 또는 Tableau를 사용하여 예측 결과를 시각화 합니다.  (지역별 판매량 변화, 시간에 따른 트렌드 등을 대시보드로 표현) 이를 근거로 “마케팅 예산을 특정 지역과 제품군에 더 배분” 또는  “재고 관리를 강화하여 특정 기간 동안 품절 방지”와 같은 의사결정을 도출합니다.

# data[].attributes.headline
추천 데이터 분석 툴 구조

# data[].attributes.subject
추천 데이터 분석 툴 구조

# data[].attributes.body
데이터 수집 및 전처리에 Power Query를 사용하고 , 테이블 형태 아웃풋을 만들어야 하는 경우에는 엑셀, 그래프를 넣고 싶을 때에는 Power BI를 활용합니다.

Power Query를 활용한 데이터 수집, 전처리

데이터 분석 중 가장 많이 하게 되는 작업은 데이터 수집 및 전처리입니다. Power Query를 이용하면 코딩 없이 쉽게 데이터 수집 및 전처리가 가능합니다. 또한 작업한 내용이 저장이 되어 있어 같은 작업은 반복할 필요가 없습니다.

MS Excel Pivot table 활용 테이블 형태 분석

Excel은 테이블 형태 분석에 최적이라고 생각합니다. Pivot table 기능을 이용하면 다양한 형태의 표를 만들어서 다각도 교차 분석이 가능합니다.

하지만 기본적으로 Pivot table은 Single table 환경에서만 활용되는 경우가 많은데 Power Pivot 기능을 추가하면 Multi-table 환경에서 교차 분석을 할 수 있습니다. 또한 DAX함수를 활용하면 Pivot table의 요약 옵션의 제한을 해결할 수 있습니다.

Power BI 활용 시각화

Power BI는 시각화가 매력적입니다. 기본적으로 디자인이 이쁘고 기능이 다양합니다. 엑셀에서 구현하지 못했던 그래프를 쉽게 구현할 수 있습니다. 또한 상호작용 기능을 활용하여 no coding으로 대시보드 시각화가 가능합니다.

그리고 텍스트 마이닝, 군집분석, 주요영향요인 분석 등 엑셀로 실행하기 어려운 분석을 아주 간단히 수행할 수 있는 AI적 지원을 합니다.

이번 과정에서는 Power Query, 엑셀 활용하는 범위 내에서 데이터 전처리, 매출, 이익 분석 및 재고 관리 방안까지 다룹니다.

# data[].attributes.body
파워 쿼리는 데이터 변환 및 데이터 준비 엔진입니다. 파워 쿼리에는 원본에서 데이터를 가져오기 위한 GUI와 데이터 변환을 위한 파워 쿼리 편집기가 함께 제공됩니다. 엔진은 많은 제품 및 서비스에서 사용할 수 있으므로 데이터가 저장되는 대상은 파워 쿼리가 사용된 위치에 따라 다릅니다.

파워 쿼리를 사용하여 데이터의 ETL(추출, 변환 및 로드) 처리를 수행할 수 있습니다.

# data[].attributes.body
Power Query는 엑셀에 기본 탑재된 데이터 전처리 자동화 도구입니다. 코딩 없이도 다음과 같은 작업이 가능합니다:

다양한 데이터 원본에서 가져오기 (엑셀, CSV, 폴더, 웹 등)

불필요한 열 제거, 결측치 정리, 텍스트 형식 통일

여러 테이블 병합 (VLOOKUP 없이 연결)

데이터 추가(append) → 여러 파일이나 시트 통합

열 피벗 해제(unpivot) → 넓은 데이터를 분석 가능한 형식으로 변환

변환 내용을 저장하고, 매번 새로 고침만 하면 반복 정리 완료

# data[].attributes.headline
파워 쿼리: 높은 학습 효율

# data[].attributes.subject
파워 쿼리: 높은 학습 효율

# data[].attributes.body
파워 쿼리는 배우기가 매우 쉽고 직관적인 사용자 인터페이스입니다. 나중에 검토하거나 업데이트할 수 있는 프로세스의 각 단계를 보여주기 때문에 유지 관리가 쉽습니다.

많은 사용자는 단순히 도구를 열고, 데이터 소스에 연결하고, 몇 개의 버튼을 클릭하여 정리하고 가져오고, 필요한 차트나 보고서를 작성하기를 원합니다. 메뉴 기반 인터페이스를 사용하면 대부분의 경우 사용자가 단일 공식이나 코드 줄을 배울 필요가 없습니다.

파워 쿼리는 높은 학습 속도를 기대할 수 있습니다. 사용하기 쉽기 때문에 최소한의 교육만으로 신속하게 쿼리를 유지 관리하거나 수정할 수 있는 사람을 확보할 수 있습니다.

# data[].attributes.body
Excel 파일에서 데이터 가져오기

데이터 탭에서 데이터 가져오기 > 파일에서 > 엑셀통합 문서에서 를 선택합니다.

가져올 Excel 파일을 선택하고, 필요한 시트나 테이블을 지정합니다.

파일이 열려 있거나 다른 프로세스에서 사용 중인 경우, 데이터 가져오기에 문제가 발생할 수 있습니다.

CSV 파일에서 데이터 가져오기

데이터 탭에서 데이터 가져오기 > 파일에서 > 텍스트/CSV에서 를 선택합니다.

가져올 CSV 파일을 선택하면, 데이터 미리 보기 창이 나타납니다.

필요에 따라 구분 기호, 데이터 형식 등을 설정한 후 로드를 클릭합니다.

CSV 파일의 인코딩 형식(예: UTF-8)을 확인하여 문자가 올바르게 표시되는지 확인합니다.

폴더에서 여러 파일 가져오기

데이터 탭에서 데이터 가져오기 > 파일에서 > 폴더에서 를 선택합니다.

가져올 파일들이 저장된 폴더의 경로를 지정합니다.

폴더 내의 파일 목록이 표시되며, 데이터 변환 을 클릭하여 Power Query 편집기에서 데이터를 병합하거나 변환할 수 있습니다.

폴더 내의 모든 파일이 동일한 구조와 형식을 가지고 있어야 원활한 병합이 가능합니다.

불필요한 파일이 포함되어 있지 않은지 확인하고, 필요한 파일만 포함되도록 폴더를 정리합니다.

파일 이름이나 경로에 특수 문자가 포함되어 있는 경우, 데이터 가져오기에 문제가 발생할 수 있으므로 주의합니다.

# data[].attributes.headline
Power Query 활용 데이터 전처리 - 중복 제거(Removing Duplicates)

# data[].attributes.subject
Power Query 활용 데이터 전처리 - 중복 제거(Removing Duplicates)

# data[].attributes.body
데이터 내 중복 행은 분석 결과를 왜곡시킬 수 있습니다.

중복 행 식별: 특정 열을 기준으로 중복 여부 판단.

중복 제거: 첫 번째 항목만 남기고 나머지 삭제.

고객 프로필 관리: 각 고객의 정보는 고유해야 하며, 중복된 프로필은 혼란을 초래할 수 있습니다. 예를 들어, 동일한 고객이 여러 개의 프로필을 가지고 있다면, 마케팅 캠페인에서 중복으로 연락을 받거나, 고객 서비스에서 혼선이 발생할 수 있습니다.

로그 데이터 분석: 서버 로그나 웹 로그에는 동일한 이벤트가 여러 번 기록될 수 있습니다. 예를 들어, 시스템 오류가 발생했을 때 동일한 오류 메시지가 여러 번 기록되면 실제 오류 발생 횟수를 정확히 알기 어렵습니다.

센서 데이터 처리: IoT 센서에서 수집된 데이터는 네트워크 지연이나 오류로 인해 동일한 데이터가 중복 수집될 수 있습니다. 예를 들어, 환경 모니터링 센서에서 동일한 시간대에 중복된 온도 측정값이 수집될 수 있습니다.

백업 데이터 관리: 백업 과정에서 동일한 파일이나 데이터 블록이 여러 번 저장될 수 있습니다. 예를 들어, 여러 사용자가 동일한 파일을 저장하면 백업 시스템에 동일한 파일이 여러 번 저장될 수 있습니다.

Power Query "제거 > 중복 제거" 메뉴 활용

# data[].attributes.body
결측값(N/A)은 데이터 분석의 정확도와 품질을 떨어뜨릴 수 있으므로 반드시 처리해야 합니다.

특정 값으로 대체: 예를 들어, 결측값을 평균, 중간값, 또는 0으로 채우기.

예시: 매출 데이터에서 결측값을 해당 카테고리의 평균 매출로 대체.

결측값 제거: 결측값이 많은 경우, 해당 행이나 열 삭제.

예시: 빈 칸이 50% 이상인 열을 삭제.

Power Query "값 바꾸기" 옵션 사용

# data[].attributes.body
결측값의 발생 원인을 정확히 파악한 후, 해당 유형에 맞는 적절한 처리 방법을 선택하는 것이 중요합니다. 이를 통해 데이터 분석의 정확성과 신뢰성을 높일 수 있습니다.

완전 무작위 결측(MCAR: Missing Completely At Random)

결측값이 다른 변수나 해당 변수의 실제 값과 무관하게 무작위로 발생하는 경우입니다. 예를 들어, 설문 응답자가 실수로 질문을 놓친 상황이 이에 해당합니다.

처리 방법

삭제(Deletion): 결측값이 무작위로 발생하므로, 해당 행이나 열을 제거해도 데이터의 대표성이 크게 손상되지 않습니다.

단순 대체(Simple Imputation): 평균, 중앙값, 최빈값 등으로 결측값을 대체.

무작위 결측(MAR: Missing At Random)

결측값의 발생이 관측된 다른 변수와 관련이 있지만, 해당 변수의 실제 값과는 무관한 경우입니다. 예를 들어, 특정 연령대의 응답자들이 특정 질문에 답하지 않는 경향이 있지만, 그들의 실제 응답 내용과는 무관한 상황입니다.

처리 방법

고급 대체(Advanced Imputation): 다른 변수와의 관계를 활용하여 회귀 대체나 다중 대체(Multiple Imputation) 방법 적용.

예측 모델 기반 대체(Model-Based Imputation): 머신러닝 모델을 활용하여 결측값을 예측하고 대체.

비무작위 결측(MNAR: Missing Not At Random)

결측값의 발생이 해당 변수의 실제 값과 직접적으로 관련이 있는 경우입니다. 예를 들어, 소득이 높은 사람들이 소득 관련 질문에 답변을 회피하는 상황입니다.

처리 방법

전문가 지식 활용: 결측값의 발생 원인을 파악하고, 도메인 전문가의 지식을 활용하여 적절한 대체 값을 결정합니다.

모델링 기법 적용: MNAR 상황을 고려한 특수한 통계 모델이나 알고리즘을 적용하여 결측값을 처리합니다.

# data[].attributes.body
데이터 형식(날짜, 숫자, 텍스트)이 일관되지 않으면 분석이 어렵습니다.

날짜: "20241201" 형식을 "2024-12-01"로 변환.

텍스트: 대소문자 통일, 공백 제거.

Power Query "열 변환" 메뉴로 자동 변환

# data[].attributes.body
대량의 데이터 중 필요한 정보만 추출하여 분석에 활용.

특정 조건을 설정하여 데이터 필터링.

예시: 매출이 1,000,000원 이상인 데이터만 추출.

다중 조건 필터링: 지역별, 제품별, 날짜별 조건 동시 적용.

Power Query "조건 열 추가"로 조건에 맞는 행 필터링

# data[].attributes.body
분석에 필요하지 않은 열과 행을 제거하거나 새 데이터를 추가.

불필요한 열/행 제거: 분석에 의미 없는 데이터 제거.

예시: 설명 문구나 빈 열 삭제.

새 열 추가: 계산된 값이나 파생 데이터를 추가.

예시: "총 매출 = 수량 × 단가"로 새로운 열 생성.

도구: Power Query "사용자 지정 열 추가" 메뉴 활용,

# data[].attributes.body
정의: 두 개 이상의 테이블에서 공통 키(Key)를 기준으로 데이터를 결합하여 하나의 테이블로 생성.

활용 사례:

제품 정보 테이블과 판매 기록 테이블을 병합하여 판매 현황 분석.

직원 정보와 근태 데이터를 결합하여 종합 보고서 생성.

병합 유형:

내부 병합 (Inner Join): 두 테이블 모두에서 공통으로 존재하는 키 값만 포함.

외부 병합 (Outer Join): 두 테이블의 모든 데이터를 포함(필요 시 누락된 값을 NULL로 채움).

# data[].attributes.body
정의: 여러 테이블의 데이터를 동일한 열 구조로 합쳐 하나의 테이블로 통합.

활용 사례:

지역별 판매 데이터를 하나의 통합 테이블로 결합.

여러 분기의 재무 데이터를 하나로 합쳐 연간 보고서 생성.

추가의 특징:

행 단위로 데이터를 결합하며, 열 구조는 일치해야 함.

중복된 데이터가 포함될 수 있으므로 추가 전 정리 필요.

# data[].attributes.body
열 피벗 해제는 데이터의 여러 열을 하나의 열로 합쳐 길고 좁은 형식(Long Format)으로 변환하는 작업입니다. 주로 데이터가 여러 범주(예: 월, 지역, 제품군)별로 열로 나열된 경우, 이를 분석에 적합한 구조로 바꾸는 데 사용됩니다.

열 피벗 해제의 필요성

분석 도구 최적화:대부분의 분석 도구(Excel 피벗 테이블, Power BI, Tableau 등)는 길고 좁은 형식의 데이터를 선호.

유연한 분석:여러 열로 나뉜 데이터를 하나의 열로 통합하면 필터링, 그룹화 및 집계 작업이 쉬워짐.

복잡한 데이터 구조 단순화:데이터 시각화 및 모델링 시 일관성 있는 데이터 형식 유지.

열 피벗 해제는 Excel에서 제공하지 않으므로 Power Query를 사용.

필요하지 않은 열 선택: 분석에 필요한 열(예: 제품군)을 제외한 나머지 열 선택.

열 피벗 해제 실행: 선택한 열에서 [변환] 탭 → "열 피벗 해제" 버튼 클릭.

# data[].attributes.headline
실습1: 다양한 원본에서 데이터 불러오기

# data[].attributes.subject
실습1: 다양한 원본에서 데이터 불러오기

# data[].attributes.body
1. 테이블/범위에서 쿼리를 만들고 일반 표 형태로 변경 후 연결로 로드

2. 엑셀 파일에서 쿼리를 만들고 일반 표 형태로 변경 후 연결로 로드

3. csv, txt 파일에서 쿼리를 만들고 일반 표 형태로 변경 후 연결로 로드

4. 폴더에 연도별 실적이 각각  파일로 들어있을 때 전체 실적을 통합한 쿼리로 병합 후 연결로 로드

# data[].attributes.body
1. 결측치 처리 : 상황별 적절한 결측치 처리 방법 선택

2. 고객 프로필 테이블에서 중복된 내용 제거

3. 날짜 형식 변경: 날짜 정보인데 날짜 형식이 아닌 경우 날짜 형식으로 변경

4. 특정 팀의  특정 카테고리에 해당하는 데이터만 필터링

5. 필요 없는 열 삭제 및 현재 없지만 필요한 열 추가

6. 두 개 테이블을 공통된 key field를 중심으로 병합하여 하나의 테이블 생성

7. 동일한 필드 구조의 두개 이상의 테이블을 데이터 추가 기능을 이용하여 하나의 테이블 생성

8. 피벗된 원본 데이터를 Long format 형태로 피벗 해제

# data[].attributes.body
Power Pivot이란?

엑셀 내장 고급 데이터 분석 및 모델링 도구.

멀티테이블 관계 설정과 DAX 함수 지원으로 데이터 분석 확장.

Power Pivot의 주요 특징

멀티테이블 데이터 모델링: 여러 데이터 소스를 통합하여 관계형 데이터 분석.

DAX 함수 활용: 누적 매출, 성장률, KPI 등 고급 계산 가능.

대규모 데이터 처리: 수십만~수백만 행 데이터를 빠르게 처리.

엑셀과 완벽한 통합: 기존 피벗테이블과 결합하여 더 강력한 분석 가능.

활용 가능성

시간 기반 분석: 월별 매출, 전월 대비 성장률, 연간 누적 매출.

다양한 조건부 분석: 특정 제품군, 지역, 고객별 성과 분석.

효율적인 데이터 관리: 자동화된 데이터 모델로 반복 작업 최소화.

# data[].attributes.body
Power Pivot은 서로 다른 표(table)간의 관계를 정의하고 수정하여 single table 상의 피벗 테이블 분석이 아니라 multi table 환경에서 피벗 테이블 분석을 가능하게 해준다.

DAX(Data Analysis Expressions)함수를 이용하여 피벗테이블의 제한적인 요약 옵션을 벗어난 지표를 구하고 자유롭게 피벗테이블 분석을 가능하게 해준다.

# data[].attributes.body
MS excel의 파일>옵션>추가기능에서 COM추가 기능 선택 및 이동 버튼 클릭

COM 추가기능 창에서 Power Pivot 기능에 체크 후 확인

# data[].attributes.body
여러 테이블을 데이터 모델에 불러오기

지원 데이터 소스: 엑셀 테이블, 데이터베이스(SQL Server, Access 등), 텍스트 파일, 외부 데이터 소스 등.

단계별 작업:

Power Pivot 리본 메뉴 → 데이터 추가 선택.

원하는 테이블을 엑셀에서 데이터 모델로 불러오기.

데이터가 Power Pivot 데이터 모델 창에 표시되는지 확인.

테이블 간 관계 설정

관계의 역할

테이블 간 데이터를 연결하여 분석 가능.

예: Sales와 Customers를 연결해 고객별 매출 분석.

1:N 관계 설정 (기본 구조):

예시: Sales[Customer ID] → Customers[Customer ID].

"하나의 고객"이 "여러 매출"에 매핑.

단방향 필터링 (Single Direction):

필터가 데이터 흐름의 한 방향으로만 적용되어 순환 참조 방지.

관계 설정 화면에서 Cross Filter Direction → Single 선택.

멀티테이블 환경 설정의 효과

여러 테이블 데이터를 연결해 통합 분석 가능.

테이블 간 관계를 설정하면 피벗테이블에서 다차원 분석 지원.

# data[].attributes.body
Power Pivot의 여러 테이블 간의 관계를 정의하는 것을 데이터 모델링이라 한다.

데이터 모델링을 하려면, 우선 각 테이블을 Power Pivot > 데이터 모델에 추가를 클릭하여 각각 추가해야 한다.

# data[].attributes.body
데이터 모델링은 파워피벗 창의 홈 메뉴에서 다이어그램 보기에서 GUI를 이용하여 쉽게 할 수 있다.

관계를 정의하고자 하는 테이블의 키 필드를 클릭하여 드래그 앤 드랍으로 설정하면 테이블 사이에 관계선이 생성되고 선 위에 마우스를 올리면 관계를 확인할 수 있다.

# data[].attributes.body
엑셀에서 Vlookup함수는 다른 테이블 값을 참조할 때 많이 사용한다.

구성은 = Vlookup(찾을값, 참조범위, 열번호, [일치옵션])

찾을 값은 다른 테이블의 값을 참조할 때 기준이 되는 값이 있는 열의 값

참조범위는 참조할 값이 있는 표 범위(단, 찾을값 열이 가장 왼쪽에 있어야 한다.)

열번호는 참조범위에서 찾을값부터 몇번째 열인지 해당 열 값을 숫자로 입력하면 된다.

마지막 일치옵션 완전 일치와 유사 일치가 있는데 완전 일치는 찾을값과 완전히 똑같은 경우에만 참조하고 유사 일치는 찾을 값보다 '작거나 같은 값 중 최대값'을 검색하며, 유사 일치로 검색할 경우 참조범위의 첫번째 열은 반드시 숫자 형식이고 오름차순으로 정렬되어야 합니다.

예를 들어, 아래 표에서 정상 판매금액을 구하려면 제품 테이블에 있는 단가 정보를 가져와서 구해야 한다. 그 때 Vlookup함수를 이용하면 원하는 결과를 얻을 수 있다.

# data[].attributes.body
다른 테이블 값을 참조할 때 Vlookup함수란 방법이 있지만 Power Pivot으로 데이터 모델링한 이후에는 다른 옵션이 생긴다.

테이블 간 관계가 정의되었기 때문에 Vlookup함수의 중요한 요소인 찾을값을 넣을 필요가 없다.

DAX함수인 =RELATED(참조열)로 정의하면 원하는 참조열값을 가져올 수 있다.

# data[].attributes.body
날짜 정보를 활용한 여러가지 측정값을 계산할 경우 몇몇 DAX함수는 해당 날짜열이 반드시 하루도 빠짐이 없어야 한다. 일반적으로 원 데이터 테이블의 날짜열은 빈 날짜가 있는 경우가 대부분이므로 날짜 테이블을 추가하는 것을 필수적인 작업으로 수행하는 것이 바람직하다. (파워피벗>디자인>날짜테이블>새로 만들기)

그리고 날짜를 표나 그래프에 표시할 때 기본적인 날짜열로는 원하는 옵션이 없을 수 있므로 날짜로 표현할 수 있는 여러가지 변형 필드를 추가하는 식으로 만들고 그 구성을 저장한다.

# data[].attributes.headline
데이터 모델링 시 꼭 알아야 할 기본 규칙

# data[].attributes.subject
데이터 모델링 시 꼭 알아야 할 기본 규칙

# data[].attributes.body
관계 설정

단방향 필터(Single Direction): 필터가 한 방향으로만 전달.

양방향 필터(Bi-directional): 두 테이블 간 필터가 상호 전달.

권장: 단방향 필터를 기본으로 설정해 순환 참조 방지.

Primary Key와 Foreign Key의 역할

Primary Key: 테이블 내 고유한 식별자.

예: Customer ID, Product ID.

Foreign Key: 다른 테이블과 연결하는 참조 필드.

예: Sales[Customer ID]  ↔ Customers[Customer ID].

정규화와 비정규화

정규화: 데이터 중복 최소화, 참조 테이블 구성.

비정규화: 성능 개선을 위해 중복 허용.

예: Sales 테이블에 고객의 Region을 포함.

# data[].attributes.headline
성능을 최적화하는 데이터 모델링

# data[].attributes.subject
성능을 최적화하는 데이터 모델링

# data[].attributes.body
중복 제거

불필요한 열은 숨기거나 제거하여 테이블 크기를 최적화.

예: 분석에 사용하지 않는 메타 정보(Created Date 등)는 제거.

다대다 관계 피하기

다대다 관계(M:N)는 분석 성능 저하의 원인.

해결: 중간 테이블(Bridge Table)을 만들어 1:N 관계로 변환.

필터 방향 설정

단방향 필터를 기본으로 설정.

양방향 필터는 필요한 경우에만 신중히 사용.

불필요한 열 숨기기

테이블에서 보고서와 분석에 사용하지 않는 열은 숨겨 데이터 모델을 간소화.

# data[].attributes.body
데이터보기 모드에서 ‘열추가’를 클릭하고 아래 그림처럼 수식 입력창에 원하는 DAX함수식을 입력하면 새로운 열이 생성된다.

계산된 열은 행(Row) 단위로 계산.

테이블의 각 행마다 동일한 계산식이 적용되어 고정된 값이 생성.

주로 테이블 확장의 목적으로 사용.

# data[].attributes.body
Power Pivot에서 분석에 필요 없는 열(필드)을 숨길 수 있다.

데이터 보기, 다이어그램 보기 양쪽 모두에서 가능하며, 해당 필드를 선택, 우클릭하고 ‘클라이언트 도구에서 숨기기’를 클릭하면 된다.

# data[].attributes.headline
파워쿼리 vs 파워피벗

# data[].attributes.subject
파워쿼리 vs 파워피벗

# data[].attributes.body
Power Query: 원본 데이터의 전처리와 크기 축소에 최적화.

Power Pivot: 메모리 기반으로 관계 설정과 집계 분석에 최적화.

최적화 조합: 전처리는 Power Query에서, 분석은 Power Pivot에서 수행하는 것이 성능과 작업 효율성 측면에서 가장 유리

# data[].attributes.headline
측정값으로 피벗테이블 요약 옵션 추가

# data[].attributes.subject
측정값으로 피벗테이블 요약 옵션 추가

# data[].attributes.body
피벗테이블의 계산 옵션은 제한적이어서 (합계, 평균, 개수, 최대, 최소, 표준편차, …) 이를 벗어난 지표로 피벗테이블 분석의 장점인 여러 변수를 중첩해서 분석하는 것이 어렵다.

하지만 파워 피벗을 이용하여 피벗테이블을 수행하면 해당 테이블에서 측정값 추가를 클릭하여 원하는 지표를 계산하여 다른 요약 옵션을 사용하 듯이 자유롭게 피벗테이블의 여러 변수를 중첩해서 분석하는 것이 가능하다.

# data[].attributes.body
DAX (Data Analysis Expressions): Power Pivot 및 Power BI에서 데이터 계산 및 요약을 위한 함수 집합. 엑셀의 수식과 유사하지만, 데이터 모델 전체를 참조.

# data[].attributes.body
1. 파워쿼리 활용 데이터 추출 및 전처리

2. 파워피벗에 데이터 로딩하고 데이터 모델링

3. 날짜 테이블 추가 및 모델링

4. 추가 열 만들기 및 불필요한 열 제거

5. 멀티테이블 환경 피벗테이블 시작

# data[].attributes.body
매출-이익 구조 분석은 단순 계산이 아니라, 다양한 전략 판단의 출발점이 될 수 있는 도구입니다.

매출 위주 판단이 필요한 경우:

신제품 초기 확산 단계 – 시장 점유율 확보가 중요할 때

유통 채널과의 협상에서 매출 규모가 영향을 줄 때

생산설비 활용률 제고가 목적일 때 (고정비 부담 분산)

이익 위주 판단이 필요한 경우:

자원이 제한적일 때 – 마진 높은 제품에 집중해 수익 극대화 필요

원가 상승 등으로 수익성이 급변할 때 – 고비용 구조 개선 필요

제품 포트폴리오 조정 시 – 유지/중단 판단 기준이 필요할 때

# data[].attributes.headline
지표는 '수치'가 아니라 '판단의 출발점'이다

# data[].attributes.subject
지표는 '수치'가 아니라 '판단의 출발점'이다

# data[].attributes.body
매출, 이익, 이익률 등 숫자 자체는 결론이 아니다

전략적으로 유의미한 해석을 위해서는 비교 기준이 필수

같은 수치도 무엇과 비교하느냐에 따라 의미가 달라진다

# data[].attributes.headline
기준은 어떻게 설정할 수 있는가?

# data[].attributes.subject
기준은 어떻게 설정할 수 있는가?

# data[].attributes.headline
문제 판단 시 점검해야 할 질문들

# data[].attributes.subject
문제 판단 시 점검해야 할 질문들

# data[].attributes.headline
실습 6: 할인율 목표를 5%로 정했을 때 어떤 부분에서 문제가 있었는지 분해 분석해보자.

# data[].attributes.subject
실습 6: 할인율 목표를 5%로 정했을 때 어떤 부분에서 문제가 있었는지 분해 분석해보자.

# data[].attributes.body
특정 팀, 담당의 문제인가?

특정 고객의 문제인가?

특정 제품군, 제품의 문제인가?

# data[].attributes.body
왜 제품을 차등 관리해야 하는가?

“모든 제품을 동일하게 관리하면,
중요한 제품에 충분한 자원을 투입할 수 없습니다.”

제품 수가 많아질수록
→ 인력, 시간, 재고 등 자원은 분산되고
→ 전략적 판단은 흐려집니다.

ABC 분석은 제품의 매출/이익 기여도를 기준으로 우선순위를 정하고,
그에 따라 관리 수준을 조정하는 구조입니다.

이 과정에서 우리가 해야 할 핵심 활동

제품의 기여도를 기준으로 등급(A/B/C) 분류한다

등급별로 예측 정확도, 재고 수준, 운영 전략을 달리 적용한다

이 모든 분석 결과를 하나의 기준 테이블로 통합해 지속 가능한 운영 체계를 만든다

# data[].attributes.headline
단계적 분석 vs 직접 분석

# data[].attributes.subject
단계적 분석 vs 직접 분석

# data[].attributes.body
제품이 50개 미만이면: 제품 단위로 바로 ABC 분석해도 무방

100개 이상이면: 제품군별로 우선 나눈 후, 그 안에서 ABC 분석하는 방식이 더 정교하고 전략적

# data[].attributes.headline
실습 7: 주어진 데이터로 ABC 분석하고 등급별 차등 관리 방안을 정리해보자. 

# data[].attributes.subject
실습 7: 주어진 데이터로 ABC 분석하고 등급별 차등 관리 방안을 정리해보자. 

# data[].attributes.body
제품별 매출 또는 이익 기준 데이터를 불러온다

기여도 내림차순 정렬 및 누적합, 누적 비율을 계산한다

누적 비율에 따라 A/B/C 등급을 자동 분류한다

등급별 제품 수와 기여도 비중을 요약한다

Pareto 차트 또는 누적 막대그래프로 시각화한다

A/B/C 각 등급별 관리 전략을 정리한다

A: 예측 정밀도 향상, 재고 우선 확보

B: 표준 재고/공급 유지

C: 주문형 운영 전환 가능성 검토

# data[].attributes.headline
효과적 수요예측의 조건

# data[].attributes.subject
효과적 수요예측의 조건

# data[].attributes.headline
시계열 분석을 이용한 예측

# data[].attributes.subject
시계열 분석을 이용한 예측

# data[].attributes.body
과거 패턴 모델화 예측

예측하고자 하는 변수의 과거치를 중시

예측시점 전까지의 과거 시계열 데이터가 예측치를 만들 수 있는 대부분의 정보를 내포하고 있다는 것이 기본 개념

경제 주체들이 자신들의 과거 경험과 지식에 따라 움직이고 있음을 중시

예를 들어 소비지출, GDP 자료 등은 예측시점 전까지의 자신의 과거 수치를 주로  미래 예측치의 근거로 활용

# data[].attributes.body
다음의 사례를 보자. 2018년부터 2024년까지의 매출액과 성장률이 들어있는 표이다.  이때 평균 성장률은 얼마이고 2025년 예측치를 평균성장률을 적용하여 구한다면 어떻게 될까?

# data[].attributes.body
일반적으로 구하는 방식은 2018~2024년까지의 성장률의 산술 평균을 구하는 것이다.
즉, (124%+137%+196%+142%+137%+159%)/6=149%를 평균 성장률로 구하고 2024년 매출액인 4,100억원에 평균성장률 149%를 곱하여 2025년 예측치로 6,112억원을 예측하는 방식이다. 하지만, 이렇게 할 경우 논리적 문제가 생긴다.

평균성장률이 149%라면 2018년 매출액인 400억원에 성장률⁶ 을 곱했을 때 (즉, 400×149%⁶ ) 2024년 매출액인 4,100억원이 나와야 한다. 하지만 계산해보면 4,392억원이 나오는 걸 알 수 있다.
따라서 평균성장률 구하는 방법은 산술평균이 아니라 (4100/400)1/6의  방식으로 구해져야 한다. 이제 아까와 같이 2018년 매출액 400억원에 성장률6 을 곱했을 때 4,100억원이 나오는 것을 확인할 수
있을 것이다.

# data[].attributes.body
Smoothing기법들은 전반적으로 data의 가중치 또는 평균을 사용하여 예측치로 그래프를  그리면 평평한 형태를 보이게 된다.

# data[].attributes.body
왜 등급별로 수요예측 정밀도를 나눠야 하는가?

"모든 제품에 정밀한 예측을 적용하는 것은 비현실적입니다. 중요한 제품일수록 더 정밀하게 예측해야 합니다."

➡ 수요 예측도 자원 배분의 대상입니다.
A등급 제품에 더 정밀한 모델과 판단 개입을 배치하는 것이 전략적으로 타당합니다.

# data[].attributes.headline
수요예측 적용 방식 요약

# data[].attributes.subject
수요예측 적용 방식 요약

# data[].attributes.body
예측 방식 분류 기준

A등급: 계절성·트렌드 반영 가능성이 높은 제품 → 단기 예측도 정밀해야 함

B/C등급: 수요 안정성 확보가 목적 → 과거 실적 기반 평균값으로 충분

"모든 제품을 동일한 방식으로 예측하면 효율도 정확도도 떨어진다."

"A등급 제품은 정밀한 모델과 판단 개입이 필요하고, B/C등급은 단순 기준 자동화가 실용적이다."

"수요 예측은 정답을 찾는 과정이 아니라, 운영 가능한 구조를 설계하는 일이다."

# data[].attributes.headline
실습 8: 공구판매량 시계열 분석 예측

# data[].attributes.subject
실습 8: 공구판매량 시계열 분석 예측

# data[].attributes.body
공구 판매량의 시계열 데이터를 활용하여 시계열 방법론으로 월별 판매량을 예측하세요.

# data[].attributes.headline
실습 9: 등급별 예측 관리방안 

# data[].attributes.subject
실습 9: 등급별 예측 관리방안 

# data[].attributes.body
주어진 데이터로 ABC 분석을 하고 등급별 예측 관리방안을 적용하세요.

# data[].attributes.body
안전재고

안전재고란 일반적으로 수요와 공급의 변동에 따른 불균형(불확실성)을 방지하기 위해 유지하는 계획된 재고로서, 보통 품절(Shortage)을 방지하는데 있다.

수요의 불확실성을 대비하는 것을 안전재고라 하고, 공급(협력사/외주 포함)의 불확실성을 대비하는 것을 안전 리드타임(Safety Lead Time)이라고 하나 이는 궁극적으로 필요 시기보다 일찍 보유하게 됨으로 안전재고와 동일하게 처리하고 있음

# data[].attributes.headline
고객서비스 수준과 안전재고

# data[].attributes.subject
고객서비스 수준과 안전재고

# data[].attributes.body
D: 연간 수요량, S: 1회 주문비용(발주, 입고 처리비용), H: 연간 단위당 보관비용 (단가ⅹ보관비율)

※ “보관비는 원래 제품 단가와 상관없는 비용일 수 있습니다. 하지만 실무에선 제품 수가 많고, 창고 단가도 일정하지 않기 때문에 단가에 비례하는 ‘보관비율’을 쓰는 건 현실적인 타협입니다.

정밀 계산이 필요하면, 부피나 팔레트당 비용을 따로 반영하는 구조로 바꾸면 됩니다.”

# data[].attributes.body
리드타임이 2일이면, 하루 오차의 2배가 아니라 배만큼 안전재고를 확보하는 이유는 수요 오차가 독립적이고, 그 총합의 표준편차는 분산의 합의 제곱근으로 계산되기 때문입니다.

# data[].attributes.body
ROP = 리드타임 동안 소비될 평균 수요량 + 예측이 틀릴 수 있다는 것을 감안한 여유분(안전재고)

이 수치를 넘어서면 품절 위험이 생기기 때문에, ROP는 '발주의 타이밍'을 결정하는 핵심 기준입니다.

# data[].attributes.headline
등급별 재고 관리 방안

# data[].attributes.subject
등급별 재고 관리 방안

# data[].attributes.body
"모든 제품에 동일한 안전재고와 발주 기준을 적용하면, 일부는 과잉 재고, 일부는 품절이 발생합니다."

ABC 분석과 수요예측 결과를 토대로 제품별 중요도와 수요 패턴에 맞는 재고 전략을 적용해야 다음과 같은 문제가 해결됩니다:

# data[].attributes.headline
재고 관리 테이블 구조

# data[].attributes.subject
재고 관리 테이블 구조

# data[].attributes.body
“재고 전략은 ‘제품을 얼마나 중요하게 생각하느냐’에 따라 달라져야 합니다.

중요한 제품은 잘 팔리는 게 아니라, 잘 대응되어야 하는 제품입니다.
그래서 우리는 등급에 따라 ROP, EOQ, 안전재고 수준까지 다르게 설계해야 합니다.”

이런 테이블이 하나의 마스터로 정리되어 있으면:

재고 자동 계산 구조로 연결 가능

제품 전략 회의에서 우선순위 판단 가능

수요 변화에 따라 정기 갱신만 하면 됨

# data[].attributes.headline
등급별 정밀 재고 전략 차별화 기준

# data[].attributes.subject
등급별 정밀 재고 전략 차별화 기준

# data[].attributes.body
ABC 분석을 기반으로 한 재고 전략은 단순히 EOQ, ROP 수식을 적용하는 것을 넘어서,
입력값의 정밀도, 예측 방식, 반응 속도까지 등급별로 차별화되어야 한다.

모든 제품에 동일한 재고 기준을 적용하면,
중요 제품은 품절되고, 비중요 제품은 재고가 쌓인다.
따라서 등급별로 수요 예측 방식, 발주 기준, 안전계수까지 설계가 달라야 한다.

# data[].attributes.headline
실습 10: 등급별 재고 관리 방안

# data[].attributes.subject
실습 10: 등급별 재고 관리 방안

# data[].attributes.body
제품별 매출 또는 이익 데이터를 기반으로 ABC 등급을 분류한다

수요 데이터와 리드타임 정보를 활용해 ROP, EOQ, 안전재고를 계산한다

등급별로 서로 다른 재고 전략을 적용한다

# data[].attributes.body
#"제품별 수요 통계" = Table.Group(#"그룹화된 행 수",

{"Product ID"},

{

{"평균수요", each List.Average([Monthly_Qty]), type number},

{"수요표준편차", each List.StandardDeviation([Monthly_Qty]), type number}

}

)

in

#"제품별 수요 통계"

# data[].attributes.body
누계매출순위_제품 =

RANKX(

ALL('범위'[Product Name]),

CALCULATE(

SUM('범위'[Sales]),

ALLEXCEPT('범위', '범위'[Product Name])

),

,

DESC,

DENSE

)

누계비율 =

CALCULATE(

sum('범위'[Sales]),

FILTER(all('범위'),

[누계매출순위_제품]<=EARLIER([누계매출순위_제품])

)

)

누계매출 =

[누계매출]/CALCULATE(sum('범위'[Sales]),all('범위'))

ABC등급 =

switch(true(),[누계비율]<0.7,"A",[누계비율]<0.9,"B","C")

# data[].attributes.body
EOQ =

ROUND(SQRT(2*[@연평균수요]*[@주문비용]/([@[Unit Price]]*[@보관비율])),0)

안전재고 =

ROUND(1.65*[@수요표준편차]*SQRT([@리드타임]),0)

ROP =

ROUND([@평균수요]*[@리드타임]+[@안전재고],0)

# data[].attributes.body
https://padlet.com/barefootlab/padlet-u2tdk4kmhkxsc7x2

https://bit.ly/4kxdL69