솔루션 홈
판매 분석

SAP 판매 추세·이상 변동 점검 — 전년동기와 다르다고 다 이상 신호는 아닙니다

월별 매출을 전년동기·직전 3개월 이동평균과 함께 보면, 단순 증가처럼 보이던 숫자도 계절 요인인지 실제 이상 변동인지 갈립니다

매출 증가는 대체로 반가운 신호지만, 그 증가가 통상적인 범위 안에 있는지는 따로 확인해야 합니다. 프로모션이나 밀어내기로 생긴 일시적 증가, 반대로 공급 차질이나 거래처 이탈로 인한 감소는 전년동기 실적이나 최근 몇 개월의 흐름과 나란히 놓고 봐야 드러납니다. 매출 데이터를 화면에 죽 나열하는 것만으로는 이 판단이 어렵습니다.

영업조직 × 제품군 × 월 단위로 매출을 집계하고, 같은 조합의 전년동기 매출직전 3개월 이동평균과 함께 증감률을 계산해 통상 변동폭(±15%, ±30%)을 벗어난 구간을 자동으로 가려내는 화면을 OpenUI5로 만들었습니다. 표준 조회 기능이 실적 목록을 보여준다면, 이 화면은 그 위에 두 가지 비교 기준을 더해 어디부터 봐야 할지 우선순위를 정하는 관점을 더합니다. 실제 구동 화면 3종을 함께 공개합니다.

SAP 표준 기능을 그대로 이어받은 부분

  • 수주 조회 — 수주현황 목록 조회(VA05)의 수주 문서·품목 구조를 그대로 이어받습니다
  • 매출 집계 원천 — 청구현황 목록 조회(VF05)의 청구 문서·순매출액을 집계 기준으로 씁니다
항목내용
업무 영역영업(SD) · 판매 분석
관련 대상 영역판매 분석 — 매출 추세 및 이상 변동 점검(관련 기준서 없음)
Namespacezui5.salestrend
셸 구조조회조건 영역(우측 조회) + 판정상태 요약 KPI + 탭 2개, 행 클릭 상세 Dialog
화면 수조회 화면 1개(탭 2개) + 상세 다이얼로그
SAP 표준 T-codeVA05 · VF05
데이터 연동 방식OData V2 — 화면 블록마다 엔티티셋에 직접 바인딩
성격조회·대사·점검형 — 실제 원인 확인과 최종 판단은 회사가 수행
UI 테마sap_horizon 단일 적용

실제 화면 3종 둘러보기

기본 조건으로 조회하면 판정상태 요약과 추세·이상 변동 명세가 뜹니다 → 영업조직 요약 탭에서 조직 단위 합계를 확인하고 → 행을 클릭해 상세 검증식을 봅니다.

아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.

Main.view.xml
판매 추세·이상 변동 점검 메인 화면 — 조회조건과 판정상태 요약, 추세·이상 변동 명세
메인화면 — 조회조건 · 판정상태 요약(정상·확인 필요·급증·급감) · 영업조직×제품군×기간별 추세 명세가 한 화면에 뜹니다. 조회 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
영업조직 요약
영업조직 요약 탭 화면
영업조직 요약 — 영업조직×기간 단위로 제품군 합계·매출·전년동기 합계·조직 증감률·이상 변동 건수를 봅니다. 합계는 명세 합계와 같습니다.
상세 검증식
행 클릭 상세 다이얼로그 — 검증식 화면
상세 검증식 — 행을 클릭하면 당월·전년동기·이동평균 금액과 판정, 검증식이 다이얼로그로 펼쳐집니다.

사용 방법

  1. 회계연도·시작기간·종료기간(필수)과 영업조직·제품군(선택)을 입력합니다. 선택 조건을 비워 두면 전체가 조회 대상입니다.
  2. 조회 버튼은 조회조건 입력 필드 줄의 가장 오른쪽에 있습니다. 입력 필드에서 Enter 키를 눌러도 같은 조회가 실행됩니다. 화면을 열면 기본 조건으로 한 번 자동 조회됩니다.
  3. 판정상태 요약에서 조회 건수와 정상·확인 필요·급증·급감 건수, 구간 내 최대 증감률을 먼저 확인합니다.
  4. 탭을 옮겨 추세·이상 변동 명세 → 영업조직 요약 순으로 봅니다.
  5. 명세에서 행을 클릭하면 당월·전년동기·이동평균과 검증식이 다이얼로그로 열립니다.
  6. CSV 내려받기(UTF-8 BOM)로 현재 조회 결과(명세 탭 기준)를 저장합니다.

이상 변동 판정 기준

판정 조건결과 상태사용자 조치
전년동기 대비 증감률의 절대값이 15% 이하정상별도 조치 불필요
전년동기 대비 증감률의 절대값이 15% 초과 30% 이하확인 필요담당자 확인 권장
전년동기 대비 증감률이 +30% 초과(급증)점검 필요(급증)프로모션·대량수주·단가 변동 등 원인 확인
전년동기 대비 증감률이 -30% 미만(급감)점검 필요(급감)공급 차질·거래처 이탈·계절 요인 등 원인 확인
이동평균 대비 변동률 절대값이 20%를 넘는 경우(보조 지표)이동평균 이탈 표시전년동기 대비와 함께 추세 이탈 여부 참고

판정은 정해진 임계값에 따른 점검 후보 분류이며, 증감의 실제 원인과 조치는 담당자가 판단합니다. 임계값은 예시 기준이며 회사 정책에 맞게 조정할 수 있습니다.

전년동기·이동평균 대사 절차

단계내용
1단계영업조직 × 제품군 × 회계연도/기간별로 당월 매출과 판매수량을 집계합니다
2단계같은 조합의 전년동기 매출을 대응시킵니다
3단계전년동기 대비 증감률 = (당월매출 − 전년동기매출) ÷ 전년동기매출
4단계같은 조합의 연속 시계열에서 직전 3개월(가용기간) 평균으로 이동평균을 계산하고, 이동평균 대비 변동률을 함께 계산합니다
5단계임계값에 따라 판정상태(정상/확인 필요/점검 필요)를 결정합니다
6단계영업조직 × 기간 단위로 제품군 합계를 재집계해 조직 요약을 만들고, 명세 합계와 대사합니다

조회조건

필드필수설명
영업조직선택전체면 조건 제외
제품군선택전체면 조건 제외
회계연도필수4자리 연도
시작기간 / 종료기간필수3자리 기간, 구간(BT) 조건으로 전달
이상 변동만 보기선택체크 시 판정상태가 정상이 아닌 행만 조회

결과 컬럼

컬럼설명
영업조직 / 제품군 / 기간집계 기준 조합
당월 매출 / 판매수량해당 기간 실적
전년동기 매출 / 전년동기 대비대응 전년동기 금액과 증감률
3개월 이동평균 / 이동평균 대비추세 참고 지표
판정정상 · 확인 필요 · 점검 필요(급증·급감)

SAP 표준 기능 매핑

표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 그 데이터에 전년동기·이동평균 비교 관점의 조회·점검을 더해 확장합니다.

표준 T-code표준 기능이 화면이 더한 것
VA05수주현황 목록 조회영업조직·제품군별 수주 원천 확인(참고)
VF05청구현황(빌링 문서) 목록 조회당월·전년동기 매출 집계의 원천 문서 조회(참고)

분석 지표 정의표

지표산출식판정 기준
전년동기 대비 증감률(당월매출 − 전년동기매출) ÷ 전년동기매출|증감률| 15% 이하 정상 / 15~30% 확인 필요 / 30% 초과 점검 필요
이동평균 대비 변동률(당월매출 − 3개월이동평균) ÷ 3개월이동평균절대값 20% 초과 시 이동평균 이탈 표시(보조 지표)
조직 증감률(조직매출합계 − 조직전년동기합계) ÷ 조직전년동기합계조직 단위 참고 지표

참고 CDS 뷰

원천 테이블주요 필드쓰임
VBRK / VBRPVKORG · NETWR · FKIMG청구전표 헤더/품목 — 영업조직·순매출액·청구수량
VBAK / VBAPVBELN수주 헤더/품목(참고 — 원천 문서 계통 확인용)
MVKEMVGR1자재 영업뷰 — 제품군 매핑 참고
define view entity ZC_SALES_TREND_MONTHLY
  as select from vbrp
    inner join vbrk on vbrp.vbeln = vbrk.vbeln
    inner join mvke on vbrp.matnr = mvke.matnr and vbrp.vkorg = mvke.vkorg
{
    key vbrk.vkorg      as SalesOrg,
    key mvke.mvgr1      as ProdGroup,
    key vbrk.gjahr      as Gjahr,
    key vbrk.poper      as Poper,
        sum(vbrp.netwr) as NetAmount,
        sum(vbrp.fkimg) as Qty
}
group by vbrk.vkorg, mvke.mvgr1, vbrk.gjahr, vbrk.poper

전년동기·이동평균·증감률·판정 상태는 위 집계 결과를 바탕으로 애플리케이션 단계에서 파생 계산합니다.

OpenUI5 구성

기능사용 컨트롤 · 구성
화면 골격sap.m.Page + 조회조건 패널 · 판정상태 요약 KPI · IconTabBar 2개 탭
데이터 연동manifest.json dataSources.mainService(OData V2, 상대 경로)로 기본 모델을 만들고 defaultCountMode:"Inline" · useBatch:false 로 구성합니다. 화면 블록마다 해당 엔티티셋에 직접 바인딩합니다
조회조건sap.ui.model.Filter 로 조립해 바인딩에 적용합니다. 전체를 고른 조건은 필터를 만들지 않습니다. 정렬은 Sorter, 총건수는 인라인 카운트로 받습니다
명세 표sap.ui.table.Table — 컬럼이 많은 명세, 행 클릭(cellClick)으로 상세 다이얼로그
요약 표sap.m.Table — 영업조직 요약 소량 집계
예외 메시지메타데이터 실패·요청 실패·빈 결과를 구분해 안내하는 전용 처리기

파일 구성

경로역할
index.htmlOpenUI5 부트스트랩 — sap_horizon, OData 서비스에 연결
Component.js모델 초기화, 예외 메시지 처리기 연결
manifest.json앱 디스크립터 — zui5.salestrend · ko 로케일, OData 서비스와 모델 선언
view/Main.view.xml조회조건 · 판정상태 요약 · 2개 탭
view/DetailDialog.fragment.xml상세 검증식 다이얼로그
controller/Main.controller.js조회조건 조립 · 바인딩 · 다이얼로그 · CSV
controller/BaseController.jsCSV 다운로드 공통 처리
model/formatter.js · model/ErrorHandler.js표시 서식 · 예외 메시지 처리
i18n/i18n_ko.properties화면 문구

검증 결과

검증용 샘플 데이터(영업조직 3개 × 제품군 5개 × 20개월, 300건)를 기준으로 대사식을 전수 검증했습니다. 점검 화면이라 의도적으로 넣은 이상치 62건을 판정 로직에 따라 확인 필요/점검 필요로 정상 분류함을 확인했습니다.

검증 항목결과
전년동기 × (1+증감률) = 당월매출 (300건)통과(차이 0)
판정상태(VarianceState) 재계산 (300건)통과(차이 0)
영업조직 요약 합계(매출·전년동기·제품군수·이상건수) (60건)통과(차이 0)
조직 증감률(OrgVarianceRate) 대사 (60건)통과(차이 0)
이동평균(3개월/가용기간) 재계산 (300건)통과(차이 0)
조회 조건 전달 — 필터 · 증감률 내림차순 정렬 · 상위 건수 · 총건수 표시확인
표시 금지 검사 — 커스텀 프로그램ID·앱 식별자·출처 표현0건
화면 렌더링 — 조회 버튼 위치 · sap_horizon 테마 · Enter 키 조회 · 서비스 미연결 시 안내 메시지확인

모든 데이터는 검증용으로 구성한 가상 데이터입니다.

자주 묻는 질문

이 글의 화면은 어떤 기간의 데이터를 기준으로 하나요?

조회조건의 회계연도·시작기간~종료기간에 해당하는 영업조직×제품군별 월계 실적을 대상으로 합니다. 이동평균은 각 조합의 연속 시계열에서 가용한 직전 기간만 사용하며, 첫 1~2개 기간은 가용 기간만으로 평균을 계산합니다.

'확인 필요'와 '점검 필요'는 어떻게 다른가요?

전년동기 대비 증감률의 절대값이 15~30%이면 확인 필요, 30%를 초과(증가는 급증, 감소는 급감)하면 점검 필요로 표시합니다. 임계값은 예시 기준이며 회사 정책에 맞게 조정할 수 있습니다.

이 화면의 판정 결과를 그대로 의사결정에 반영해도 되나요?

이 화면은 조회조건에 따라 분류·집계·대사를 돕는 점검 도구이며, 증감의 실제 원인 확인과 최종 판단은 회사와 감사인(담당 부서)이 합니다.

전년동기 대비와 이동평균 대비, 둘 중 무엇을 우선 봐야 하나요?

전년동기 대비 증감률을 주 판정 지표로 쓰고, 이동평균 대비 변동률은 계절성과 무관한 최근 추세 이탈을 확인하는 보조 지표로 함께 봅니다. 두 지표가 같은 방향을 가리키면 우선순위를 높여 확인하는 것을 권장합니다.

매출 증가·감소가 통상 범위인지, 결산 전에 먼저 걸러 두세요

영업조직·제품군별 매출을 나열해서 보는 대신, 전년동기·이동평균 두 기준으로 통상 변동폭을 벗어난 구간부터 짚어 두면 월 마감 전 점검이 한결 가벼워집니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

판매 분석매출 추세전년동기 대비이동평균이상 변동 탐지OpenUI5