이벤트스토밍 기법을 활용한 유저플로우 설계 완료

- 전체 유저플로우 연결도 작성 (userflow.puml)
- 7개 세부 유저플로우 시퀀스 다이어그램 작성
  - 01-회원가입및매장등록
  - 02-AI이벤트자동기획
  - 03-이벤트콘텐츠생성
  - 04-다중채널자동배포
  - 05-이벤트참여및접수
  - 06-실시간효과측정
  - 07-AI개선제안

- 이벤트스토밍 요소 포함 (Command, Event, Actor, External System, Policy)
- PlantUML !theme mono 표준 준용
- Sequential MCP를 통한 체계적 분석 완료

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
merrycoral 2025-10-17 13:23:30 +09:00
parent 59625f59dd
commit 2a5237e844
13 changed files with 770 additions and 711 deletions

View File

@ -1,117 +0,0 @@
@startuml 02-AI이벤트기획생성
!theme mono
title 유저플로우 02: AI 이벤트 기획 생성
actor "소상공인" as Owner
participant "이벤트 기획 시스템" as EventSystem
participant "GPT-4 API" as GPT4
participant "Claude API" as Claude
participant "Stable Diffusion API" as SD
participant "트렌드 분석 시스템" as TrendSystem
database "이벤트 DB" as EventDB
== 이벤트스토밍 요소 ==
note over Owner, EventDB
**Command**: 이벤트 목적 선택, 매장분석 요청, 이벤트 기획 생성, 이벤트 승인
**Event**: 이벤트 목적 선택됨, 매장분석 완료됨, 이벤트 기획안 생성됨,
경품 추천됨, 홍보문구 생성됨, 이미지/영상 생성됨, 이벤트 승인됨
**Actor**: 소상공인
**External System**: GPT-4 API, Claude API, Stable Diffusion API, 트렌드 분석 시스템
**Policy**: 10초 내 기획안 생성, 예산 내 최적 경품 추천
end note
== 이벤트 목적 선택 ==
Owner -> EventSystem : **Command**: 이벤트 목적 선택\n(데이터: 목적[신규고객/재방문/매출증대/인지도향상], 예산)
activate EventSystem
EventSystem --> Owner : **Event**: 이벤트 목적 선택됨
== AI 매장 분석 및 기획 생성 (10초 이내) ==
EventSystem -> TrendSystem : **Command**: 매장 분석 요청\n(데이터: 업종, 지역, 시즌)
activate TrendSystem
note right of TrendSystem
**AI 분석 항목**
- 업종별 트렌드
- 지역 특성
- 시즌 이벤트
- 경쟁사 동향
end note
TrendSystem --> EventSystem : **Event**: 매장분석 완료됨\n(데이터: 분석결과, 추천테마)
deactivate TrendSystem
EventSystem -> GPT4 : 이벤트 기획 생성 요청\n(데이터: 목적, 분석결과, 예산)
activate GPT4
GPT4 --> EventSystem : **Event**: 이벤트 기획안 생성됨\n(데이터: 이벤트명, 테마, 참여방법)
deactivate GPT4
== 경품 추천 및 홍보 문구 생성 ==
EventSystem -> Claude : 경품 추천 요청\n(데이터: 예산, 업종, 목적)
activate Claude
note right of Claude
**Policy**: 예산 내
최적 경품 추천
- 매력도 분석
- 비용 대비 효과
- KT 멤버십 포인트 활용
end note
Claude --> EventSystem : **Event**: 경품 추천됨\n(데이터: 경품목록[5개], 예상효과)
deactivate Claude
EventSystem -> GPT4 : 홍보 문구 생성 요청\n(데이터: 이벤트명, 테마, 경품)
activate GPT4
GPT4 --> EventSystem : **Event**: 홍보문구 생성됨\n(데이터: 문구[5개 버전], SNS해시태그)
deactivate GPT4
== 이미지 및 영상 자동 생성 ==
EventSystem -> SD : 이미지 생성 요청\n(데이터: 이벤트 테마, 브랜드 컬러)
activate SD
SD --> EventSystem : **Event**: 이미지 생성됨\n(데이터: 이미지[3종], 포스터)
deactivate SD
EventSystem -> SD : 영상 생성 요청\n(데이터: 이벤트 스토리보드)
activate SD
SD --> EventSystem : **Event**: 영상 생성됨\n(데이터: 15초 영상, 썸네일)
deactivate SD
== 기획안 확인 및 승인 ==
EventSystem --> Owner : 완성된 기획안 제공\n(데이터: 전체 기획서, 예상 ROI 300%)
note over Owner
**AI 생성 결과물**
✓ 이벤트 기획안
✓ 경품 5종 추천
✓ 홍보 문구 5개 버전
✓ 이미지 3종
✓ 15초 영상
✓ 예상 효과 분석
end note
Owner -> EventSystem : **Command**: 기획안 수정 요청\n(데이터: 수정사항)
EventSystem --> Owner : 수정된 기획안 제공
Owner -> EventSystem : **Command**: 이벤트 승인\n(데이터: 최종 선택 항목)
EventSystem -> EventDB : 이벤트 정보 저장
activate EventDB
EventDB --> EventSystem : 저장 완료
deactivate EventDB
EventSystem --> Owner : **Event**: 이벤트 승인됨\n(데이터: 이벤트ID, 배포 준비 완료)
deactivate EventSystem
note over Owner, EventDB
**소요 시간**: 10초 이내
**만족도**: 80% 이상 목표
end note
@enduml

View File

@ -0,0 +1,113 @@
@startuml 02-AI이벤트자동기획
!theme mono
title 유저플로우 02: AI 이벤트 자동 기획
actor "소상공인" as Owner
participant "이벤트 기획 시스템" as EventSystem
participant "GPT-4 AI 엔진" as GPT4
participant "Claude API" as Claude
participant "트렌드 분석 시스템" as TrendSystem
database "이벤트 DB" as EventDB
== 이벤트스토밍 요소 ==
note over Owner, EventDB
**Command**: 이벤트기획시작, 업종트렌드분석요청, 경품추천요청,
참여방법설계요청, 홍보문구생성요청, 기획안승인
**Event**: 이벤트기획요청됨, 이벤트목적선택됨, 업종트렌드분석완료됨,
최적경품추천됨, 참여방법설계완료됨, 홍보문구생성됨, 이벤트기획안승인됨
**Actor**: 소상공인
**External System**: GPT-4 AI 엔진, Claude API, 트렌드 분석 시스템
**Policy**: 예산 내 최적 경품 선정, 업종별 성공률 기반 추천,
참여 난이도와 재방문율의 균형 유지
end note
== 이벤트 목적 선택 ==
Owner -> EventSystem : **Command**: 이벤트기획시작\n(데이터: 목적 - 신규고객/재방문/매출증대/인지도향상)
activate EventSystem
EventSystem --> Owner : **Event**: 이벤트목적선택됨
== AI 기반 업종 트렌드 분석 ==
EventSystem -> TrendSystem : **Command**: 업종트렌드분석요청\n(데이터: 업종, 지역, 시즌)
activate TrendSystem
note right of TrendSystem
**Policy**: 업종별 이벤트
성공률 기반 추천
- 과거 성공 사례 분석
- 지역별 트렌드 반영
- 시즌 특성 고려
end note
TrendSystem --> EventSystem : **Event**: 업종트렌드분석완료됨\n(데이터: 트렌드리포트, 추천방향)
deactivate TrendSystem
== 경품 추천 ==
EventSystem -> Claude : **Command**: 경품추천요청\n(데이터: 예산, 타겟고객층, 이벤트목적)
activate Claude
note right of Claude
**Policy**: 예산 내
최적 경품 선정
- 예산 대비 매력도 최대화
- 타겟 고객 선호도 분석
- KT 멤버십 포인트 활용
end note
Claude --> EventSystem : **Event**: 최적경품추천됨\n(데이터: 경품목록 Top 5, 예상효과)
deactivate Claude
Owner -> EventSystem : 경품 선택 (1개 선택)
== 참여 방법 설계 ==
EventSystem -> Claude : **Command**: 참여방법설계요청\n(데이터: 이벤트목적, 매장특성, 선택경품)
activate Claude
note right of Claude
**Policy**: 참여 난이도와
재방문율의 균형 유지
- 간단한 참여 방법
- 재방문 유도 요소
- 바이럴 확산 장치
end note
Claude --> EventSystem : **Event**: 참여방법설계완료됨\n(데이터: 참여방법 3가지 옵션)
deactivate Claude
Owner -> EventSystem : 참여방법 선택
== 홍보 문구 생성 ==
EventSystem -> GPT4 : **Command**: 홍보문구생성요청\n(데이터: 이벤트개요, 경품정보, 참여방법)
activate GPT4
GPT4 --> EventSystem : **Event**: 홍보문구생성됨\n(데이터: 문구 5개 버전, SNS 해시태그)
deactivate GPT4
== 기획안 승인 ==
EventSystem --> Owner : 완성된 이벤트 기획안 제시\n(목적, 경품, 참여방법, 홍보문구)
Owner -> EventSystem : **Command**: 기획안승인\n(데이터: 선택된기획안ID)
EventSystem -> EventDB : 이벤트 기획안 저장
activate EventDB
EventDB --> EventSystem : 저장 완료
deactivate EventDB
EventSystem --> Owner : **Event**: 이벤트기획안승인됨\n(데이터: 이벤트ID, 다음단계안내)
note over Owner
**AI 기획 완료 (10초 이내)**
- 전문가 수준의 기획안 완성
- 업종 맞춤 추천
- 다음: 콘텐츠 생성 단계로 이동
end note
deactivate EventSystem
@enduml

View File

@ -1,127 +0,0 @@
@startuml 03-이벤트채널배포
!theme mono
title 유저플로우 03: 이벤트 채널 배포
actor "소상공인" as Owner
participant "채널 배포 시스템" as DistSystem
participant "우리동네TV" as LocalTV
participant "링고비즈" as RingoBiz
participant "지니TV" as GenieTV
participant "Instagram API" as Instagram
participant "Naver Blog API" as NaverBlog
participant "KakaoTalk Channel API" as KakaoTalk
participant "QR코드 생성 시스템" as QRSystem
database "배포 이력 DB" as DistDB
== 이벤트스토밍 요소 ==
note over Owner, DistDB
**Command**: 배포 채널 선택, 원클릭 배포
**Event**: 배포채널 선택됨, 우리동네TV 배포됨, 링고비즈 배포됨,
지니TV 배포됨, SNS 자동포스팅됨, QR코드 생성됨, 배포 완료됨
**Actor**: 소상공인
**External System**: 우리동네TV, 링고비즈, 지니TV,
Instagram API, Naver Blog API, KakaoTalk Channel API
**Policy**: 원클릭으로 모든 채널 자동 배포
end note
== 배포 채널 선택 ==
Owner -> DistSystem : **Command**: 배포 채널 선택\n(데이터: 채널목록[우리동네TV, 링고비즈, 지니TV, SNS], 타겟팅 설정)
activate DistSystem
note over Owner
**채널 선택 옵션**
✓ 우리동네TV (반경 500m~1km)
✓ 링고비즈 (통화 연결음)
✓ 지니TV (저녁 시간대)
✓ SNS (Instagram, Naver, Kakao)
✓ 오프라인 QR코드
end note
DistSystem --> Owner : **Event**: 배포채널 선택됨
== 원클릭 다중 채널 배포 ==
Owner -> DistSystem : **Command**: 원클릭 배포 실행
par 병렬 배포 처리
DistSystem -> LocalTV : 우리동네TV 배포 요청\n(데이터: 15초 영상, 타겟팅[반경 500m-1km])
activate LocalTV
note right of LocalTV
**Policy**: 지역 기반 타겟팅
- 반경 500m~1km
- 지니TV 사용자 대상
- 15초 영상 자동 송출
end note
LocalTV --> DistSystem : **Event**: 우리동네TV 배포됨\n(데이터: 예상노출수, 배포ID)
deactivate LocalTV
DistSystem -> RingoBiz : 링고비즈 배포 요청\n(데이터: 이벤트 안내 음성, 매장 전화번호)
activate RingoBiz
RingoBiz --> DistSystem : **Event**: 링고비즈 배포됨\n(데이터: 연결음 업데이트 완료)
deactivate RingoBiz
DistSystem -> GenieTV : 지니TV 광고 배포 요청\n(데이터: 광고 영상, 타겟팅[1km 이내, 저녁 시간대])
activate GenieTV
note right of GenieTV
**배포 설정**
- 주변 1km 이내 가정
- 저녁 시간대 자동 노출
- 주말 우선 배치
end note
GenieTV --> DistSystem : **Event**: 지니TV 배포됨\n(데이터: 광고 스케줄, 예상 노출수)
deactivate GenieTV
DistSystem -> Instagram : Instagram 포스팅 요청\n(데이터: 이미지[3종], 홍보문구, 해시태그)
activate Instagram
Instagram --> DistSystem : **Event**: Instagram 포스팅 완료\n(데이터: 게시물 URL)
deactivate Instagram
DistSystem -> NaverBlog : Naver Blog 포스팅 요청\n(데이터: 이벤트 상세 설명, 이미지)
activate NaverBlog
NaverBlog --> DistSystem : **Event**: Naver Blog 포스팅 완료\n(데이터: 게시물 URL)
deactivate NaverBlog
DistSystem -> KakaoTalk : KakaoTalk 채널 메시지 발송\n(데이터: 이벤트 안내, 참여 링크)
activate KakaoTalk
KakaoTalk --> DistSystem : **Event**: KakaoTalk 메시지 발송 완료\n(데이터: 발송 건수)
deactivate KakaoTalk
DistSystem -> QRSystem : QR코드 생성 요청\n(데이터: 이벤트 참여 URL, 매장 정보)
activate QRSystem
QRSystem --> DistSystem : **Event**: QR코드 생성됨\n(데이터: QR코드 이미지, 포스터 PDF)
deactivate QRSystem
end
== 배포 완료 및 결과 확인 ==
DistSystem -> DistDB : 배포 이력 저장\n(데이터: 채널별 배포 정보, 타임스탬프)
activate DistDB
DistDB --> DistSystem : 저장 완료
deactivate DistDB
DistSystem --> Owner : **Event**: 배포 완료됨\n(데이터: 채널별 배포 결과, 예상 총 노출수)
note over Owner
**배포 완료 결과**
✓ 우리동네TV: 예상 노출 5,000명
✓ 링고비즈: 연결음 업데이트 완료
✓ 지니TV: 예상 노출 10,000가정
✓ Instagram: 게시물 공개
✓ Naver Blog: 게시물 공개
✓ KakaoTalk: 구독자 500명 발송
✓ QR코드: 매장 내 부착용 제공
end note
deactivate DistSystem
@enduml

View File

@ -0,0 +1,121 @@
@startuml 03-이벤트콘텐츠생성
!theme mono
title 유저플로우 03: 이벤트 콘텐츠 생성 및 편집
actor "소상공인" as Owner
participant "콘텐츠 생성 시스템" as ContentSystem
participant "Stable Diffusion" as SD
participant "AI 영상 제작 엔진" as VideoAI
participant "QR코드 생성 API" as QRGen
database "콘텐츠 DB" as ContentDB
== 이벤트스토밍 요소 ==
note over Owner, ContentDB
**Command**: 콘텐츠생성시작, 이미지생성요청, 영상제작요청,
SNS콘텐츠생성요청, QR포스터생성, 콘텐츠편집, 콘텐츠승인
**Event**: 콘텐츠생성요청됨, 이미지자동생성됨, 영상자동제작됨,
SNS콘텐츠생성됨, QR코드포스터생성됨, 콘텐츠편집완료됨, 콘텐츠최종승인됨
**Actor**: 소상공인
**External System**: Stable Diffusion, AI 영상 제작 엔진, QR코드 생성 API
**Policy**: 브랜드 일관성 유지, 플랫폼별 최적 해상도 자동 조정,
저작권 준수 이미지/음악만 사용
end note
== 콘텐츠 생성 시작 ==
Owner -> ContentSystem : **Command**: 콘텐츠생성시작\n(데이터: 이벤트기획안ID, 브랜드컬러, 로고이미지)
activate ContentSystem
ContentSystem --> Owner : **Event**: 콘텐츠생성요청됨
== 이미지 자동 생성 (3종) ==
ContentSystem -> SD : **Command**: 이미지생성요청\n(데이터: 이벤트제목, 경품이미지, 스타일)
activate SD
note right of SD
**Policy**: 브랜드 일관성 유지
- 브랜드 컬러 적용
- 로고 자동 배치
- 3가지 스타일 생성
end note
SD --> ContentSystem : **Event**: 이미지자동생성됨\n(데이터: 이미지 3종 - 심플/화려/트렌디)
deactivate SD
ContentSystem --> Owner : 이미지 미리보기 제공
== AI 영상 제작 (15초) ==
ContentSystem -> VideoAI : **Command**: 영상제작요청\n(데이터: 15초분량, 배경음악선택, 텍스트오버레이)
activate VideoAI
note right of VideoAI
**Policy**: 저작권 준수
음악만 사용
- 로열티 프리 음악
- 자동 자막 생성
- 화면 전환 효과
end note
VideoAI --> ContentSystem : **Event**: 영상자동제작됨\n(데이터: 15초 영상파일, 자막파일)
deactivate VideoAI
ContentSystem --> Owner : 영상 미리보기 제공
== SNS 콘텐츠 생성 ==
ContentSystem -> ContentSystem : **Command**: SNS콘텐츠생성요청\n(데이터: 플랫폼 - 인스타/블로그/카카오, 해시태그)
activate ContentSystem
note right of ContentSystem
**Policy**: 플랫폼별
최적 해상도 자동 조정
- Instagram: 1080x1080
- Blog: 800x600
- Kakao: 800x800
end note
ContentSystem --> ContentSystem : **Event**: SNS콘텐츠생성됨\n(데이터: 플랫폼별 최적화 콘텐츠)
deactivate ContentSystem
== QR 코드 포스터 생성 ==
ContentSystem -> QRGen : **Command**: QR포스터생성\n(데이터: 포스터크기, QR연결URL)
activate QRGen
QRGen --> ContentSystem : **Event**: QR코드포스터생성됨\n(데이터: A4/A3 포스터 PDF, QR코드)
deactivate QRGen
== 콘텐츠 편집 (선택사항) ==
ContentSystem --> Owner : 전체 콘텐츠 미리보기 제공
alt 편집 요청
Owner -> ContentSystem : **Command**: 콘텐츠편집\n(데이터: 수정사항, 편집위치)
ContentSystem -> ContentSystem : 편집 처리
ContentSystem --> Owner : **Event**: 콘텐츠편집완료됨\n(데이터: 수정된 콘텐츠)
end
== 최종 승인 ==
Owner -> ContentSystem : **Command**: 콘텐츠승인\n(데이터: 최종콘텐츠ID)
ContentSystem -> ContentDB : 콘텐츠 저장
activate ContentDB
ContentDB --> ContentSystem : 저장 완료
deactivate ContentDB
ContentSystem --> Owner : **Event**: 콘텐츠최종승인됨\n(데이터: 콘텐츠ID, 다음단계안내)
note over Owner
**콘텐츠 생성 완료 (3분 이내)**
- 이미지 3종 (SNS, 웹, 인쇄용)
- 15초 영상 1개
- QR 코드 포스터
- 다음: 다중 채널 배포로 이동
end note
deactivate ContentSystem
@enduml

View File

@ -0,0 +1,120 @@
@startuml 04-다중채널자동배포
!theme mono
title 유저플로우 04: 다중 채널 자동 배포
actor "소상공인" as Owner
participant "배포 관리 시스템" as DeploySystem
participant "우리동네TV API" as UDTV
participant "링고비즈 API" as Lingo
participant "지니TV 광고 API" as GenieTV
participant "SNS API" as SNS
database "배포 이력 DB" as DeployDB
== 이벤트스토밍 요소 ==
note over Owner, DeployDB
**Command**: 다중채널배포시작, 우리동네TV배포, 링고비즈업데이트,
지니TV광고예약, SNS포스팅, 오프라인자료생성
**Event**: 배포요청됨, 우리동네TV배포완료됨, 링고비즈연결음업데이트됨,
지니TV광고노출시작됨, SNS자동포스팅완료됨, 오프라인자료다운로드가능해짐, 전체배포완료됨
**Actor**: 소상공인
**External System**: 우리동네TV, 링고비즈, 지니TV 광고 플랫폼, SNS API
**Policy**: 채널별 최적 송출 시간대 자동 선정, 예산 기반 노출량 자동 조절,
배포 실패 시 자동 재시도 3회
end note
== 배포 설정 ==
Owner -> DeploySystem : **Command**: 다중채널배포시작\n(데이터: 콘텐츠ID, 선택채널목록, 배포일시)
activate DeploySystem
DeploySystem --> Owner : **Event**: 배포요청됨
== 우리동네TV 배포 ==
DeploySystem -> UDTV : **Command**: 우리동네TV배포\n(데이터: 반경 500m/1km, 송출시간대, 15초영상)
activate UDTV
note right of UDTV
**Policy**: 채널별 최적
송출 시간대 자동 선정
- 평일 저녁 6-9시
- 주말 점심 12-2시
- 지역 특성 반영
end note
UDTV --> DeploySystem : **Event**: 우리동네TV배포완료됨\n(데이터: 배포ID, 예상노출수)
deactivate UDTV
== 링고비즈 연결음 업데이트 ==
DeploySystem -> Lingo : **Command**: 링고비즈업데이트\n(데이터: 매장전화번호, 연결음파일)
activate Lingo
Lingo --> DeploySystem : **Event**: 링고비즈연결음업데이트됨\n(데이터: 업데이트완료시각)
deactivate Lingo
== 지니TV 광고 예약 ==
DeploySystem -> GenieTV : **Command**: 지니TV광고예약\n(데이터: 타겟지역, 노출시간대, 예산)
activate GenieTV
note right of GenieTV
**Policy**: 예산 기반
노출량 자동 조절
- 예산에 따른 노출 빈도
- 타겟 지역 최적화
- 시간대별 차등 과금
end note
GenieTV --> DeploySystem : **Event**: 지니TV광고노출시작됨\n(데이터: 광고ID, 노출스케줄)
deactivate GenieTV
== SNS 자동 포스팅 ==
par Instagram
DeploySystem -> SNS : **Command**: SNS포스팅\n(플랫폼: Instagram, 예약시간)
activate SNS
SNS --> DeploySystem : 포스팅 완료
deactivate SNS
and Naver Blog
DeploySystem -> SNS : **Command**: SNS포스팅\n(플랫폼: Naver, 예약시간)
activate SNS
SNS --> DeploySystem : 포스팅 완료
deactivate SNS
and Kakao Channel
DeploySystem -> SNS : **Command**: SNS포스팅\n(플랫폼: Kakao, 예약시간)
activate SNS
SNS --> DeploySystem : 포스팅 완료
deactivate SNS
end
DeploySystem --> DeploySystem : **Event**: SNS자동포스팅완료됨
== 오프라인 자료 생성 ==
DeploySystem -> DeploySystem : **Command**: 오프라인자료생성\n(데이터: QR포스터, 인쇄용PDF)
DeploySystem --> DeploySystem : **Event**: 오프라인자료다운로드가능해짐
== 배포 완료 및 이력 저장 ==
DeploySystem -> DeployDB : 배포 이력 저장
activate DeployDB
DeployDB --> DeploySystem : 저장 완료
deactivate DeployDB
DeploySystem --> Owner : **Event**: 전체배포완료됨\n(데이터: 배포채널목록, 예상도달수, 모니터링링크)
note over Owner
**원클릭 배포 완료 (1분 이내)**
- 우리동네TV: 반경 1km 노출
- 링고비즈: 연결음 업데이트
- 지니TV: 주변 가정 노출
- SNS: Instagram, Blog, Kakao
- 오프라인: QR 포스터 다운로드
- 다음: 실시간 효과 측정
end note
deactivate DeploySystem
@enduml

View File

@ -1,119 +0,0 @@
@startuml 04-이벤트참여및관리
!theme mono
title 유저플로우 04: 이벤트 참여 및 관리
actor "이벤트 참여자" as Customer
participant "이벤트 참여 시스템" as ParticipationSystem
participant "중복 체크 시스템" as DuplicateCheck
participant "알림 시스템" as NotificationSystem
database "참여자 DB" as ParticipantDB
database "이벤트 로그 DB" as EventLogDB
== 이벤트스토밍 요소 ==
note over Customer, EventLogDB
**Command**: 이벤트 조회, 참여 신청
**Event**: 이벤트 발견됨, 참여신청됨, 중복체크 완료됨,
참여 확인됨, 참여정보 저장됨
**Actor**: 이벤트 참여자 (고객)
**Policy**: 중복 참여 불가, 자동 접수 처리
end note
== 이벤트 발견 및 조회 ==
Customer -> ParticipationSystem : **Command**: 이벤트 조회 요청\n(데이터: 채널 경로[우리동네TV/SNS/QR코드])
activate ParticipationSystem
note over Customer
**유입 경로**
- 우리동네TV 시청
- Instagram 게시물
- Naver Blog
- KakaoTalk 메시지
- 매장 QR코드 스캔
end note
ParticipationSystem --> Customer : **Event**: 이벤트 발견됨\n(데이터: 이벤트 상세 정보, 경품 정보, 참여 방법)
== 이벤트 참여 신청 ==
Customer -> ParticipationSystem : **Command**: 참여 신청\n(데이터: 이름, 전화번호, 참여 경로)
ParticipationSystem -> EventLogDB : 참여 로그 기록\n(데이터: 참여 시간, 경로, 디바이스 정보)
activate EventLogDB
EventLogDB --> ParticipationSystem : 로그 저장 완료
deactivate EventLogDB
== 중복 참여 체크 ==
ParticipationSystem -> DuplicateCheck : 중복 확인 요청\n(데이터: 전화번호, 이벤트ID)
activate DuplicateCheck
note right of DuplicateCheck
**Policy**: 중복 참여 불가
- 전화번호 기반 확인
- 이벤트별 1회 제한
- 실시간 중복 체크
end note
DuplicateCheck -> ParticipantDB : 참여 이력 조회
activate ParticipantDB
ParticipantDB --> DuplicateCheck : 조회 결과
deactivate ParticipantDB
DuplicateCheck --> ParticipationSystem : **Event**: 중복체크 완료됨\n(데이터: 중복 여부)
deactivate DuplicateCheck
alt 중복 없음 (정상 참여)
ParticipationSystem -> ParticipantDB : 참여자 정보 저장\n(데이터: 참여자 정보, 참여 시간, 경로)
activate ParticipantDB
ParticipantDB --> ParticipationSystem : **Event**: 참여정보 저장됨\n(데이터: 참여번호)
deactivate ParticipantDB
ParticipationSystem -> NotificationSystem : 참여 확인 알림 발송 요청\n(데이터: 전화번호, 참여번호)
activate NotificationSystem
NotificationSystem --> Customer : **Event**: 참여 확인됨\n(알림톡: 참여 완료, 당첨자 발표 일정)
deactivate NotificationSystem
ParticipationSystem --> Customer : 참여 완료 화면\n(데이터: 참여번호, 경품 정보, 발표 일정)
note over Customer
**참여 완료**
✓ 참여번호: #12345
✓ 경품: KT 멤버십 5,000P
✓ 발표: 2025-10-24 18:00
✓ 당첨 시 알림톡 발송
end note
else 중복 참여
ParticipationSystem --> Customer : 중복 참여 불가 안내\n(사유: 이미 참여한 이벤트)
note over Customer
**중복 참여 제한**
- 1인 1회 참여 제한
- 공정한 당첨 기회 보장
end note
end
deactivate ParticipationSystem
== 실시간 참여 현황 집계 ==
ParticipationSystem -> EventLogDB : 실시간 집계 업데이트
activate EventLogDB
EventLogDB --> ParticipationSystem : 집계 완료
deactivate EventLogDB
note over ParticipationSystem
**실시간 집계 데이터**
- 총 참여자 수
- 채널별 참여 분포
- 시간대별 참여 추이
→ 효과 측정 시스템 전달
end note
@enduml

View File

@ -0,0 +1,114 @@
@startuml 05-이벤트참여및접수
!theme mono
title 유저플로우 05: 이벤트 참여 및 접수 관리
actor "고객" as Customer
actor "소상공인" as Owner
participant "이벤트 참여 시스템" as ParticipationSystem
participant "SMS/알림톡 시스템" as Notification
database "참여자 DB" as ParticipantDB
== 이벤트스토밍 요소 ==
note over Customer, ParticipantDB
**Command**: 이벤트참여신청, 참여정보검증, 중복체크수행, 참여접수,
당첨자추첨, 당첨알림발송
**Event**: 고객이이벤트발견함, 참여신청됨, 참여정보검증됨, 중복참여차단됨,
참여접수완료됨, 당첨자추첨완료됨, 당첨알림발송됨
**Actor**: 고객, 소상공인
**External System**: SMS/카카오알림톡 발송 시스템
**Policy**: 1인 1회 참여 제한, 매장 방문 고객 가산점 부여,
공정한 추첨 알고리즘 적용, 개인정보 보호 규정 준수
end note
== 고객의 이벤트 발견 ==
Customer -> ParticipationSystem : **Event**: 고객이이벤트발견함\n(경로: 우리동네TV/SNS/QR코드)
activate ParticipationSystem
ParticipationSystem --> Customer : 이벤트 상세 정보 제공\n(경품, 참여방법, 당첨확률)
== 이벤트 참여 신청 ==
Customer -> ParticipationSystem : **Command**: 이벤트참여신청\n(데이터: 고객명, 전화번호, 참여경로)
ParticipationSystem --> Customer : **Event**: 참여신청됨
== 참여 정보 검증 ==
ParticipationSystem -> ParticipationSystem : **Command**: 참여정보검증\n(데이터: 전화번호, 매장방문여부)
activate ParticipationSystem
note right of ParticipationSystem
**Policy**: 1인 1회 참여 제한
- 전화번호 기반 중복 체크
- 매장 방문 고객 가산점
- 허위 정보 필터링
end note
ParticipationSystem --> ParticipationSystem : **Event**: 참여정보검증됨
deactivate ParticipationSystem
== 중복 참여 체크 ==
ParticipationSystem -> ParticipantDB : **Command**: 중복체크수행\n(데이터: 전화번호, 이벤트ID)
activate ParticipantDB
alt 중복 참여
ParticipantDB --> ParticipationSystem : **Event**: 중복참여차단됨
ParticipationSystem --> Customer : 중복 참여 불가 안내
else 정상 참여
ParticipantDB --> ParticipationSystem : 중복 없음
deactivate ParticipantDB
== 참여 접수 완료 ==
ParticipationSystem -> ParticipantDB : **Command**: 참여접수\n(데이터: 참여ID, 참여일시, 참여채널)
activate ParticipantDB
ParticipantDB --> ParticipationSystem : **Event**: 참여접수완료됨
deactivate ParticipantDB
ParticipationSystem --> Customer : 참여 완료 안내\n(응모번호, 당첨 발표일)
end
== 이벤트 종료 후 당첨자 추첨 ==
note over ParticipationSystem
이벤트 종료 시각 도래
자동 추첨 프로세스 시작
end note
ParticipationSystem -> ParticipantDB : **Command**: 당첨자추첨\n(데이터: 참여자목록, 당첨인원, 추첨방식)
activate ParticipantDB
note right of ParticipantDB
**Policy**: 공정한 추첨
- 난수 기반 무작위 추첨
- 매장 방문 고객 가산점
- 추첨 과정 로그 기록
end note
ParticipantDB --> ParticipationSystem : **Event**: 당첨자추첨완료됨\n(데이터: 당첨자목록)
deactivate ParticipantDB
== 당첨 알림 발송 ==
ParticipationSystem -> Notification : **Command**: 당첨알림발송\n(데이터: 당첨자목록, 경품정보)
activate Notification
Notification -> Customer : SMS/카카오알림톡 발송\n(당첨 축하, 경품 수령 안내)
Notification --> ParticipationSystem : **Event**: 당첨알림발송됨
deactivate Notification
ParticipationSystem --> Owner : 당첨자 명단 제공\n(경품 지급 안내)
note over Customer, Owner
**참여 및 접수 자동화 완료**
고객: 간편한 참여 (1분 이내)
소상공인: 자동 접수 및 추첨
수동 관리 불필요
end note
deactivate ParticipationSystem
@enduml

View File

@ -1,148 +0,0 @@
@startuml 05-효과측정및분석
!theme mono
title 유저플로우 05: 효과 측정 및 분석
actor "소상공인" as Owner
participant "실시간 모니터링 시스템" as MonitoringSystem
participant "데이터 분석 엔진" as AnalyticsEngine
participant "AI 개선 제안 시스템" as AIImprovement
participant "매출 연동 시스템" as SalesSystem
database "참여자 DB" as ParticipantDB
database "채널 로그 DB" as ChannelLogDB
database "매출 DB" as SalesDB
database "분석 결과 DB" as AnalyticsDB
== 이벤트스토밍 요소 ==
note over Owner, AnalyticsDB
**Command**: 실시간 모니터링 조회, 분석 리포트 요청
**Event**: 참여자수 집계됨, 채널별 노출수 집계됨,
매장방문자 증가 감지됨, ROI 계산됨,
분석리포트 생성됨, 개선안 제시됨
**Actor**: 소상공인
**External System**: 분석 시스템, AI 개선안 생성 시스템
**Policy**: 실시간 모니터링, AI 자동 분석 및 개선 제안
end note
== 실시간 효과 모니터링 ==
Owner -> MonitoringSystem : **Command**: 실시간 모니터링 조회
activate MonitoringSystem
MonitoringSystem -> ParticipantDB : 참여자 수 조회
activate ParticipantDB
ParticipantDB --> MonitoringSystem : **Event**: 참여자수 집계됨\n(데이터: 총 참여자 수, 시간대별 추이)
deactivate ParticipantDB
MonitoringSystem -> ChannelLogDB : 채널별 노출 수 조회
activate ChannelLogDB
ChannelLogDB --> MonitoringSystem : **Event**: 채널별 노출수 집계됨\n(데이터: 우리동네TV, 지니TV, SNS 노출 수)
deactivate ChannelLogDB
note over MonitoringSystem
**실시간 지표**
- 참여자 수
- 채널별 노출 수
- 참여율 (참여/노출)
- 시간대별 추이
end note
MonitoringSystem --> Owner : 실시간 대시보드 제공\n(데이터: 참여자 수, 노출 수, 참여율)
== 매장 방문자 및 매출 분석 ==
MonitoringSystem -> SalesSystem : 매장 방문자 데이터 요청\n(데이터: 이벤트 기간, 매장ID)
activate SalesSystem
SalesSystem -> SalesDB : 매출 데이터 조회\n(데이터: 이벤트 전후 매출 비교)
activate SalesDB
SalesDB --> SalesSystem : 매출 데이터
deactivate SalesDB
SalesSystem --> MonitoringSystem : **Event**: 매장방문자 증가 감지됨\n(데이터: 방문자 증가율, 매출 증가율)
deactivate SalesSystem
note right of SalesSystem
**Policy**: 실시간 매출 연동
- 이벤트 전후 비교
- 방문자 증가율 계산
- 매출 증가율 분석
end note
== ROI 계산 및 분석 ==
MonitoringSystem -> AnalyticsEngine : 종합 분석 요청\n(데이터: 참여 데이터, 노출 데이터, 매출 데이터)
activate AnalyticsEngine
AnalyticsEngine -> AnalyticsEngine : ROI 계산\n(수식: (매출 증가 - 이벤트 비용) / 이벤트 비용 × 100)
note right of AnalyticsEngine
**분석 항목**
- 참여율 = 참여자 / 노출 수
- 전환율 = 구매자 / 참여자
- 매출 증가율
- ROI = (수익 - 비용) / 비용
- 채널별 효율성
end note
AnalyticsEngine --> MonitoringSystem : **Event**: ROI 계산됨\n(데이터: ROI 300%, 채널별 효율성)
deactivate AnalyticsEngine
== 분석 리포트 생성 ==
Owner -> MonitoringSystem : **Command**: 분석 리포트 요청
MonitoringSystem -> AnalyticsEngine : 상세 리포트 생성 요청
activate AnalyticsEngine
AnalyticsEngine -> AnalyticsDB : 분석 결과 저장
activate AnalyticsDB
AnalyticsDB --> AnalyticsEngine : 저장 완료
deactivate AnalyticsDB
AnalyticsEngine --> MonitoringSystem : **Event**: 분석리포트 생성됨\n(데이터: 종합 분석 보고서)
deactivate AnalyticsEngine
MonitoringSystem --> Owner : 분석 리포트 제공
note over Owner
**분석 리포트 내용**
✓ 총 참여자: 1,250명
✓ 채널별 노출: 15,000명
✓ 참여율: 8.3%
✓ 매출 증가: 20%
✓ ROI: 300%
✓ 채널 효율: 우리동네TV(최고)
end note
== AI 개선 제안 ==
MonitoringSystem -> AIImprovement : AI 개선안 요청\n(데이터: 이벤트 결과, 분석 지표)
activate AIImprovement
note right of AIImprovement
**AI 분석 기준**
- 성공/실패 요인 분석
- 채널별 성과 비교
- 타겟팅 정확도
- 최적화 기회 식별
end note
AIImprovement --> MonitoringSystem : **Event**: 개선안 제시됨\n(데이터: 다음 이벤트 개선 제안)
deactivate AIImprovement
MonitoringSystem --> Owner : AI 개선 제안 제공
note over Owner
**AI 개선 제안**
✓ 우리동네TV 노출 확대 추천
✓ 저녁 시간대 집중 배치
✓ 경품 매력도 상향 조정
✓ 참여 방법 단순화
✓ 예상 ROI: 350%
end note
deactivate MonitoringSystem
@enduml

View File

@ -1,162 +0,0 @@
@startuml 06-당첨자선정및알림
!theme mono
title 유저플로우 06: 당첨자 선정 및 알림
actor "소상공인" as Owner
actor "당첨자" as Winner
participant "당첨자 선정 시스템" as LotterySystem
participant "알림 발송 시스템" as NotificationSystem
participant "KT 멤버십 시스템" as KTMembership
participant "경품 지급 시스템" as RewardSystem
database "참여자 DB" as ParticipantDB
database "당첨 이력 DB" as WinnerDB
== 이벤트스토밍 요소 ==
note over Owner, WinnerDB
**Command**: 당첨자 선정, 알림 발송, 경품 지급 확인
**Event**: 이벤트 종료됨, 당첨자 자동선정됨,
당첨자 알림발송됨, 경품지급 완료됨
**Actor**: 소상공인, 당첨자
**External System**: 알림톡 시스템, KT 멤버십 포인트 시스템
**Policy**: 공정한 자동 추첨, 즉시 알림 발송
end note
== 이벤트 종료 및 당첨자 선정 ==
Owner -> LotterySystem : **Command**: 당첨자 선정 요청\n(데이터: 이벤트ID, 당첨자 수)
activate LotterySystem
LotterySystem --> Owner : **Event**: 이벤트 종료됨
LotterySystem -> ParticipantDB : 전체 참여자 목록 조회
activate ParticipantDB
ParticipantDB --> LotterySystem : 참여자 목록\n(데이터: 1,250명)
deactivate ParticipantDB
note right of LotterySystem
**Policy**: 공정한 자동 추첨
- 난수 생성기 사용
- 중복 당첨 방지
- 투명한 선정 기준
- 블록체인 기록 (선택)
end note
LotterySystem -> LotterySystem : 무작위 추첨 실행\n(알고리즘: Cryptographically Secure Random)
LotterySystem -> WinnerDB : 당첨자 정보 저장\n(데이터: 당첨자 목록, 추첨 시간, 추첨 알고리즘)
activate WinnerDB
WinnerDB --> LotterySystem : 저장 완료
deactivate WinnerDB
LotterySystem --> Owner : **Event**: 당첨자 자동선정됨\n(데이터: 당첨자 목록[10명], 추첨 로그)
note over Owner
**당첨자 선정 완료**
✓ 총 참여: 1,250명
✓ 당첨자: 10명
✓ 당첨 확률: 0.8%
✓ 추첨 방식: 무작위
✓ 추첨 시간: 2025-10-24 18:00
end note
== 당첨자 알림 발송 ==
LotterySystem -> NotificationSystem : 알림 발송 요청\n(데이터: 당첨자 목록, 경품 정보)
activate NotificationSystem
par 병렬 알림 발송
loop 각 당첨자에게
NotificationSystem -> Winner : **Event**: 당첨자 알림발송됨\n(알림톡: 당첨 축하, 경품 수령 안내)
note over Winner
**당첨 알림**
🎉 축하합니다!
✓ 경품: KT 멤버십 5,000P
✓ 수령 방법: 자동 지급
✓ 유효 기간: 30일
end note
end
NotificationSystem -> Owner : 알림 발송 현황 보고\n(데이터: 발송 완료 건수)
end
NotificationSystem --> LotterySystem : 알림 발송 완료
deactivate NotificationSystem
== 경품 자동 지급 ==
alt 경품 유형: KT 멤버십 포인트
LotterySystem -> KTMembership : 포인트 지급 요청\n(데이터: 당첨자 전화번호, 포인트 금액)
activate KTMembership
note right of KTMembership
**자동 포인트 지급**
- 즉시 지급 처리
- 30일 유효 기간
- 사용 내역 추적
end note
loop 각 당첨자
KTMembership -> Winner : 포인트 자동 적립\n(데이터: 5,000P)
KTMembership --> Winner : 포인트 적립 완료 알림
end
KTMembership --> LotterySystem : **Event**: 경품지급 완료됨\n(데이터: 지급 완료 목록)
deactivate KTMembership
else 경품 유형: 실물 경품
LotterySystem -> RewardSystem : 경품 배송 요청\n(데이터: 당첨자 정보, 배송 주소)
activate RewardSystem
RewardSystem -> Winner : 배송지 정보 수집\n(알림톡: 배송지 입력 요청)
Winner --> RewardSystem : 배송지 정보 제공
RewardSystem --> LotterySystem : 배송 처리 완료
deactivate RewardSystem
RewardSystem -> Winner : 배송 시작 알림\n(데이터: 송장 번호)
end
== 경품 지급 확인 및 완료 ==
LotterySystem -> WinnerDB : 경품 지급 이력 업데이트
activate WinnerDB
WinnerDB --> LotterySystem : 업데이트 완료
deactivate WinnerDB
LotterySystem --> Owner : 경품 지급 완료 보고\n(데이터: 지급 완료 목록, 지급 방식)
note over Owner
**경품 지급 완료**
✓ 포인트 지급: 10명 완료
✓ 총 지급액: 50,000P
✓ 즉시 지급 처리
✓ 수령 확인: 100%
end note
deactivate LotterySystem
== 이벤트 종료 후 피드백 ==
NotificationSystem -> Winner : 이벤트 참여 감사 메시지\n(내용: 재방문 유도, 다음 이벤트 안내)
activate NotificationSystem
note over Winner
**감사 메시지**
✓ 이벤트 참여 감사
✓ 매장 재방문 혜택 안내
✓ 다음 이벤트 예고
end note
deactivate NotificationSystem
Owner -> Owner : 이벤트 결과 검토 및\n다음 이벤트 기획
@enduml

View File

@ -0,0 +1,137 @@
@startuml 06-실시간효과측정
!theme mono
title 유저플로우 06: 실시간 효과 측정 및 분석
actor "소상공인" as Owner
participant "효과 측정 시스템" as AnalyticsSystem
participant "KT 채널 데이터 수집 API" as KTData
participant "POS 시스템 연동" as POSSystem
participant "구글 애널리틱스" as GA
database "분석 데이터 DB" as AnalyticsDB
== 이벤트스토밍 요소 ==
note over Owner, AnalyticsDB
**Command**: 효과측정대시보드조회, 참여자통계조회, 노출수집계,
매장방문데이터조회, 매출증가율계산, ROI분석요청, 리포트생성
**Event**: 효과측정시작됨, 참여자수집계됨, 채널별노출수측정됨,
매장방문자증가감지됨, 매출데이터수집됨, ROI계산완료됨, 분석리포트생성됨
**Actor**: 소상공인
**External System**: KT 채널 데이터 수집 API, POS 시스템, 구글 애널리틱스
**Policy**: 실시간 데이터 수집 및 업데이트 (5분 간격), 이벤트 전후 비교 분석 자동화,
업종별 평균 대비 성과 벤치마킹
end note
== 효과 측정 시작 ==
note over AnalyticsSystem
이벤트 배포 완료 시점부터
자동 측정 시작
end note
AnalyticsSystem -> AnalyticsSystem : **Event**: 효과측정시작됨
activate AnalyticsSystem
== 실시간 데이터 수집 (5분 간격) ==
par 참여자 수 집계
AnalyticsSystem -> AnalyticsDB : **Command**: 참여자통계조회\n(데이터: 채널별, 시간대별, 연령대별)
activate AnalyticsDB
AnalyticsDB --> AnalyticsSystem : **Event**: 참여자수집계됨\n(데이터: 총참여자수, 채널별분포)
deactivate AnalyticsDB
and 채널별 노출 수 측정
AnalyticsSystem -> KTData : **Command**: 노출수집계\n(데이터: 우리동네TV, 지니TV, SNS)
activate KTData
note right of KTData
**Policy**: 실시간 데이터
수집 (5분 간격)
- 우리동네TV 노출 수
- 지니TV 노출 수
- SNS 조회/공유 수
end note
KTData --> AnalyticsSystem : **Event**: 채널별노출수측정됨\n(데이터: 채널별노출통계)
deactivate KTData
and 매장 방문 데이터 수집
AnalyticsSystem -> POSSystem : **Command**: 매장방문데이터조회\n(데이터: 이벤트전후비교기간)
activate POSSystem
POSSystem --> AnalyticsSystem : **Event**: 매장방문자증가감지됨\n(데이터: 방문자증가율)
deactivate POSSystem
and 매출 데이터 수집
AnalyticsSystem -> POSSystem : **Command**: 매출증가율계산\n(데이터: 이벤트기간매출, 평균매출)
activate POSSystem
POSSystem --> AnalyticsSystem : **Event**: 매출데이터수집됨\n(데이터: 매출증가율, 객단가변화)
deactivate POSSystem
end
== 대시보드 조회 ==
Owner -> AnalyticsSystem : **Command**: 효과측정대시보드조회\n(데이터: 이벤트ID, 기간)
AnalyticsSystem --> Owner : 실시간 대시보드 제공\n(참여자수, 노출수, 매출증가, ROI)
note over Owner
**실시간 대시보드 항목**
- 참여자 수 (실시간)
- 채널별 노출 수
- 매장 방문자 증가율
- 매출 증가율
- 예상 ROI
end note
== ROI 분석 ==
AnalyticsSystem -> AnalyticsSystem : **Command**: ROI분석요청\n(데이터: 총비용, 매출증가액, 신규고객수)
activate AnalyticsSystem
note right of AnalyticsSystem
**Policy**: 이벤트 전후
비교 분석 자동화
- 비용: 경품비 + 플랫폼비
- 수익: 매출증가 + 신규고객 LTV
- ROI = (수익 - 비용) / 비용 × 100
end note
AnalyticsSystem --> AnalyticsSystem : **Event**: ROI계산완료됨\n(데이터: ROI, 손익분기점)
deactivate AnalyticsSystem
== 분석 리포트 생성 ==
AnalyticsSystem -> GA : 웹/앱 유입 데이터 수집
activate GA
GA --> AnalyticsSystem : 유입 경로 데이터
deactivate GA
AnalyticsSystem -> AnalyticsSystem : **Command**: 리포트생성\n(데이터: 분석결과, 그래프, 인사이트)
note right of AnalyticsSystem
**Policy**: 업종별 평균
대비 성과 벤치마킹
- 동일 업종 평균과 비교
- 성과 우수/보통/미흡 판정
- 개선 포인트 제시
end note
AnalyticsSystem -> AnalyticsDB : 분석 리포트 저장
activate AnalyticsDB
AnalyticsDB --> AnalyticsSystem : 저장 완료
deactivate AnalyticsDB
AnalyticsSystem --> Owner : **Event**: 분석리포트생성됨\n(데이터: 종합리포트, PDF다운로드)
note over Owner
**효과 측정 완료**
- 실시간 모니터링
- 명확한 ROI 산출
- 업종 평균 대비 벤치마킹
- AI 개선 제안으로 연결
end note
deactivate AnalyticsSystem
@enduml

View File

@ -0,0 +1,136 @@
@startuml 07-AI개선제안
!theme mono
title 유저플로우 07: AI 개선 제안 및 다음 이벤트 기획
actor "소상공인" as Owner
participant "AI 학습 및 개선 시스템" as AISystem
participant "AI 머신러닝 엔진" as MLEngine
participant "빅데이터 분석 시스템" as BigData
participant "트렌드 데이터베이스" as TrendDB
database "학습 데이터 DB" as LearningDB
== 이벤트스토밍 요소 ==
note over Owner, LearningDB
**Command**: 이벤트결과분석요청, AI개선안생성, 개선안검토,
다음이벤트제안요청, 학습데이터저장, 새이벤트기획시작
**Event**: 이벤트종료됨, 결과데이터분석완료됨, AI개선안생성됨,
개선안검토됨, 다음이벤트아이디어제안됨, 학습데이터업데이트됨, 새이벤트기획시작됨
**Actor**: 소상공인, AI 시스템
**External System**: AI 머신러닝 엔진, 빅데이터 분석 시스템, 업종별 트렌드 데이터베이스
**Policy**: 성공 패턴 자동 학습 및 재활용, 실패 요인 회피 로직 적용,
업종별/지역별 데이터 축적 및 활용, 지속적 성능 개선 알고리즘
end note
== 이벤트 종료 및 결과 분석 ==
note over AISystem
이벤트 종료 시각 도래
자동 결과 분석 시작
end note
AISystem -> AISystem : **Event**: 이벤트종료됨
activate AISystem
AISystem -> BigData : **Command**: 이벤트결과분석요청\n(데이터: 이벤트ID, 전체성과데이터)
activate BigData
BigData -> BigData : 성공 요인 분석\n실패 요인 분석
note right of BigData
**분석 항목**
- 참여율 vs 목표
- ROI vs 업종 평균
- 채널별 효율성
- 시간대별 참여 패턴
- 경품 매력도
end note
BigData --> AISystem : **Event**: 결과데이터분석완료됨\n(데이터: 성공요인, 실패요인, 개선포인트)
deactivate BigData
== AI 개선안 생성 ==
AISystem -> MLEngine : **Command**: AI개선안생성\n(데이터: 성공요인, 실패요인, 개선포인트)
activate MLEngine
note right of MLEngine
**Policy**: 성공 패턴
자동 학습 및 재활용
- 성공 패턴 식별
- 실패 패턴 회피
- 최적화 알고리즘 적용
end note
MLEngine --> AISystem : **Event**: AI개선안생성됨\n(데이터: 개선안 3가지 옵션, 우선순위)
deactivate MLEngine
== 개선안 검토 ==
AISystem --> Owner : AI 개선안 제시\n(1. 경품 변경, 2. 참여방법 단순화, 3. 배포 채널 조정)
Owner -> AISystem : **Command**: 개선안검토\n(데이터: 선택된개선안, 피드백)
AISystem --> Owner : **Event**: 개선안검토됨
== 다음 이벤트 아이디어 제안 ==
AISystem -> TrendDB : **Command**: 다음이벤트제안요청\n(데이터: 시즌, 목표, 학습결과)
activate TrendDB
note right of TrendDB
**Policy**: 업종별/지역별
데이터 축적 및 활용
- 계절별 성공 이벤트
- 지역 특성 반영
- 트렌드 예측 적용
end note
TrendDB --> AISystem : **Event**: 다음이벤트아이디어제안됨\n(데이터: 추천이벤트 5가지, 예상성과)
deactivate TrendDB
AISystem --> Owner : 다음 이벤트 아이디어 제공\n(예: 크리스마스 이벤트, 설날 이벤트)
== 학습 데이터 업데이트 ==
AISystem -> LearningDB : **Command**: 학습데이터저장\n(데이터: 이벤트결과, 성공패턴, 실패패턴)
activate LearningDB
note right of LearningDB
**Policy**: 지속적
성능 개선 알고리즘
- 이벤트 결과 누적
- 성공률 향상 학습
- 개인화 추천 강화
end note
LearningDB --> AISystem : **Event**: 학습데이터업데이트됨
deactivate LearningDB
== 새 이벤트 기획 시작 ==
alt 소상공인이 즉시 새 이벤트 기획
Owner -> AISystem : **Command**: 새이벤트기획시작\n(데이터: 개선안반영, 이전학습활용)
AISystem --> Owner : **Event**: 새이벤트기획시작됨\n(Flow 02로 이동)
note over Owner
**지속적 순환 구조**
- AI 학습 기반 기획
- 개선안 자동 반영
- 성공률 지속 향상
end note
else 나중에 기획
Owner -> Owner : 대시보드에서 다시 기획 가능
end
note over AISystem, LearningDB
**AI 학습 및 개선 완료**
- 이벤트 결과 학습
- 성공 패턴 축적
- 맞춤형 개선안 제공
- 다음 이벤트 성공률 향상
end note
deactivate AISystem
@enduml

View File

@ -4,54 +4,45 @@
title KT AI 기반 소상공인 이벤트 자동 생성 서비스 - 유저플로우 연결도
actor "소상공인" as Owner
actor "이벤트 참여자" as Customer
participant "회원가입 및 매장등록\n(01-회원가입및매장등록)" as Flow01
participant "AI 이벤트 기획 생성\n(02-AI이벤트기획생성)" as Flow02
participant "이벤트 채널 배포\n(03-이벤트채널배포)" as Flow03
participant "이벤트 참여 및 관리\n(04-이벤트참여및관리)" as Flow04
participant "효과 측정 및 분석\n(05-효과측정및분석)" as Flow05
participant "당첨자 선정 및 알림\n(06-당첨자선정및알림)" as Flow06
actor "고객" as Customer
participant "01. 회원가입 및 매장등록\n(01-회원가입및매장등록)" as Flow01
participant "02. AI 이벤트 자동기획\n(02-AI이벤트자동기획)" as Flow02
participant "03. 이벤트콘텐츠생성\n(03-이벤트콘텐츠생성)" as Flow03
participant "04. 다중채널자동배포\n(04-다중채널자동배포)" as Flow04
participant "05. 이벤트참여및접수\n(05-이벤트참여및접수)" as Flow05
participant "06. 실시간효과측정\n(06-실시간효과측정)" as Flow06
participant "07. AI개선제안\n(07-AI개선제안)" as Flow07
== 소상공인 여정 ==
== 소상공인 여정 플로우 ==
Owner -> Flow01 : 1. 서비스 가입 및 매장 등록
Flow01 --> Owner : 회원가입 완료
Owner -> Flow01 : 1. 서비스 가입 시작
Flow01 --> Flow02 : 2. 회원가입 완료 후 첫 이벤트 기획
Flow02 --> Flow03 : 3. 이벤트 기획안 승인 후 콘텐츠 생성
Flow03 --> Flow04 : 4. 콘텐츠 최종 승인 후 배포
Flow04 --> Flow06 : 5. 배포 완료 후 효과 측정 시작
Owner -> Flow02 : 2. AI 이벤트 기획 생성 요청
Flow02 --> Owner : 이벤트 기획안 제공
== 고객 참여 플로우 ==
Owner -> Flow03 : 3. 다중 채널 배포 실행
Flow03 --> Owner : 배포 완료 확인
Customer -> Flow05 : 6. 고객이 이벤트 발견 및 참여
Flow05 --> Flow06 : 7. 참여 데이터 실시간 반영
Owner -> Flow05 : 4. 실시간 효과 모니터링
Flow05 --> Owner : 분석 리포트 제공
== 분석 및 개선 플로우 ==
Owner -> Flow06 : 5. 당첨자 선정 및 경품 지급
Flow06 --> Owner : 당첨자 알림 완료
Flow06 --> Owner : 8. 실시간 대시보드 조회
Flow06 --> Flow07 : 9. 이벤트 종료 후 결과 분석
Flow07 --> Flow02 : 10. AI 개선안 반영하여 새 이벤트 기획
== 이벤트 참여자 여정 ==
== 반복 순환 구조 ==
Customer -> Flow03 : 6. 채널을 통해 이벤트 발견
Flow03 --> Customer : 이벤트 정보 제공
Flow02 --> Flow02 : 11. 지속적인 이벤트 생성 및 운영
Customer -> Flow04 : 7. 이벤트 참여 신청
Flow04 --> Customer : 참여 접수 완료
Customer -> Flow06 : 8. 당첨 여부 확인
Flow06 --> Customer : 당첨 알림 수신
== 시스템 데이터 흐름 ==
Flow02 -> Flow03 : 이벤트 콘텐츠 전달
Flow03 -> Flow04 : 참여 경로 정보 전달
Flow04 -> Flow05 : 참여 데이터 집계
Flow04 -> Flow06 : 참여자 목록 전달
Flow05 -> Flow02 : AI 개선 제안 피드백
note over Flow01, Flow06
소상공인은 가입 → 기획 → 배포 → 모니터링 → 선정의
note over Flow01, Flow07
소상공인은 가입→기획→생성→배포→측정→개선의
순환 구조로 서비스를 이용하며,
고객은 발견 → 참여 → 당첨의 간단한 여정을 경험합니다.
AI는 지속적으로 학습하여 성공률을 향상시킵니다.
고객 참여 데이터는 실시간으로 효과 측정에 반영되어
즉각적인 인사이트를 제공합니다.
end note
@enduml