0 · 데이터의 기본 단위 Sensor Basics
케이스를 읽기 전에 2분 · 그림은 비유, 표 오른쪽이 실제 값속도는 "패턴 1개가 센서 앞을 지나는 시간"에서 시작합니다
가이드롤 표면의 패턴이 센서 앞을 지날 때마다 펄스 1개가 생깁니다. 1초 동안 지나간 패턴 수를 세면 패턴 1개의 통과 시간이 나오고, 이 간격이 일정할 때 속도(MPM)가 정확히 계산됩니다.
롤이 멈춰 있어도 필름이 펄럭이면 센서는 불규칙한 펄스를 받습니다. 이것이 정지 구간에 0보다 큰 속도가 찍히는 유령 속도(Ghost Speed)의 원리이고, 아래 케이스의 향후 과제로 이어집니다.


| 항목 | 그림·영상의 비유 예시 | evol 실제 (확인된 값) |
|---|---|---|
| 속도의 원천 | 패턴 1개 통과 시간 10ms | 센서 노드가 펄스를 세어 MPM으로 보고. 10분마다 11초 측정, 측정 칸 220개 = 사이클 1회 |
| 가동 판정 | 펄스 간격의 표준편차, 이론 패턴 수와 실제 수의 모순 (영상 설명, evol 미적용) | 속도 1 MPM 이상, 속도가 이어지는 구간 하나 = 가동 1회 |
| 유령 속도 구분 | 불규칙 펄스 (원리) | 220칸 중 속도가 기록된 칸의 비율로 구분하는 가설, 실측 682 사이클로 검증. 임계값은 미정 |
그림·영상 속 숫자(10cm, 10 RPS, 10ms 등)는 이해를 돕기 위한 비유이며 evol 현장 값이 아닙니다. 표 오른쪽 열만 evol 코드·문서에서 확인한 값입니다.
+학습 영상 2편 · NotebookLM으로 만든 설명 영상원리 이해용 · 쇼츠 2편 · 새 창에서 열림
영상은 원리 설명이며, 영상 속 판별 방법(간격 표준편차·패턴 수 모순·노드 간 편차)은 evol에 적용한 방식이 아닙니다.
문제 정의 및 원인 분석 Problem & Root Cause
단계를 누르면 내용이 바뀝니다통계 지표 간 모순: 가동 1.2시간 · 가동 0회
한 주 통계 카드에 가동 1.2시간과 가동 0회가 같이 떴습니다. 주별 합 3.7+1.2도 전체 4.8과 어긋나 있었습니다. 개발 단계의 샘플 데이터에서는 재현되지 않던 조합이었습니다.
- 노드 4대가 동시에 가동·정지
- 짧은 가동 구간 없음
- 횟수와 시간이 항상 같은 방향으로 변화
- 전체 사이클의 67%가 정지 상태
- 한 노드만 움직이는 구간 존재
- 10분 단위의 짧은 가동이 빈번
원인: 두 지표가 서로 다른 판정 기준을 사용
가동 횟수는 "30분 넘게 이어진 덩어리"만 셌고, 가동 시간은 길이와 상관없이 다 더했습니다. 해당 일에는 10~20분 길이의 가동이 여섯 번 있었고, 이 구간들이 횟수에서는 모두 빠지고 시간에는 모두 합산되었습니다.
시간(옛) = 길이 상관없이 다 더한다 → 10분 × 6 = 1.2h
같은 데이터, 다른 문턱
해결: 가동 정의 재합의와 합산 함수 단일화
현장과 함께 "가동 1회"의 정의부터 다시 합의했습니다. 합산 함수 한 곳을 바꾸고, 일간 카드·주별·월별 화면이 모두 그 함수를 쓰게 했습니다.
+상태 전이 4조건 그림정지·속도 두 상태 사이의 네 가지 전이
검증: '항상 맞아야 할 규칙' 정의 후 36일치 화면 전수 대조
"올바른 화면이라면 반드시 성립해야 하는 조건", 즉 항상 맞아야 할 규칙을 먼저 문장으로 정의하고, 36일치 화면 전부와 대조했습니다.
- 0회면 0시간 — 36일 전부 통과
- 주별 합 = 전체 — 6주 전부 통과
- 노드 카드 144칸 = 로컬 계산
- 옛 규칙: 37일 중 5일에서 모순
- 새 규칙: 0일
- 계약 테스트 26건이 규칙을 고정
- 검증 범위 외: 원파형 상세·비교 탭은 해당 회차에서 미검증
+7월 6일 덩어리 여섯 개공개 샘플 데이터로 다시 계산한 값
| 구간 | 길이 | 평균 속도 | 옛 규칙 | 새 규칙 |
|---|---|---|---|---|
| 10:34~10:44 | 10분 | 33.3 MPM | 0회 | 1회 |
| 11:04~11:14 | 10분 | 16.9 MPM | 0회 | 1회 |
| 11:24~11:34 | 10분 | 10.3 MPM | 0회 | 1회 |
| 11:44~12:04 | 20분 | 24.2 MPM | 0회 | 1회 |
| 12:14~12:24 | 10분 | 28.2 MPM | 0회 | 1회 |
| 16:14~16:24 | 10분 | 10.8 MPM | 0회 | 1회 |
| 합 | 1.2시간 | 0회 | 6회 |
성과: 세 화면의 지표 일치와 조회 성능 개선
일간 카드·주별·월별 화면이 같은 합산 함수를 사용하게 되어 세 화면의 지표가 일치합니다. 함께 첫 조회 지연(게이트웨이 30초 제한으로 인한 502 오류)도 해소했습니다.
- 가동 1.2h · 6회 (7/6)
- 세 화면이 같은 덩어리를 센다
- 결정은 결정대장에 날짜·근거와 함께 기록
핵심 성과 비교 Impact
| 구분 | 개선 전 | 개선 후 |
|---|---|---|
| 지표 정합성 | 주간 가동 1.2시간 / 가동 0회 (불일치) | 주간 가동 1.2시간 / 가동 6회 (일간 관제와 일치) |
| 지표 모순 발생일 | 37일 중 5일 | 36일 전수 검증 위반 0건 |
| 첫 화면 조회 | 18.0초 (게이트웨이 502 오류) | 0.89초 (95% 단축, 화면 데이터 8/8 동일) |
| 규칙 고정 | — | 계약 테스트 26건 |
기여도 및 향후 과제 Contributions & Next Steps
- 가동 정의 재합의안 작성·제안 및 구현 (최종 결정은 대표·현장 협의)
- 합산 함수 단일화와 일간·주별·월별 화면 연결
- 36일 전수 규칙 검증, 계약 테스트 26건 작성
- 첫 조회 성능 개선: DB 연결 1회화, Parquet 병합 사본, 원본 자동 복귀 검증
- 결정대장·유지보수 문서화
- 정지 중 유령 속도 필터링 — 아래 참조
- 노드 카드 가동 기준 정렬 — 기간 통계와 같은 정의로 맞출지 비교 분석
+향후 과제 · 정지 중 유령 속도(Ghost Speed) 필터링가설 검증 완료 · 임계값 정립은 추가 분포 분석 후 진행
현상 — 롤러가 정지해 있어도 필름의 미세 진동으로 센서가 속도를 기록해, 정지 구간의 평균 속도가 0보다 크게 계산됩니다. 1차 사례가 "정의가 서로 달랐던" 문제라면, 이 현상은 정지 판정 기준 자체가 정의되지 않은 문제입니다.
가설과 검증 — 사이클 1회의 측정 칸 220개 중 속도가 기록된 칸의 비율로 실제 가동과 유령 속도를 구분할 수 있다는 가설을 세우고, 실측 682 사이클에서 구분 가능함을 확인했습니다.
다음 단계 — 사이클 길이에 따라 비율 분포가 달라, 사이클 길이별 분포 분석을 거쳐 임계값을 정하고 필터를 적용할 계획입니다.
+화면 · 데모공개 샘플 데이터 기준 화면


데모 보기 ↗ — 로그인 없음, 읽기 전용. 임시 주소라 바뀔 수 있습니다. 화면과 숫자는 공개 샘플 데이터이고, 고객사명·운영 원자료는 싣지 않았습니다.
근거가 부족한 기준은 임의로 정하지 않습니다. 분석 결과를 제시하고, 추가 데이터를 검토한 뒤 현장과 함께 결정합니다.