145 lines
7.2 KiB
HTML
145 lines
7.2 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="ko">
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>데이터 분석 - Project Master Sabermetrics</title>
|
|
<link rel="stylesheet" as="style" crossorigin
|
|
href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css" />
|
|
<link rel="stylesheet" href="style/common.css">
|
|
<link rel="stylesheet" href="style/analysis.css">
|
|
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/chartjs-plugin-datalabels@2"></script>
|
|
</head>
|
|
|
|
<body>
|
|
<nav class="topbar">
|
|
<div class="topbar-header">
|
|
<a href="/">
|
|
<h2>Project Master Test</h2>
|
|
</a>
|
|
</div>
|
|
<ul class="nav-list">
|
|
<li class="nav-item" onclick="location.href='/dashboard'">대시보드</li>
|
|
<li class="nav-item" onclick="location.href='/inquiries'">문의사항</li>
|
|
<li class="nav-item" onclick="location.href='/mailTest'">메일관리</li>
|
|
<li class="nav-item active" onclick="location.href='/analysis'">분석</li>
|
|
</ul>
|
|
</nav>
|
|
|
|
<main class="analysis-content wide">
|
|
<header class="analysis-header">
|
|
<div class="title-group">
|
|
<div class="ai-badge">AI Sabermetrics</div>
|
|
<h2>시스템 운영 빅데이터 분석</h2>
|
|
<p>수집된 활동 로그 및 문의사항 데이터를 기반으로 한 통계적 성능 지표 (Beta)</p>
|
|
</div>
|
|
<div class="analysis-actions">
|
|
<button class="btn-refresh" onclick="location.reload()">데이터 갱신</button>
|
|
</div>
|
|
</header>
|
|
|
|
<div class="top-info-grid">
|
|
<!-- 딥러닝 모델 상세 설명 섹션 -->
|
|
<section class="dl-model-info compact">
|
|
<div class="card-header">
|
|
<h4><i class="ai-icon">AI</i> Hybrid Prediction Engine</h4>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="model-desc-vertical">
|
|
<div class="model-item-vertical">
|
|
<span class="model-tag">알고리즘</span>
|
|
<p>최근 9회차 시계열의 <strong>Velocity</strong> 및 가속도 분석</p>
|
|
</div>
|
|
<div class="model-item-vertical">
|
|
<span class="model-tag">판단 로직</span>
|
|
<p>활동 시 <strong>'선형 추세'</strong>, 정체 시 <strong>'지수 감쇄'</strong> 가중치 적용</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- SOI 심층 설명 섹션 (AAS 모델 반영) -->
|
|
<section class="soi-deep-dive compact">
|
|
<div class="card-header">
|
|
<h4><i class="info-icon">i</i> AI 위험 적응형 모델 (AAS) 기반 지표 정의</h4>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="soi-info-columns">
|
|
<div class="soi-info-column">
|
|
<h6>1. AI 자산 가치 평가 (Scale)</h6>
|
|
<p>단순 방치가 아닌 <strong>자산의 크기</strong>를 감지합니다. 파일 수가 많은 프로젝트는 관리 공백 시 데이터 가치 하락 속도를 AI가 자동으로 <strong>가속(Acceleration)</strong>시켜 경고를 강화합니다.</p>
|
|
</div>
|
|
<div class="soi-info-column">
|
|
<h6>2. 조직 위험 전염 (Contagion)</h6>
|
|
<p>부서별 평균 활동성을 분석하여 <strong>조직적 방치</strong>를 포착합니다. 소속 부서의 전반적인 SOI가 낮을 경우, 개별 프로젝트의 위험 지수를 상향 조정하여 시스템적 붕괴를 예보합니다.</p>
|
|
</div>
|
|
<div class="soi-info-column">
|
|
<h6>3. 동적 위험 계수 (Adaptive Lambda)</h6>
|
|
<p>기존의 고정된 공식을 폐기하고, 프로젝트마다 <strong>개별화된 위험 곡선</strong>을 생성합니다. AI가 실시간으로 위험 계수를 재산출하여 가장 실무적인 가치 보존율을 제공합니다.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
|
|
<!-- 메인 분석 영역 -->
|
|
<div class="analysis-main-full">
|
|
<div class="analysis-card timeline-analysis">
|
|
<div class="card-header">
|
|
<div style="display: flex; flex-direction: column; gap: 4px;">
|
|
<h4>Project Stagnation Objective Index (P-SOI Status)</h4>
|
|
<p style="font-size: 11px; color: #888; margin: 0;">이상적 관리 상태(100%) 대비 현재의 활동 가치 보존율 및 14일 뒤 미래를 예측합니다.</p>
|
|
</div>
|
|
<div class="card-tools">
|
|
<span id="avg-system-info" style="font-size: 11px; color: #888;">* SOI (Project Health Score)</span>
|
|
</div>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="d-war-guide">
|
|
<div class="guide-item active-low"><span>70%↑</span> 정상</div>
|
|
<div class="guide-item warning-mid"><span>30~70%</span> 주의</div>
|
|
<div class="guide-item danger-high"><span>10~30%</span> 위험</div>
|
|
<div class="guide-item hazard-critical"><span>10%↓</span> 사망</div>
|
|
</div>
|
|
|
|
<!-- 차트 그리드 레이아웃 도입 -->
|
|
<div class="analysis-charts-grid">
|
|
<div class="chart-container-box">
|
|
<h5>건강 상태 분포 (Project Distribution)</h5>
|
|
<canvas id="statusChart"></canvas>
|
|
</div>
|
|
<div class="chart-container-box">
|
|
<h5>관리 사각지대 진단 (Vitality Scatter Plot)</h5>
|
|
<canvas id="forecastChart"></canvas>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="p-war-table-container">
|
|
<!-- 테이블은 기존처럼 동적 삽입 -->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</main>
|
|
|
|
<!-- 분석 상세 설명 모달 -->
|
|
<div id="analysisModal" class="modal-overlay" onclick="closeAnalysisModal(event)">
|
|
<div class="modal-content" onclick="event.stopPropagation()">
|
|
<div class="modal-header">
|
|
<h3 id="modalTitle">지표 상세 설명</h3>
|
|
<button class="modal-close" onclick="closeAnalysisModal()">×</button>
|
|
</div>
|
|
<div class="modal-body" id="modalBody">
|
|
<!-- 내용 동적 삽입 -->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script src="js/common.js"></script>
|
|
<script src="js/analysis.js"></script>
|
|
</body>
|
|
|
|
</html>
|