function renderPWarLeaderboard(data) { const container = document.getElementById('p-war-table-container'); if (!container) return; const sortedData = [...data].sort((a, b) => a.p_war - b.p_war); container.innerHTML = `
| 프로젝트명 | 파일 수 | 방치일 | 상태 판정 | 현재 SOI | 실무 투입 | AI 예보 (14d) |
|---|---|---|---|---|---|---|
| ${p.project_nm} | ${p.file_count.toLocaleString()}개 | ${p.days_stagnant}일 | ${status.label} | ${soi.toFixed(1)}% |
${p.work_effort}%
|
${pred !== null ? pred.toFixed(1) + '%' : '-'}
${trendIcon}
|
|
⚙️ AI 위험 적응형 모델(AAS) 산출 시뮬레이션
📊 실질 업무 활성화 분석 (Work Vitality)
투입률 ${p.work_effort}%
최근 30개 수집 이력 중 단순 로그 갱신이 아닌 실제 파일 수의 변동이 포착된 날의 비율입니다.
현재 이 프로젝트는 ${p.work_effort >= 70 ? '매우 밀도 높은 실무' : p.work_effort <= 30 ? '형식적 관리 위주의 정체' : '간헐적인 성과물'} 상태를 보이고 있습니다.
1
동적 위험 계수(λ) 산출
λ = ${p.ai_lambda.toFixed(4)}
4
활동 품질 검증 (Quality)
${p.log_quality >= 1.0 ? '성과물 직결 실무 활동 감지' : p.log_quality >= 0.7 ? '시스템 구조적 활동 주류' : '단순 행정적 활동 판명'}
Factor = ${(p.log_quality * 100).toFixed(0)}%
2
방치 시간 감쇄 적용
Result = ${((soi / (p.file_count === 0 ? 0.05 : p.file_count < 10 ? 0.4 : 1) / p.log_quality) || 0).toFixed(1)}%
3
존재 진정성 (ECV)
Factor = ${ecvText}
* 최종 점수는 위 4개 팩터의 연쇄 추론 결과입니다.
최종 P-SOI:
${soi.toFixed(1)}%
|
||||||