@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
