01-02 기존 대시보드 문제점 분석

🔗 현재 대시보드 링크

Google Sheets 대시보드: 네이버 검색광고 데이터 수집

🔍 현재 시스템 상세 분석

시스템 구성 요소

Google Sheets (데이터 저장 + 설정 관리)
    ↕️ 
Google Apps Script (비즈니스 로직)
    ↕️
네이버 API (키워드도구 + DataLab)
    ↕️
정적 웹페이지 (데이터 시각화)

데이터 수집 범위

현재 수집 중인 주요 지표:

  • 검색량: PC/모바일별 월간 검색량
  • 광고 지표: 평균 클릭수, CTR, 경쟁도
  • 트렌드: 최근 2년간 월별 변화율
  • 연령대별: 검색 비중 분석

❌ 핵심 문제점 분석

1. 실시간성 부족 (Critical)

문제 상황

// 현재: 일 1회 배치 처리만 가능
function scheduledUpdate() {
  // 매일 새벽 2시에만 실행
  var keywords = getKeywordList();
  keywords.forEach(keyword => {
    updateKeywordData(keyword);
  });
}

실제 문제 사례

  • 시나리오: “바디프로필” 키워드가 갑자기 급상승
  • 현재 시스템: 접속해야 신규 데이터 확인 가능
  • 비즈니스 임팩트: 최적 광고 입찰 타이밍 놓침
  • 기회비용: 일 평균 클릭 단가 30% 상승 후 진입

개선 목표

  • 현재: 24시간 지연 → 목표: 실시간 (5분 이내)
  • 사용자 요청 시 즉시 최신 데이터 조회 가능

2. 확장성 제약 (High)

동시 사용자 문제

상황: 팀 동료 3명이 동시에 대시보드 사용 요청
결과: 
- 스프레드시트 동시 편집 충돌
- 데이터 일관성 깨짐  
- 일부 공식 오류 발생

현재 한계

  • 동시 사용자: 실질적으로 1명만 가능
  • 데이터 무결성: 동시 수정 시 공식 깨짐 위험
  • 접근 권한 관리: 세밀한 권한 제어 불가

Apps Script 실행 제한

Google Apps Script 할당량:
- 실행 시간: 최대 6분
- 일일 실행: 프로젝트당 20,000회
- 동시 실행: 30개 제한
- 트리거: 사용자당 20개 제한

3. 사용자 경험 (Medium)

현재 UX 문제점

사용자 여정:
1. 구글 시트 접근 (로그인 필요)
2. 키워드 셀에 입력
3. 함수 실행 대기 (10-15초)
4. 결과 확인
5. 다른 키워드 분석 시 2-4 반복

실제 사용자 피드백

“데이터는 정확하고 유용한데, 매번 시트 열고 함수 실행하는게 번거로워요. 특히 모바일에서는 거의 못 써요.”

한계점

  • 모바일 접근성: 스프레드시트 모바일 최적화 부족
  • 인터랙티브: 클릭 기반 탐색 불가
  • 시각화: 기본 차트 기능만 활용 가능
  • 공유: URL 공유 시 편집 권한 관리 복잡

4. 데이터 분석 한계 (Medium)

고급 분석 기능 부족

현재 가능한 분석:

  • ✅ 기본 검색량 조회
  • ✅ 단순 트렌드 확인
  • ❌ 키워드 간 상관관계 분석
  • ❌ 계절성 패턴 자동 감지
  • ❌ 경쟁사 대비 포지션 분석
  • ❌ 예측 모델링

예시: 놓친 인사이트

데이터: "바디프로필" vs "여자바디프로필" vs "바디프로필스튜디오"
현재: 개별 지표만 확인 가능
놓친 분석:
- 3개 키워드 간 검색 패턴 연관성
- 계절성 차이 (여름 성수기 vs 일반)
- 연령대별 선호 키워드 차이
- 최적 광고 포트폴리오 구성 제안

5. API 제한 및 에러 처리 (Medium)

현재 에러 처리 방식

function nkey(req) {
  try {
    var res = UrlFetchApp.fetch(url, options);
    var content = res.getContentText();
    // 간단한 성공/실패만 확인
    console.log('스테이터스 :'+res.getResponseCode());
  } catch(e) {
    // 에러 시 빈 값 반환 (사용자가 모름)
    return ['', '', '', ''];
  }
}

문제점

  • 에러 가시성: 실패 시 사용자가 모름
  • 재시도 로직: 일시적 장애 시 수동 재실행 필요
  • API 할당량: 네이버 API 호출 제한 관리 부족
  • 로깅 부족: 디버깅 정보 부족

6. 운영 및 유지보수 (Low)

코드 관리 문제

// 하나의 스크립트 파일에 모든 로직 혼재
var s = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
var accessKey = s.getRange('B2').getValue(); // 설정 관리
// ... 100줄 후 ...
function nkey(req) { /* API 호출 로직 */ }
// ... 50줄 후 ...  
function ntrend(Req) { /* 다른 API 로직 */ }

유지보수 이슈

  • 코드 구조: 단일 파일에 모든 기능 혼재
  • 버전 관리: Apps Script 환경의 제한적 Git 연동
  • 테스트: 단위 테스트 작성 어려움
  • 배포: 수동 배포로 인한 휴먼 에러 위험

📊 문제점별 우선순위 매트릭스

문제점비즈니스 임팩트기술적 복잡도우선순위해결 방안
실시간성 부족HighMedium1순위Cloud Functions + 실시간 API
확장성 제약HighMedium2순위Cloud Run + Firestore
사용자 경험MediumLow3순위React SPA 구축
분석 기능 한계MediumHigh4순위데이터 처리 서비스
에러 처리 부족LowLow5순위모니터링 시스템
유지보수 어려움LowMedium6순위마이크로서비스 분해

🎯 개선 기대 효과

정량적 개선 목표

성능 지표

  • 데이터 갱신: 24시간 → 실시간 (100% 개선)
  • 응답 속도: 10-15초 → 2-3초 (80% 개선)
  • 가용성: 95% → 99.9% (SLA 향상)
  • 동시 사용자: 1명 → 100명+ (확장성)

사용성 지표

  • 모바일 접근성: 불가능 → 완벽 지원
  • 분석 깊이: 기본 → 고급 인사이트
  • API 활용: 불가능 → RESTful API 제공

정성적 개선 효과

사용자 경험

  • 즉시성: “지금 당장 확인하고 싶은” 니즈 충족
  • 편의성: 모바일/PC 어디서나 동일한 경험
  • 직관성: 클릭 몇 번으로 원하는 분석 완료

비즈니스 가치

  • 의사결정 속도: 실시간 데이터 기반 빠른 판단
  • 기회 포착: 트렌드 변화 즉시 감지 및 대응
  • 경쟁 우위: 데이터 기반 선제적 마케팅 전략

🚀 해결 방향성

단기 해결 방안 (Phase 1)

  1. Cloud Functions: 실시간 API 호출 구현
  2. Firestore: 확장 가능한 데이터 저장소
  3. React 웹앱: 향상된 사용자 인터페이스

장기 해결 방안 (Phase 2-3)

  1. 마이크로서비스: 도메인별 서비스 분리
  2. 고급 분석: ML 기반 인사이트 제공
  3. API 생태계: 외부 연동 가능한 플랫폼

작성일: 2025-11-08
분석 대상: 현재 대시보드
다음 문서: 01-03-학습-목표-및-성과-지표