From 2a5237e8449cec4f426fa1b9b83ec3d70cb4ea53 Mon Sep 17 00:00:00 2001 From: merrycoral Date: Fri, 17 Oct 2025 13:23:30 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9D=B4=EB=B2=A4=ED=8A=B8=EC=8A=A4=ED=86=A0?= =?UTF-8?q?=EB=B0=8D=20=EA=B8=B0=EB=B2=95=EC=9D=84=20=ED=99=9C=EC=9A=A9?= =?UTF-8?q?=ED=95=9C=20=EC=9C=A0=EC=A0=80=ED=94=8C=EB=A1=9C=EC=9A=B0=20?= =?UTF-8?q?=EC=84=A4=EA=B3=84=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 전체 유저플로우 연결도 작성 (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 --- {claude => .claude}/plantuml-guide.md | 0 think/es/02-AI이벤트기획생성.puml | 117 ------------------- think/es/02-AI이벤트자동기획.puml | 113 ++++++++++++++++++ think/es/03-이벤트채널배포.puml | 127 -------------------- think/es/03-이벤트콘텐츠생성.puml | 121 +++++++++++++++++++ think/es/04-다중채널자동배포.puml | 120 +++++++++++++++++++ think/es/04-이벤트참여및관리.puml | 119 ------------------- think/es/05-이벤트참여및접수.puml | 114 ++++++++++++++++++ think/es/05-효과측정및분석.puml | 148 ----------------------- think/es/06-당첨자선정및알림.puml | 162 -------------------------- think/es/06-실시간효과측정.puml | 137 ++++++++++++++++++++++ think/es/07-AI개선제안.puml | 136 +++++++++++++++++++++ think/es/userflow.puml | 67 +++++------ 13 files changed, 770 insertions(+), 711 deletions(-) rename {claude => .claude}/plantuml-guide.md (100%) delete mode 100644 think/es/02-AI이벤트기획생성.puml create mode 100644 think/es/02-AI이벤트자동기획.puml delete mode 100644 think/es/03-이벤트채널배포.puml create mode 100644 think/es/03-이벤트콘텐츠생성.puml create mode 100644 think/es/04-다중채널자동배포.puml delete mode 100644 think/es/04-이벤트참여및관리.puml create mode 100644 think/es/05-이벤트참여및접수.puml delete mode 100644 think/es/05-효과측정및분석.puml delete mode 100644 think/es/06-당첨자선정및알림.puml create mode 100644 think/es/06-실시간효과측정.puml create mode 100644 think/es/07-AI개선제안.puml diff --git a/claude/plantuml-guide.md b/.claude/plantuml-guide.md similarity index 100% rename from claude/plantuml-guide.md rename to .claude/plantuml-guide.md diff --git a/think/es/02-AI이벤트기획생성.puml b/think/es/02-AI이벤트기획생성.puml deleted file mode 100644 index c3c1c4c..0000000 --- a/think/es/02-AI이벤트기획생성.puml +++ /dev/null @@ -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 diff --git a/think/es/02-AI이벤트자동기획.puml b/think/es/02-AI이벤트자동기획.puml new file mode 100644 index 0000000..5e0e5b9 --- /dev/null +++ b/think/es/02-AI이벤트자동기획.puml @@ -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 diff --git a/think/es/03-이벤트채널배포.puml b/think/es/03-이벤트채널배포.puml deleted file mode 100644 index 00dbfea..0000000 --- a/think/es/03-이벤트채널배포.puml +++ /dev/null @@ -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 diff --git a/think/es/03-이벤트콘텐츠생성.puml b/think/es/03-이벤트콘텐츠생성.puml new file mode 100644 index 0000000..b554599 --- /dev/null +++ b/think/es/03-이벤트콘텐츠생성.puml @@ -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 diff --git a/think/es/04-다중채널자동배포.puml b/think/es/04-다중채널자동배포.puml new file mode 100644 index 0000000..a3514bf --- /dev/null +++ b/think/es/04-다중채널자동배포.puml @@ -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 diff --git a/think/es/04-이벤트참여및관리.puml b/think/es/04-이벤트참여및관리.puml deleted file mode 100644 index a93259c..0000000 --- a/think/es/04-이벤트참여및관리.puml +++ /dev/null @@ -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 diff --git a/think/es/05-이벤트참여및접수.puml b/think/es/05-이벤트참여및접수.puml new file mode 100644 index 0000000..bf25a4b --- /dev/null +++ b/think/es/05-이벤트참여및접수.puml @@ -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 diff --git a/think/es/05-효과측정및분석.puml b/think/es/05-효과측정및분석.puml deleted file mode 100644 index 0e054d6..0000000 --- a/think/es/05-효과측정및분석.puml +++ /dev/null @@ -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 diff --git a/think/es/06-당첨자선정및알림.puml b/think/es/06-당첨자선정및알림.puml deleted file mode 100644 index 9cbe09c..0000000 --- a/think/es/06-당첨자선정및알림.puml +++ /dev/null @@ -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 diff --git a/think/es/06-실시간효과측정.puml b/think/es/06-실시간효과측정.puml new file mode 100644 index 0000000..5209bb5 --- /dev/null +++ b/think/es/06-실시간효과측정.puml @@ -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 diff --git a/think/es/07-AI개선제안.puml b/think/es/07-AI개선제안.puml new file mode 100644 index 0000000..fe6e561 --- /dev/null +++ b/think/es/07-AI개선제안.puml @@ -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 diff --git a/think/es/userflow.puml b/think/es/userflow.puml index cac0e3b..b20c8d7 100644 --- a/think/es/userflow.puml +++ b/think/es/userflow.puml @@ -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