shopport 0.1.13 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +1 -1
- package/dist/dashboard-ui/assets/index-CP6cXWR_.css +1 -0
- package/dist/dashboard-ui/assets/index-DaefTpWJ.js +408 -0
- package/dist/dashboard-ui/index.html +2 -2
- package/dist/skills/README.md +1 -2
- package/dist/skills/cost-calc/SKILL.md +0 -12
- package/dist/skills/cost-calc/agents/openai.yaml +8 -0
- package/dist/skills/daily-report/SKILL.md +81 -0
- package/dist/skills/daily-report/agents/openai.yaml +8 -0
- package/dist/skills/dashboard/SKILL.md +0 -9
- package/dist/skills/dashboard/agents/openai.yaml +8 -0
- package/dist/skills/inventory-sync/SKILL.md +0 -12
- package/dist/skills/inventory-sync/agents/openai.yaml +8 -0
- package/dist/skills/order-collect/SKILL.md +0 -12
- package/dist/skills/order-collect/agents/openai.yaml +8 -0
- package/dist/skills/order-fulfill/SKILL.md +0 -12
- package/dist/skills/order-fulfill/agents/openai.yaml +8 -0
- package/dist/skills/price-monitor/SKILL.md +0 -13
- package/dist/skills/price-monitor/agents/openai.yaml +8 -0
- package/dist/skills/product-parse/SKILL.md +24 -17
- package/dist/skills/product-parse/agents/openai.yaml +8 -0
- package/dist/skills/product-sync/SKILL.md +0 -14
- package/dist/skills/product-sync/agents/openai.yaml +8 -0
- package/dist/skills/settlement-report/SKILL.md +0 -12
- package/dist/skills/settlement-report/agents/openai.yaml +8 -0
- package/dist/skills/shopport/SKILL.md +2 -10
- package/dist/skills/shopport/agents/openai.yaml +8 -0
- package/dist/skills/source-to-register/SKILL.md +0 -13
- package/dist/skills/source-to-register/agents/openai.yaml +8 -0
- package/dist/skills/sppt/SKILL.md +2 -15
- package/dist/skills/sppt/agents/openai.yaml +8 -0
- package/dist/skills/status-check/SKILL.md +0 -12
- package/dist/skills/status-check/agents/openai.yaml +8 -0
- package/dist/skills/trend-research/SKILL.md +0 -12
- package/dist/skills/trend-research/agents/openai.yaml +8 -0
- package/dist/skills/waterfall-source/SKILL.md +0 -11
- package/dist/skills/waterfall-source/agents/openai.yaml +8 -0
- package/dist/skills/weekly-analysis/SKILL.md +84 -0
- package/dist/skills/weekly-analysis/agents/openai.yaml +8 -0
- package/package.json +1 -1
- package/dist/dashboard-ui/assets/index-BNQET2n6.js +0 -310
- package/dist/dashboard-ui/assets/index-CmNZBac2.css +0 -1
- package/dist/skills/promo-research/SKILL.md +0 -181
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sppt-weekly-analysis
|
|
3
|
+
description: |
|
|
4
|
+
전주 대비 매출 변화 원인 분석 + 채널 수수료 최적화 컨설팅 워크플로우.
|
|
5
|
+
Use when asked to "주간 분석", "왜 매출이 줄었어", "채널별 원인 분석", "지난 주 비교",
|
|
6
|
+
"매출이익률 분석", "수수료율 변화", "원인 분석해줘".
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# weekly-analysis
|
|
10
|
+
|
|
11
|
+
## 채널 분류 컨텍스트
|
|
12
|
+
|
|
13
|
+
`channelMeta` 응답의 각 채널에는 `type`(own-mall/open-market/vertical-specialist), `entryRequirement`(open/contract), `hasChannelBrandValue`가 정의되어 있다.
|
|
14
|
+
|
|
15
|
+
**수수료 최적화 시 주의:**
|
|
16
|
+
- `entryRequirement: "contract"` 채널은 계약 관계이므로 단순 수수료 비교로 비중 축소를 권고하면 안 된다.
|
|
17
|
+
- `hasChannelBrandValue: true` 채널은 높은 수수료에 마케팅·브랜딩·노출 가치가 포함된다.
|
|
18
|
+
- 채널 간 이동보다 **같은 채널 내 최적화**(유입경로, 단가, 프로모션)가 실행 가능성이 높다.
|
|
19
|
+
|
|
20
|
+
## Data Collection
|
|
21
|
+
|
|
22
|
+
커맨드 **1회**로 모든 데이터를 가져옵니다:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
sppt report weekly --json
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
옵션:
|
|
29
|
+
- `--period 7d` (기본값) — 채널/상품 비교 기간
|
|
30
|
+
- `--top 10` (기본값) — 채널/상품 표시 개수
|
|
31
|
+
- `--settlement-days 30` (기본값) — 정산 집계 기간
|
|
32
|
+
|
|
33
|
+
응답 구조:
|
|
34
|
+
- `channelMeta` — 채널 특성 (type/entryRequirement/hasChannelBrandValue)
|
|
35
|
+
- `channelFees` — 채널별 수수료 전체 (유입경로별 포함)
|
|
36
|
+
- `reportByChannel` — 채널별 현재/전주 비교 + diff
|
|
37
|
+
- `reportByProduct` — 상품별 현재/전주 비교 + diff (top 10)
|
|
38
|
+
- `settlement` — 채널별 정산 요약 (매출/수수료/순수익/실효수수료율)
|
|
39
|
+
- `costs` — SKU별 원가 목록 (미등록 시 null)
|
|
40
|
+
|
|
41
|
+
## Analysis Steps
|
|
42
|
+
|
|
43
|
+
### Step 1: 채널 수수료율 분석
|
|
44
|
+
|
|
45
|
+
1. **채널별 수수료율 랭킹** — 채널 분류(자사몰/오픈마켓/버티컬)와 함께 표시. 표본 < 5건은 신뢰도 낮음 표기.
|
|
46
|
+
2. **실효수수료율** = Σ(채널_비중 × 채널_수수료율), 오픈마켓 채널 간 비중과 버티컬 채널 비중을 분리해서 보여줌.
|
|
47
|
+
3. **스마트스토어 유입경로 분석** — `fee list smartstore` 결과로 마케팅링크 유입 비중이 실효율에 미치는 영향 추정. 규칙 미등록 시 annualRevenue/브랜드스토어 여부에 따른 오차 가능성 언급.
|
|
48
|
+
4. **오픈마켓 내 믹스 최적화** — smartstore ↔ cafe24 비중 이동 시 절감 효과. 버티컬 채널은 별도 분석.
|
|
49
|
+
5. **집중 리스크** — 단일 채널 비중 > 70% 경고. 단, 버티컬 채널의 비중 감소는 리스크가 아닌 채널 특성으로 해석.
|
|
50
|
+
6. **전주 대비 변화** (데이터 있을 때만) — 채널믹스 효과 vs 채널내 수수료율 변화로 분해.
|
|
51
|
+
|
|
52
|
+
### Step 2: 채널별 매출 변화 분해
|
|
53
|
+
|
|
54
|
+
`reportByChannel.diff` 배열에서 직접 읽는다.
|
|
55
|
+
|
|
56
|
+
- 채널별 매출 증감, volumeEffect / priceEffect 요약
|
|
57
|
+
- 채널 점유율 변화 (이전주 비중 → 이번주 비중)
|
|
58
|
+
|
|
59
|
+
### Step 3: Top Mover 상품 귀속
|
|
60
|
+
|
|
61
|
+
`reportByProduct.diff` 배열 상위 항목을 채널 변화에 귀속시킨다.
|
|
62
|
+
|
|
63
|
+
- 매출 변화 상위 5개 상품: revenueChange, volumeDiff%, priceDiff%
|
|
64
|
+
- 특이값 (신규 등장 또는 완전 소멸 상품) 별도 언급
|
|
65
|
+
|
|
66
|
+
### Step 4: 공헌이익률 분석 (원가 있을 때만)
|
|
67
|
+
|
|
68
|
+
- 이번주 vs 지난주 공헌이익률 변화
|
|
69
|
+
- 상품 믹스 효과 vs 단가 변화 효과로 분해
|
|
70
|
+
|
|
71
|
+
## AI Interpretation
|
|
72
|
+
|
|
73
|
+
위 데이터를 바탕으로 각 변화에 대해:
|
|
74
|
+
1. 가능한 원인 (내부/외부 구분)
|
|
75
|
+
2. 우선순위 조치 (즉각 / 단기 / 검토)
|
|
76
|
+
3. 수수료 최적화: 채널 특성과 진입 가능성을 고려한 실행 가능한 방안만 제안. "버티컬 채널 축소" 같은 계약 외 조치는 제안하지 않는다.
|
|
77
|
+
|
|
78
|
+
## Error Handling
|
|
79
|
+
|
|
80
|
+
- **이번주 매출이 이전주 대비 -80% 이상**: 데이터 수집 공백 가능성 → `sppt order pull` 재실행 안내 후 분석
|
|
81
|
+
- **원가 미등록**: Step 4 skip
|
|
82
|
+
- **채널 1개만**: 수수료 비교 skip, 단가/볼륨 분석 집중
|
|
83
|
+
- **settlement 표본 부족** (채널별 < 5건): 수수료율 신뢰도 낮음 표기, `--settlement-days 90` 권장
|
|
84
|
+
- **smartstore fee rule 미등록**: 실효율 신뢰도 낮음 표기. `sppt settlement hints smartstore`로 annualRevenue 설정 권장.
|