신규 서비스 기획 영향도 측정을 위한 고객사 유형별 가설 수립과 SQL을 통한 검증으로,
업데이트 이후 일 평균 문의량 3,000건 중 0.4%이내로 관련 문의 최소화
이카운트 : 월 정액 업무관리 IT 솔루션 (SaaS)
•
•
•
•
Project Summary
•
배경 :
•
목표 :
•
문제/기회 :
•
전략/해결책 :
•
실행 방안 :
•
결과/인사이트 :
ERP 신규 서비스 기획 영향도 측정을 위한 (부분 자동화) 고객사 유형별 가설 수립과 SQL을 통한 데이터 검증
1. 배경
•
매출 · 구매 · 생산 등 전표 내에 품목코드 입력하여 단가 호출 시, 금액 관련 특정 항목에서 단가와 VAT를 각각 따로 입력해야하는 번거로움 존재
•
이로 인해 다수의 고객사 로부터
00건(몇 건이 현실적일지?)의 개선 문의 확인
•
따라서, 팀 내부적으로 우선순위를 높여 문제를 해결하기 위한 기획 회의 진행
2. 목표
•
팀 단위 목표
◦
(1) 상품별로 단가에 VAT를 자동 계산하여 적용되도록 신규 서비스 기획
▪
자동계산식 적용 ➜ [단가 x (1+적용부가세율)] (수동 조정 가능)
•
ex 1. VAT 포함 품목 : 단가 (1,000원) x VAT(100원) 적용되어 총 금액이 1,100원으로 기록
•
ex 2. VAT 별도 품목 : 단가 (1,000원) x VAT(N원) 적용되어 총 금액이 1,000 + N원으로 기록
◦
(2) 신규 기능 추가 프로젝트 진행 여부에 대한 판단
▪
Pros. 서비스 사용 편의성 증대
▪
Cons. 고객사 DB 데이터 변경 우려
•
개인 업무 R&R
◦
목표 : 프로젝트를 진행해도 되는지 판단을 위한 영향도 규모 파악
▪
팀단위에서 우선순위로 결정된 기획 건에 대한 수치적인 데이터를 근거로 타당성 여부 확인 및 해결책 제시
3. 문제 및 기회 (이유 + 분석)
•
상황
◦
‘VAT 자동 계산’이라는 신규 기획이 추가 시, ① 에 있던 숫자 ‘0’ 이 ②에 있는 숫자 ‘12,000’으로 자동 계산되어 반영될 예정
◦
일반적인 ERP 사용 프로세스에 따라서 일부 기능에서 숫자가 바뀌는 등의 고객 데이터가 변경될 가능성이 있음, 불필요한 상담 문의 수 증가 방지 및 고객사 서비스 해지로 인한 이탈 방어 필요
PPT 이미지 수정 필요
•
문제 정의
◦
(1) 주요 사용자들의 ERP 활용 예시에 따라, 영향 받는 기능 파악과 규모 확인을 위한 데이터 추출 그룹핑 기준 정립
◦
(2) 신규 기획 건 진행 타당성 여부 판단을 위한 데이터 검증 필요
◦
(3) 임팩트 규모에 따라, 예상 시나리오 별 대응책 마련
4. 전략 및 해결책 (분석한 문제를 해결하기 위한 방법)
•
전략 : 기획으로 인해 영향 받는 그룹 속성 분류 최대한 ‘MECE (누락없고, 중복없고)’로 해결 할 수 있는 방안 도출
◦
(1) 기능 type 분류 : A1.판매 입력 양식(입력양식), A2.매출 전표(저장전표), B.거래명세서(출력물)
▪
ERP 입력 프로세스 상, [입력 양식 → 전표 저장 → 출력물 생성] 단계로 구성
▪
이로 인해 사용자 목적에 따라, 각각의 입력 단계별 기능에서 ‘단가(Vat포함)’ 항목이 포함되는 점 확인
표에 A1, A2, B 표시하기 (그룹핑 기준)
◦
(2) SQL을 통한 고객사 CASE별 규모 파악 및 가설 검증
▪
A1 : 현재 · 미래에 잠재적으로 영향을 받을 수 있는 유저
•
ex. 향후 판매 데이터 입력 시, 변경된 기능을 보게 될 고객사
▪
A2 : 과거 입력 데이터가 변경되어, 잠재적으로 영향을 받을 수 있는 유저
•
ex. 이전 3개월 간 만들어 놓은 매출전표의 단가(vat)항목 입력 값이 변하게 될 고객사
▪
A1 ∩ A2 ➜ 현재 기능 변경 시, 즉시 영향 받는 유저 (과거 · 현재 · 미래)
•
ex. 과거 3개월 간 단가(vat)항목을 포함하여 매출전표를 생성하였고, 현재 시점에서도 단가(vat) 항목을 지속 사용하는 고객사
▪
B ➜ 출력물 데이터를 메일 등 외부로 발송되어, 데이터 수정이 불가능 한 유저
•
ex. 할인, 반품, 계약조정, 환율변동 등으로 단가(vat포함)을 출력물에서 활용한 고객사
◦
(3) 각 CASE별 대응방안 마련 및 의사결정
▪
A1 ∩ A2 ➜ 업데이트 공지 팝업 + 데이터 Mig. + 상담문의로 해결
▪
B ➜ 강성 상담 프로세스 구축 or 해지 고려
5. 실행 방안
•
(1) 기능 type 분류 및 ERD를 통한 테이블 구조 파악 (해석, 파악)
◦
A1.판매 입력 양식(입력양식), A2.매출 전표(저장전표), B.거래명세서(출력물) 데이터 베이스 및 unique 값을 포함한 column 정의
•
(2) SQL을 통한 고객사 CASE별 규모 파악 및 가설검증 (쿼리짜고, 가공방법)
◦
A1. 현재 · 미래에 잠재적으로 영향을 받을 수 있는 유저
▪
① 데이터 수집
•
양식 메인 테이블(매출, 구매, 생산 전표 등 포함)을 기준으로 양식 상세 테이블(거래처, 단가 등 포함)을 ’회사코드’, ‘양식 타입’, ‘양식 순서’ 열을 기준으로 조인
▪
② 데이터 전처리
•
전표 유형이 ‘매출전표’의 ‘기본 입력 양식’이면서, 단가(vat포함) 항목을 포함하는 데이터만 필터링
▪
③ 데이터 추출
•
양식 정보를 기반으로 새로운 테이블을 생성하여, 회계 테이블과 ‘회사코드’ 기준으로 재조인하여 조건에 해당하는 ‘회사코드’, ‘회사명’ 출력
A1. 현재 · 미래에 잠재적으로 영향을 받을 수 있는 유저
USE ACCT; -- 회계 DB를 사용해서
SELECT A.COM_CODE, A.COM_DES -- '회사코드'와 '회사명' 호출
FROM ACCT.ACC001 A -- A라고 명명한 회계 테이블로부터
INNER JOIN ( -- 다음 B의 서브쿼리와 교집합 조인
SELECT A.COM_CODE -- '회사코드' 호출
FROM EC_COFS.COFS_MAINSET_IN_BASIC A -- 양식 메인 테이블로부터
LEFT OUTER JOIN COFS_DETAILSET_IN_BASIC B -- 양식 상세 테이블이랑 조인
ON A.COM_CODE = B.COM_CODE -- A회사코드, B회사코드가 일치하면서
AND A.FORM_TYPE = B.FORM_TYPE -- A양식종류, B양식종류가 일치하면서
AND A.FORM_SEQ = B.FORM_SEQ -- A양식순서, B양식순서가 일치하는 조건이면 조인
WHERE A.BAsic_form_tf = 1 -- 양식 메인 테이블에서 기본 양식만 선택
AND A.FORM_TYPE = 'SI030' -- 양식 메인 테이블에서 특정 양식(판매) 유형만 선택
AND B.COL_CD = 'user_price_vat' -- 양식 상세 테이블에서 'VAT 포함' 항목만 선택
) B -- 서브쿼리 내용을 B라고 명명
ON A.COM_CODE = B.COM_CODE -- A회계 테이블과 B메인/상세양식 통합 테이블과 회사코드 같으면 조인
SQL
복사
◦
A2 : 과거 입력 데이터가 변경되어, 잠재적으로 영향을 받을 수 있는 유저
▪
① 데이터 수집
•
양식 상세 테이블(거래처, 단가 등 포함)에서 ‘단가(vat포함)’ 항목을 보유한 ‘전표 수’를 Count하여 신규 열 생성하여 ‘회사코드’, ‘양식 타입’을 기준으로 순차 정렬
▪
② 데이터 전처리
•
전표 유형이 ‘매출전표’의 ‘기본 입력 양식’이면서, 단가(vat포함) 항목을 포함하는 데이터만 필터링
•
서버 테스트 코드, 관리자 코드 및 기타 그 외 내부 데이터 클리닝
▪
③ 데이터 추출
•
양식 정보를 기반으로 새로운 테이블을 생성하여, 회계 테이블과 ‘회사코드’ 기준으로 재조인하여 조건에 해당하는 ‘회사코드’, ‘회사명’, ‘양식 타입’, ’전표 수’ 출력
A2 : 과거 입력 데이터가 변경되어, 잠재적으로 영향을 받을 수 있는 유저
USE ACCT; -- 회계 DB를 사용해서
SELECT A.COM_CODE, A.COM_DES, B.form_type, B.cnt -- '회사코드', '회사명', '양식종류', '개수' 호출
FROM ACCT.ACC001 A -- A라고 명명한 회계 테이블로부터
INNER JOIN ( -- 다음 B의 서브쿼리와 교집합 조인
SELECT com_code, form_type, COUNT(*) AS cnt -- '회사코드', '양식종류', 총 그룹핑 조합 숫자 호출
FROM EC_COFS.COFS_DETAILSET_IN_BASIC -- 양식 상세 테이블로부터
WHERE col_cd = 'user_price_vat' -- 컬럼값이 'VAT 포함' 항목인 경우
GROUP BY com_code, form_type -- 동일 '회사코드', '양식종류' 기준으로 그룹핑해서
) B -- B라고 명명
ON A.COM_CODE = B.com_code -- A회사코드와 B회사코드 기준으로 테이블 조인
WHERE A.SVC_TYPE_CD NOT IN (‘C002’, ‘S001’, ‘E003’) -- 서비스타입이 C-Level, Supevisor, Enterprise(탈퇴, 평가판탈퇴, 테스트코드)
AND A.COM_CODE NOT LIKE 'ZA%' -- 기능 개발 테스트 서버용 코드가 아닐 경우
AND A.COM_CODE NOT LIKE 'G%' -- 내부 관리자용 코드가 아닌 경우
AND A.COM_DES NOT LIKE '%교육용%' -- 회사명에 '교육용' 단어 포함되지 않는 경우
AND A.TEST_CODE_YN <> 'Y' -- 테스트 코드가 아닌 경우
AND A.GUBUN <> 'N' -- 삭제된 양식이 아닌 경우
SQL
복사
◦
(3) 각 CASE별 대응방안 마련 및 의사결정
▪
전체 고객사 중 A1 ∩ A2에 해당하는 고객사 3.8%, B에 해당하는 고객사가 0.61%로 각 유형에 따른 대응방안 마련 + 신규 기획 건에 따른 부정적인 임팩트 낮을 것으로 판단하여 기획 진행
▪
A1 ∩ A2의 경우, 전체 고객사의 3.8%로,
•
교집합 → 과거 3개월 간 생성해낸 매출전표 중 단가(vat포함)이 포함되었으면서 +
•
당장 입력 양식과 저장된 매출 전표 단가(vat포함) 금액이 바뀌는것
•
입력양식에는 팝업을 통해 기능 변경에 대한 안내 및 사용 방법 공지
•
저장된 전표의 경우 데이터 Mig. 통해 소급 적용하되, 유저 불편사항에 대한 추가 상담 진행
[내용] 부분 워딩만 교체하기
▪
B의 경우, 전체 고객사의 0.61%로,
•
거래명세상의 단가(vat포함) 금액이 바뀌는 것
•
거래명세서는 Mig. 칠건데, 그 중에 극히 일부만 거래처로 외부 발송 했을 것이라 추측
•
또 그중 일부 고객사만 강성 불만 인입 예상,
•
강성 고객 대상 상담 프로세스 구축 및 전달
•
그럼에도 안될경우 해지해도 무방 (숫자가 적어서)
▪
◦
A1 ∩ A2 ➜ 업데이트 공지 팝업 + 데이터 Mig. + 상담문의로 해결
◦
B ➜ 강성 상담 프로세스 구축 or 해지 고려
6. 결과 및 인사이트
◦
쿼리문 통해서 어떤 의사결정 내렸어?
▪
기획통과됨
◦
내리고 나서 배포하구 후속 문제 없었어?
▪
+상담건 많이 안옴 (임팩트, 검증임)
◦
데이터 전처리 → Test 코드를 제외하여 데이터 클리닝
◦
인사이트 도출 → 카테고리별 매출 기여도 분석
A1. 기본' 판매양식에 단가(vat포함) 항목을 추가하여 사용하고 있는 회사코드
A2. 최근 3개월 기준, 입력한 판매전표 중 단가(vat포함) 값은 '0', 단가 값은 '0'이 아닌 전표를 보유한 회사
◦
조인 대상 테이블:
▪
ACCT.ACC001 (A 테이블): 주 테이블로, 회사 정보 및 서비스 관련 데이터를 포함.
▪
서브쿼리 (B 테이블):
•
EC_COFS.COFS_DETAILSET_IN_BASIC에서 col_cd가 'user_price_vat'인 데이터를 필터링.
•
com_code와 form_type으로 그룹화하여 각 조합의 개수(cnt)를 계산.
◦
INNER JOIN:
▪
A.COM_CODE와 B.com_code를 기준으로 두 테이블을 조인.
◦
WHERE 절 조건:
▪
ACCT.ACC001의 특정 열 값에 따라 데이터를 필터링:
•
A.SVC_TYPE_CD가 'C002', 'S001', 'E003' 중 하나가 아닌 경우.
•
A.COM_CODE가 'ZA%' 또는 'G%'로 시작하지 않는 경우.
•
A.COM_DES에 '교육용'이라는 단어가 포함되지 않는 경우.
•
A.TEST_CODE_YN이 'Y'가 아닌 경우.
•
A.GUBUN이 'N'이 아닌 경우.
•
참고 : SQL 짠거
◦
sql 어떻게 썻어? 쿼리 어떤거야?
◦
변수는 뭐였어?
◦
쿼리문 해석해봐 어떤 테이블 / 어떤 컬럼 데이터를 어떤 기준으로 조인할거야?
▪
(3) 어떤 기준으로 정하지?
◦
그거 어떤 형식으로 정리해서 문제를 잘 보여줄 수있는 방법이 뭐야?
▪
(4) 어떻게 그룹화해서 편하지?
▪
CNT 를 써서 데이터를 합치게 된 이유 >> 그래서 CNT 로
▪
정확히 대응방안이 어떤거였는데?
•
(A. 업데이트 공지 팝업 > B. 데이터 Mig. + 상담문의로 해결 > C. 강성상담, 해지고려) + 솔메 도출 + 팀 내에서 추가로 의사결정한 부분 (강성 고객이면 버려도 된다)
•
실행방안 : 이를 근거로 기획으로 인해 영향이 큰 고객사 타입 분류 A,B,C + 고객사별 우선순위 정리 (B = ERP를 가이드대로 잘 활용하는 충성고객 / C = 이미 거래명세서 형태로 의사결정을 내린 고객 유형으로 강성 소비자로 넘어갈 우려가 있음 / A = ERP를 자기 멋대로 활용하고 있는 고객, 미래에 ERP를 사용할만한 고객) + SQL 써서 검증하자!>
•
영향 이후 고객사 예상 액션 가설 수립 > 각 케이스 별 공지 팝업, 혹은 영향 받는 고객사 데이터 Mig. 추가 상담 문의 수 예측 등 대응방안 솔메 도출
◦
단가(vat포함) 자동 계산식 기능 변경 이후에 영향을 받을 만한 고객사 유형 분류 필요한 상황
◦
그래서 어떤 유형으로 고객사를 분류하고 나눌지 고민이 필요
◦
고객사유형1, 유형2 나눈 기준
▪
기존 고객사중에 기획 적용 이후에 앞으로 신규 전표를 만드는 경우 (미래) 풀어서 써보기
•
기존 고객사중에 어떤 전표이던 vat포함 항목이 생성되어 있는 경우
(독립변수 : 기본 입력 양식 테이블 + 종속변수 : 기존 고객사 매출 전표 테이블)
ㄴ 벤다이어그램 으로 표현
•
신규 기획이 적용되는 ERP기능 중 특히, 입력 양식 및 저장 전표, 출력물과 같은
◦
A1. 판매입력 양식
▪
유저타입
▪
해결방안
◦
A2.매출 전표
▪
유저타입
▪
해결방안
▪
◦
B. 거래명세서
▪
(1) 문제 : 할인, 반품, 계약조정, 환율변동 등으로 인한 단가(vat포함) 조정 변동 CASE에 규모 파악
▪
(2) 근거 : ERP 상에서 단가(vat포함) 항목을 계산식으로 넣어서 특별가를 포함한 거래명세서를 만든 회사의 경우, 특별가에 기재된 금액이 변경될 수 있음.
•
이에 따라서 내부 다운로드 없이, 문제에 해당하는 고객사가 외부 메일,채널 등을 통해서 거래명세서가 거래처에 발송된 경우 거래처와 ERP고객사가 보는 단가(vat포함) 금액이 다를 수 있음
▪
(3) 해결방안 : CASE별 합산 규모를 파악하여, 의사결정에 활용 전략으로 이동
◦
•
유저 페르소나 (ERP에서 단가와 VAT를 어떻게 사용하고 있는지)
•
전제 1 : 품목별 VAT 포함/별도 개별 셋팅값 설정하는 구조
•
전제 2 : 단가(vat포함) 열 = 기본값 아님(넣고 뺄 수 있음)
•
(1) 다양한 경우의 수 너무 많음
◦
특정 조건을 만족하는 회사들의 데이터를 통해 잠재적인 대상 고객군을 식별 SELECT
◦
특정 FORM_TYPE과 세금 관련 데이터(user_price_vat)를 보유한 회사 목록을 식별. WHERE절
◦
특정 조건을 만족하는 회사들의 서비스 유형(form_type)별 데이터 개수를 분석 COUNT
◦
회사 코드나 설명에 특정 패턴을 포함하지 않는 회사에 대한 정책을 적용하거나 검토 TEST CODE 제외
◦
기본 양식(BAsic_form_tf = 1)이 정확히 설정된 회사들의 데이터를 검증하고, 세금 관련 정보(COL_CD)가 포함되어 있는지 확인. 조인된 서브쿼리
•
(2) 어떤 기준으로 정하지?
◦
col_cd가 'user_price_vat'인 데이터만 필터링하므로, 세금과 관련된 데이터를 검증하거나 통계적으로 활용 vat 컬럼값
◦
세금 데이터를 포함하는 기본 양식을 사용하는 회사들만을 별도로 분류 판매기본양식
•
(3) 어떻게 그룹화해서 편하지?
◦
COM_CODE와 form_type별 데이터 개수를 통해 비즈니스 의사 결정을 위한 보고서에 활용 COUNT + 결론
•
(1) A/B 두 그룹으로 공통화하면 mece처럼 중복없이 누럭없겠구나
•
(2) 왜지? 이러이러한 이유로
•
경우의 수가 여러가지 있을 텐데, 이 두유형으로 축약해서 우려사항으로 꼽은 이유?
◦
1 & 2번 벤다이어그램으로 어떤 MECE 관계 설명
•
목표 : 규모파악
•
목표 : 규모파악
1.
고객사유형1, 유형2 나눈 기준
•
기존 고객사중에 기획 적용 이후에 앞으로 신규 전표를 만드는 경우 (미래) 풀어서 써보기
◦
기존 고객사중에 어떤 전표이던 vat포함 항목이 생성되어 있는 경우
(독립변수 : 기본 입력 양식 테이블 + 종속변수 : 기존 고객사 매출 전표 테이블 )
ㄴ 벤다이어그램 으로 표현
- 회계 테이블 + 전표 양식 (매출전표, 판매전표) 테이블
•
기존 고객사 중에 기존에 있었던 전표가 바뀌는 경우 (과거) 풀어서 써보기
◦
기존 고객사중에 어떤 전표이던 vat포함 항목이 생성되어서 이미 전표를 만들어 놓은 경우
•
1.
향후 기획 진행으로 서비스 개선이 반영되었을 때 영향을 받을 것 같은 고객사유형1, 유형2
1. 기존 고객사 중에 기획 적용 이후 신규로 전표를 생성하려고 하는 고객사
a.
기존 축적된 DB가 크지 않아서,
•
•
6. 결과 및 인사이트
•
쿼리문 통해서 어떤 의사결정 내렸어?
◦
기획통과됨
•
내리고 나서 배포하구 후속 문제 없었어?
◦
+상담건 많이 안옴 (임팩트, 검증임)
•
1번 유형은 cs로 공지 팝업 + 안내
•
2번 유형은 DB가 얼마 안되서 영향 미비로 기획건 진행
•
+추가로 상담건 많이 안옴 (임팩트, 검증임)
•
기능 배포 이후, 관련 문의사항 전체 대비 0.4% 이하로 추가상담 건수 최소화
◦
일 평균 상담 3,000건 대비 11건 대비 관련 상담문의 0.4% 이하 기록
◦
A. 고객 큰 문의 없음 혹은 상담 문의건 진짜 적음
◦
B. 상담문의 건 조금 있는데 전체적으로 크지 않음 몇%임
◦
C. 강성 고객 해지 비율 몇 %임
•
정량적인 수치화를 기반으로 한 빠르고 올바른 의사결정
◦
Join, Sub-Query 등 SQL 구문 활용하여 고객사 DB 추출
•
설득력 있는 참고자료 제작 및 유관부서와의 원활한 커뮤니케이션
◦
정량적 수치 기반으로 CS부서와 논의를 통한 원활한 커뮤니케이션
핵심역량 + 경험
정량적 수치 기반의 데이터 분석
고객 DB 데이터를 활용한 서비스 기획
신규 업데이트 이후, 관련 문의 발생 비율 0.4% 이하로 최소화
고객사 DB 데이터를 활용한 웹 서비스 기획
Join, Sub-Query 등 SQL 구문 활용
•
SQL 데이터 원본 (A2? B?)
USE ACCT;
SELECT A.COM_CODE, A.COM_DES, B.form_type, B.cnt
FROM ACCT.ACC001 A
INNER JOIN (
SELECT com_code, form_type, COUNT(*) AS cnt
FROM EC_COFS.COFS_DETAILSET_IN_BASIC
WHERE col_cd = 'user_price_vat'
GROUP BY com_code, form_type
) B
ON A.COM_CODE = B.com_code
WHERE A.SVC_TYPE_CD NOT IN (‘C002’, ‘S001’, ‘E003’)
AND A.COM_CODE NOT LIKE 'ZA%'
AND A.COM_CODE NOT LIKE 'G%'
AND A.COM_DES NOT LIKE '%교육용%'
AND A.TEST_CODE_YN <> 'Y'
AND A.GUBUN <> 'N'
SQL
복사
•
SQL 데이터 원본 (A1)
USE ACCT;
SELECT A.COM_CODE, A.COM_DES
FROM ACCT.ACC001 A
INNER JOIN (
SELECT A.COM_CODE
FROM EC_COFS.COFS_MAINSET_IN_BASIC A
LEFT OUTER JOIN COFS_DETAILSET_IN_BASIC B
ON A.COM_CODE = B.COM_CODE
AND A.FORM_TYPE = B.FORM_TYPE
AND A.FORM_SEQ = B.FORM_SEQ
WHERE A.BAsic_form_tf = 1
AND A.FORM_TYPE = 'SI030'
AND B.COL_CD = 'user_price_vat'
) B
ON A.COM_CODE = B.COM_CODE
SQL
복사
•
SQL 데이터 해석본 (A2) ➜ [My SQL - 판매양식 기본양식 + 단가 vat 포함 항목 유무 여부]
최근 1달 기준, 입력한 판매전표 중 단가(vat포함) 값은 '0', 단가 값은 '0'이 아닌 전표를 보유한 회사
USE ACCT; -- 회계 DB를 사용해서
SELECT A.COM_CODE, A.COM_DES, B.form_type, B.cnt -- '회사코드', '회사명', '양식종류', '개수' 호출
FROM ACCT.ACC001 A -- A라고 명명한 회계 테이블로부터
INNER JOIN ( -- 다음 B의 서브쿼리와 교집합 조인
SELECT com_code, form_type, COUNT(*) AS cnt -- '회사코드', '양식종류', 총 그룹핑 조합 숫자 호출
FROM EC_COFS.COFS_DETAILSET_IN_BASIC -- 양식 상세 테이블로부터
WHERE col_cd = 'user_price_vat' -- 컬럼값이 'VAT 포함' 항목인 경우
GROUP BY com_code, form_type -- 동일 '회사코드', '양식종류' 기준으로 그룹핑해서
) B -- B라고 명명
ON A.COM_CODE = B.com_code -- A회사코드와 B회사코드 기준으로 테이블 조인
WHERE A.SVC_TYPE_CD NOT IN (‘C002’, ‘S001’, ‘E003’) -- 서비스타입이 C-Level, Supevisor, Enterprise(탈퇴, 평가판탈퇴, 테스트코드)
AND A.COM_CODE NOT LIKE 'ZA%' -- 기능 개발 테스트 서버용 코드가 아닐 경우
AND A.COM_CODE NOT LIKE 'G%' -- 내부 관리자용 코드가 아닌 경우
AND A.COM_DES NOT LIKE '%교육용%' -- 회사명에 '교육용' 단어 포함되지 않는 경우
AND A.TEST_CODE_YN <> 'Y' -- 테스트 코드가 아닌 경우
AND A.GUBUN <> 'N' -- 삭제된 양식이 아닌 경우
SQL
복사
•
(1) 데이터 호출 테이블 선정
◦
ㅎㅚ계, 양식 메인, 양식 상세
•
(2) 호출 항목 및 조건 선정
◦
ㄷㅏㄴ가 항목 + 판매양식 + 기본양식
•
(3) 그룹핑 기준점
◦
ㅎㅚ사코드 + count로 양식 개수 숫자로 치환
•
이 쿼리는 두 개의 테이블, ACCT.ACC001과 EC_COFS.COFS_DETAILSET_IN_BASIC을 조인하여 특정 조건에 맞는 데이터를 조회하는 쿼리입니다
•
특정 조건을 만족하는 회사(COM_CODE, COM_DES)와 그에 해당하는 form_type 및 관련 데이터의 개수를 조회할 수 있습니다.
•
(1) 서비스 유형별 분석:
◦
특정 조건을 만족하는 회사들의 서비스 유형(form_type)별 데이터 개수를 분석할 수 있음.
•
(2) 정책 및 규정 적용:
◦
회사 코드나 설명에 특정 패턴을 포함하지 않는 회사에 대해 정책을 적용하거나 검토 가능.
•
(3) 데이터 검증:
◦
col_cd가 'user_price_vat'인 데이터만 필터링하므로, 세금과 관련된 데이터를 검증하거나 통계적으로 활용 가능.
•
(4) 대상 고객군 식별:
◦
특정 조건을 만족하는 회사들의 데이터를 통해 잠재적인 대상 고객군을 식별할 수 있음.
•
(5) 보고서 작성:
◦
COM_CODE와 form_type별 데이터 개수를 통해 비즈니스 의사 결정을 위한 보고서에 활용.
•
SQL 데이터 해석본 (A1)
◦
기본' 판매양식에 단가(vat포함) 항목을 추가하여 사용하고 있는 회사코드
USE ACCT; -- 회계 DB를 사용해서
SELECT A.COM_CODE, A.COM_DES -- '회사코드'와 '회사명' 호출
FROM ACCT.ACC001 A -- A라고 명명한 회계 테이블로부터
INNER JOIN ( -- 다음 B의 서브쿼리와 교집합 조인
SELECT A.COM_CODE -- '회사코드' 호출
FROM EC_COFS.COFS_MAINSET_IN_BASIC A -- 양식 메인 테이블로부터
LEFT OUTER JOIN COFS_DETAILSET_IN_BASIC B -- 양식 상세 테이블이랑 조인
ON A.COM_CODE = B.COM_CODE -- A회사코드, B회사코드가 일치하면서
AND A.FORM_TYPE = B.FORM_TYPE -- A양식종류, B양식종류가 일치하면서
AND A.FORM_SEQ = B.FORM_SEQ -- A양식순서, B양식순서가 일치하는 조건이면 조인
WHERE A.BAsic_form_tf = 1 -- 양식 메인 테이블에서 기본 양식만 선택
AND A.FORM_TYPE = 'SI030' -- 양식 메인 테이블에서 특정 양식(판매) 유형만 선택
AND B.COL_CD = 'user_price_vat' -- 양식 상세 테이블에서 'VAT 포함' 항목만 선택
) B -- 서브쿼리 내용을 B라고 명명
ON A.COM_CODE = B.COM_CODE -- A회계 테이블과 B메인/상세양식 통합 테이블과 회사코드 같으면 조인
SQL
복사
•
테스트코드 제외 쿼리문 붙이지 말고 [… 이하 동일] 이렇게표기하기
•
이 쿼리는 특정 조건에 맞는 회사(COM_CODE, COM_DES)를 조회하기 위해 두 개의 테이블과 한 개의 서브쿼리를 사용하는 SQL입니다.
•
FORM_TYPE이 'SI030'이고, 기본 양식(BAsic_form_tf = 1)에 해당하며, 세금 정보(COL_CD = 'user_price_vat')가 있는 회사의 코드와 설명을 조회.
•
(1) 세금 관련 데이터 분석:
◦
특정 FORM_TYPE과 세금 관련 데이터(user_price_vat)를 보유한 회사 목록을 식별.
•
(2) 목록 생성:
◦
세금 데이터를 포함하는 기본 양식을 사용하는 회사들만을 별도로 분류해 관리 가능.
•
(3) 정책 적용:
◦
특정 FORM_TYPE 기준으로 세금 관련 규정이나 혜택을 적용하기 위한 기준 마련.
•
(4) 데이터 검증 및 정합성 확인:
◦
기본 양식(BAsic_form_tf = 1)이 정확히 설정된 회사들의 데이터를 검증하고, 세금 관련 정보(COL_CD)가 포함되어 있는지 확인.
•
(5) 리소스 타겟팅:
◦
특정 조건을 만족하는 회사에 대한 리소스를 집중적으로 할당하거나, 맞춤형 서비스를 제공.
•
최초 요구사항
◦
즉, 정리하면 VAT 미포함 품목을 입력할 때, ‘단가vat포함’ 항목에 ‘0’으로 표기되면 기능이 불완전한 느낌을 주니, [단가 * (1+적용부가세율)]이 적용된 값이 표기되도록 하자 (단, 사용자가 직접 단가 금액을 입력할 때는 제외하고)
◦
다시 말해, VAT포함 항목이던, VAT미포함 품목이던 부가세를 직접 사용자가 입력해서 사용하게끔 하는게 더 정확한거 같다
•
우려사항 1
◦
판매입력에서 '단가(vat포함)' 항목을 사용중이면서, VAT미포함 품목을 입력하는 경우, 기존 '0'값이 호출되어야 할 부분에 '특정금액' 값이 호출됨
•
DB 데이터 추출 값 1
◦
A타입 : 미표기 되었던 금액이 새로 생성되는 경우 (입력화면, 수정 O ➜ Mig. 진행했을까?)
▪
Job 진행 시 영향 받는 고객사 추정치 계산 = ['기본' 판매양식에 단가(vat포함) 항목을 추가하여 사용하고 있는 회사코드] ∩ [최근 1달 간 입력한 판매전표 중 단가(vat포함) 값은 '0', 단가 값은 '0'이 아닌 전표 보유 회사코드]
•
데이터 추출 기준 해석
◦
(1) 문제
▪
현 시점으로부터 기획 건이 적용되면 앞으로 단가(vat포함) 항목을 입력할 때, 기존 ‘0’값으로 호출되어야 할 영역에 ‘특정금액[단가 * (1+적용부가세율)]이 적용된 값’이 표기됨
◦
(2) DB 추출 기준 1
▪
① 기본 판매입력 화면 양식에 단가(vat포함) 항목을 추가하여 사용하는 회사
▪
② 최근 1달 기준, 입력한 매출전표 중 단가(vat포함) 값은 ‘0’, 단가 값은 ‘0’이 아닌 전표를 보유한 회사
▪
➜ ①, ②의 교집합에 해당하는 회사
◦
(3) 기준 1 사유
▪
① 기본 판매입력 화면 양식에 단가(vat포함) 항목이 있으면 앞으로 매출전표를 입력할 때, 단가(vat포함) 항목에 ‘특정금액[단가 * (1+적용부가세율)]이 적용된 값’이 표기됨
▪
②
•
Default값인 기본 양식이 아니더라도 영업 · 구매 등 각 담당자 별로 다르게 Customizing해서 양식을 만들어 쓰고 있을 경우,
•
이 때문에 최근 1달 기준, 즉 가장 최근에 매출전표 입력했을 때,
•
◦
우려사항 2
▪
Job 진행 시 영향 받는 고객사 추정치 계산 = [입 ∙ 출력 양식 항목에 단가(vat포함) 계산식이 걸려있는 양식을 보유한 회사코드
•
'단가(vat포함)' 항목을 계산식에 포함하여 사용중인 경우, 견적서 ∙ 주문서 ∙ 판매 등 어떠한 입력화면에 있는 기본 ∙ 추가 등 어떠한 양식에서라도 임의로 추가된 항목 (ex. 금액1) 중에서 계산식 설정에 [단가(vat포함)] 항목이 들어가 있는 경우 관련 항목에서 표기되는 값이 전부 변경됨
◦
DB 데이터 추출 값 2
▪
B타입 : 기존에 입력한 금액이 틀어지는 경우 (출력화면, 수정 X)
•
출력화면 (판매현황 ∙ 거래명세서 등)에 있는 여러 양식 (기본 ∙ 추가)들에 추가된 항목 (ex. 사용자지정1) 중에서 계산식 설정에 [단가(vat포함)] 항목이 들어가 있는 경우
•
지니가 시뮬레이션 만든 상황 :
◦
우리회사 <> 거래처
▪
처음 : VAT 별도 품목 ⇒ 단가(VAT포함)으로 받을게
▪
중간 : 이윤이 적어져서 안되겠어
▪
마지막 : 단가(VAT포함)
◦
문의 1. 상황이 바껴서 다 바꿔야 됨 수기로 (1회성) + 어떤 품목이 어떤 세팅값 봐야하는데 불편함
◦
문의 2. 매번 상황이 바뀔수도 있는데 그 때마다 품목별 세팅값 바꿔야하냐? (다회성)
•
1.
•
신규 기능 적용 이후, 예상되는 우려사항을 상황별로 나누어 DB 데이터 추출
◦
① 미표기 되었던 금액이 새로 생성되는 경우 (전체 고객사 대비 3.8%)
▪
➜ 공지사항으로 관련 내용 미리 안내 후, 업데이트 진행하도록 CS 부서와 논의
◦
② 기존에 입력한 금액이 틀어지는 경우 (전체 고객사 대비 0.61%)
▪
➜ 고객 데이터 및 영향도 확인 후, 프로젝트 진행여부에 대한 판단지표로 활용
•
역할 : 웹 서비스 기획 / ERP 신규 서비스 기획을 위한 사전 데이터 추출 및 CS 부서와의 커뮤니케이션
◦
프로젝트 진행 시, 실제로 영향 받는 고객사, 전표, 양식 등 추정치 파악 필요
◦
관련 고객 데이터 추출 후, CS 부서에 내용 전달
•
ERP 신규 기획 건으로 기존 데이터가 변경되어야 하는 상황
•
프로젝트 진행 여부 의사결정을 위해 신규 서비스 적용 시 영향 받는 고객사, 전표, 양식 등 추정치 파악 필요
•
타 부서와의 효율적인 커뮤니케이션과 고객 지향적인 서비스 제공을 위한 ‘SQL’ 활용
•
ERP 업데이트로 인해 예상되는 우려사항을 해결하고자 SQL Query 활용, 고객사 DB 추출 ∙ 영향 정도 파악
•
ERP 신규 기획 건으로 기존 데이터가 변경되어야 하는 상황
•
프로젝트 진행여부를 재고하고자 영향 받는 고객사, 전표, 양식 등 추정치 파악 필요
•
예상되는 우려사항을 상황별로 나누어 SQL Query문을 활용, 고객사 DB데이터 추출
•
정량적 수치 기반 자료로 유관부서와의 원활한 커뮤니케이션 달성
신규 서비스 기획 건 진행 여부 의사 결정을 위해 SQL쿼리문을 활용한 고객사 유형 별 가설 시뮬레이션
기능 변경 기획으로 인해 영향을 받을 수 있는 고객사 유형 가설 시뮬레이션 → 기획 건의 진행 여부 의사결정을 위한 영향도 측정 과정에서 SQL쿼리문 활용을 통한 고객사 DB 추출
ERP 업데이트로 인해 예상되는 우려사항을 해결하고자 SQL Query 활용, 고객사 DB 추출 ∙ 영향 정도 파악
•
목표
◦
2) 신규 기능 추가 프로젝트 진행 여부에 대한 판단(보류)과 장·단점을 고려하여 기능 개선
▪
Pros. 서비스 사용 편의성 증대 = 기획의도
▪
Cons. 고객사 DB 데이터 변경 우려 = 진행 여부 판단
◦
개인 업무 R&R
•
목표 : 규모 파악
◦
(1) ‘VAT 자동 계산’이라는 신규 기능이 추가됨에 따라, 실제로 영향 받는 고객사, 전표, 양식 등 추정치 파악
◦
(2) 고객 DB 기준, 정량적인 수치 데이터를 근거로 신규 기획 진행에 대한 타당성 여부 확인
◦
(3) 임팩트가 클 시, 발생될 예상상황 별로 대응방안 마련
•
문제 정의 : 영향 받을 만한 요소 / 영향
•
전략 : 기획으로 인해 영향받는 그룹 속성 분류 최대한 ‘MECE (누락없고, 중복없고)’로 해결 할 수 있는 방안 도출
◦
(1) 기능 type 분류 : A1.판매 입력 양식(입력양식), A2.매출 전표(저장전표), B.거래명세서(출력물)
▪
내용쓰기
◦
(2) SQL을 통한 고객사 CASE별 규모 파악 및 가설검증
▪
내용쓰기
◦
(3) 각 CASE별 대응방안 마련
▪
A1. 업데이트 공지 팝업
▪
A2. 데이터 Mig. + 상담문의로 해결
▪
B. 강성 상담 프로세스 구축 or 해지 고려
큰 고객사 타입 분류 (데이터 추출 기준의 명확한 정의/ 각각 케이스에 따른 대응방안 마련 필요 )
◦
◦
영향 이후 고객사 예상 액션 가설 수립 > 각 케이스 별 공지 팝업, 혹은 영향 받는 고객사 데이터 Mig. 추가 상담 문의 수 예측 등 대응방안 솔메 도출
•
실행방안 : SQL 짠거 SQL 써서 검증하자!
◦
sql 어떻게 썻어? 쿼리 어떤거야?
◦
변수는 뭐였어?
◦
쿼리문 해석해봐 어떤 테이블 / 어떤 컬럼 데이터를 어떤 기준으로 조인할거야?
▪
(3) 어떤 기준으로 정하지?
◦
그거 어떤 형식으로 정리해서 문제를 잘 보여줄 수있는 방법이 뭐야?
▪
(4) 어떻게 그룹화해서 편하지?
▪
CNT 를 써서 데이터를 합치게 된 이유 >> 그래서 CNT 로
▪
정확히 대응방안이 어떤거였는데?
•
(A. 업데이트 공지 팝업 > B. 데이터 Mig. + 상담문의로 해결 > C. 강성상담, 해지고려) + 솔메 도출 + 팀 내에서 추가로 의사결정한 부분 (강성 고객이면 버려도 된다)
•
문제 정의 : 유저 페르소나 (ERP에서 단가와 VAT를 어떻게 사용하고 있는지) > 영향 받을 만한 게 기능들이 무엇인지 (A.판매입력화면, B.매출 전표, C.거래명세서…) >
◦
고객사유형1, 유형2 나눈 기준
▪
기존 고객사중에 기획 적용 이후에 앞으로 신규 전표를 만드는 경우 (미래) 풀어서 써보기
•
기존 고객사중에 어떤 전표이던 vat포함 항목이 생성되어 있는 경우
(독립변수 : 기본 입력 양식 테이블 + 종속변수 : 기존 고객사 매출 전표 테이블 )
ㄴ 벤다이어그램 으로 표현
- 회계 테이블 + 전표 양식 (매출전표, 판매전표) 테이블
◦
기존 고객사 중에 기존에 있었던 전표가 바뀌는 경우 (과거) 풀어서 써보기
▪
기존 고객사중에 어떤 전표이던 vat포함 항목이 생성되어서 이미 전표를 만들어 놓은 경우
◦
1.
향후 기획 진행으로 서비스 개선이 반영되었을 때 영향을 받을 것 같은 고객사유형1, 유형2
1. 기존 고객사 중에 기획 적용 이후 신규로 전표를 생성하려고 하는 고객사
a.
기존 축적된 DB가 크지 않아서,
[문제 정의 : 영향 받을 만한 기능들이 무엇인지 파악 (A.판매입력화면, B.매출 전표, C.거래명세서…)]