기본 품질 규칙 네 가지
고속 응답(스피더): 응답 시간의 중앙값을 성실한 응답에 필요한 시간의 기준으로 씁니다. 중앙값의 일정 비율(기본 33%) 또는 직접 정한 최소 초 중 더 큰 값보다 빠른 행을 표시합니다. 응답 시간이 비어 있거나 숫자가 아닌 행은 고속 응답으로 판정하지 않습니다.
일자 응답(스트레이트라이너): 선택한 그리드 문항에서 응답한 문항이 3개 이상(조정 가능)이고 답이 모두 같으면 표시합니다. 긴 그리드에서는 부분적인 일자 응답이 흔하므로 ‘최장 동일 응답 연속 길이’를 보조 신호로 함께 보여 줍니다.
중복 응답: 같은 응답자 ID가 다시 나오면 처음 행은 유지하고 이후 행을 모두 표시합니다. ‘행 전체가 완전히 같은 복사본’을 켜면 ID가 새로 발급된 중복 제출도 찾을 수 있습니다.
미완료 응답: 한 행에서 빈 셀이 전체 열에서 차지하는 비율이 기준(기본 50%)을 넘으면 표시합니다. 건너뛰기 로직으로 생긴 빈칸은 정상이므로 설문 구조가 복잡하면 기준을 높이세요.
개방형 응답, 유사 중복, 기술 식별자, 주의력 확인
저품질 개방형 응답: 선택한 개방형 문항의 각 응답을 무의미 응답(n/a, idk, nothing, “.”, “good”, “모름” 등), 문자 없음(“12345”), 너무 짧은 응답, 키보드 난타(“asdfg”), 반복 문자(“kkkk”, “asdasd”), 너무 적은 모음, 비정상적으로 낮은 문자 다양성 순으로 점검합니다. 실제 단어가 잘못 걸리지 않도록 임계값을 보수적으로 잡았습니다.
문자 체계 구분: 키보드 난타, 모음, 길이 규칙은 라틴 문자 위주의 응답에만 적용합니다. 한국어, 중국어, 일본어, 러시아어, 아랍어 등은 무의미 응답, 문자 없음, 전체 반복, 엔트로피 이상값, 복사·붙여넣기처럼 문자와 무관한 검사만 받으므로 한글 응답이 ‘모음 부족’으로 잘못 표시되지 않습니다.
복사·붙여넣기: 같은 열에서 대소문자, 공백, 문장부호를 무시했을 때 동일하고 30자 이상인 응답이 3명 이상(큰 파일은 해당 열 응답 수의 0.5%)에게서 나오면 그룹 전체를 표시합니다. 응답 공장의 전형적인 흔적입니다. 무의미 응답은 약한 신호로, 사유는 보여 주지만 기본적으로 정제된 파일에 남깁니다.
유사 중복: 선택한 열 중 두 행이 모두 응답한 열만 비교해 동일 응답 비율이 95% 이상(조정 가능)이면 먼저 나온 행은 남기고 나중 행을 표시합니다. 모든 쌍을 비교하는 O(n²) 비용을 피하려고 해시 버킷을 쓰며, 비교 한도에 걸리면 일부를 놓쳤을 수 있다고 결과에 밝힙니다.
반복된 기술 식별자: IP 주소, 기기·핑거프린트 ID, 이메일, 패널 ID 열에서 두 번째 이후 등장하는 같은 값을 표시합니다. N/A, -, unknown, 0.0.0.0 같은 자리표시 값은 무시하고 IP 주소는 표준 형식으로 비교하며, 완화 옵션을 켜면 같은 /24(IPv4) 또는 /64(IPv6) 대역도 반복으로 봅니다. 사무실, 학교, 이동통신망은 주소를 공유하므로 검토가 필요한 신호일 뿐입니다.
주의력 확인: “매우 동의함을 선택하세요” 같은 함정 문항과 정답을 지정합니다. 코드와 값 레이블 모두 쓸 수 있고, 여러 정답은 쉼표나 세미콜론으로 구분합니다. 실패 문항 수가 설정값에 도달하면 표시하며, 건너뛰기로 생긴 빈 응답은 기본적으로 실패로 보지 않습니다.
판정 공식
고속 응답: 응답 시간 < max(p × 응답 시간 중앙값, 최소 초). p의 기본값은 0.33이며 최소 초는 비워 둘 수 있습니다.
일자 응답: 응답한 문항 수 ≥ m 이고 응답한 문항의 답이 모두 같음(표준편차 0). m의 기본값은 3입니다.
미완료: 빈 셀 수 ÷ 전체 열 수 > 기준값. 기본값은 0.50입니다.
유사 중복: 동일 응답 수 ÷ 두 행이 모두 응답한 열 수 ≥ s. s의 기본값은 0.95이며, 두 행이 함께 응답한 열이 선택한 열의 절반 이상이어야 합니다.
평균 대신 중앙값을 쓰는 이유: 응답 시간은 오른쪽으로 치우친 분포라 설문을 몇 시간씩 열어 둔 소수가 평균을 크게 끌어올립니다. 그러면 정상 응답자가 대거 고속 응답으로 잘못 걸리므로 극단값에 흔들리지 않는 중앙값을 기준으로 씁니다.
예시: 샘플 데이터로 실행하기
내장된 합성 스낵 브랜드 트래킹 데이터는 600개 행입니다(생성된 응답자 596명과 완전 중복 제출 4건). 기본 설정으로 duration_sec, brand_grid_* 그리드 문항 8개, respondent_id를 선택하면 다음과 같습니다.
응답 시간 중앙값은 520초이고 고속 응답 기준은 0.33 × 520 = 171.6초이며 26개 행이 이보다 빠릅니다. 38개 행은 브랜드 그리드 8문항에 모두 같은 답을 했고, 4개 행은 앞에서 나온 응답자 ID를 반복했으며, 0개 행은 빈칸 비율이 50%를 넘었습니다.
이 네 규칙만 쓰면 모두 54개 행이 표시됩니다. 그중 14개 행은 고속 응답과 일자 응답에 동시에 해당하므로 규칙별 표시 수의 합(68)이 54보다 큽니다. 정제된 파일에는 546개 행이 남습니다.
샘플에는 개방형 문항 like_most_oe, ip_address, device_id, 5를 고르도록 한 attention_check도 들어 있습니다. 모든 검사를 켜면 17개 행이 저품질 개방형 응답(무의미 문자열 10건, 같은 문장 복사·붙여넣기 7개 행)으로 표시되고, 무의미 응답 6건은 약한 신호로 표시되지만 남습니다. 한국어, 중국어, 일본어, 러시아어, 아랍어, 스페인어 응답은 하나도 표시되지 않았습니다. 4개 행은 유사 중복(앞의 중복 제출), 11개 행은 이미 나온 IP 주소(8회) 또는 기기 ID(7회)를 반복했고, 46개 행은 주의력 확인에 실패했습니다.
여덟 규칙을 합치면 80개 행이 표시되고 그중 47개 행은 두 개 이상의 규칙에 걸립니다. 정제된 파일에는 520개 행이 남으며, 그중 5개 행은 무의미 응답이라는 약한 신호만 있습니다. ‘개방형 응답 문제가 무의미 응답뿐인 행도 제거’를 켜면 85개 행이 표시되고 515개 행이 남습니다.
언제 쓰고 언제 주의해야 하나
온라인 패널이나 자기기입식 설문을 교차분석하기 전에 쓰는 것이 좋습니다. 이런 데이터에서 고속 응답과 일자 응답이 가장 흔합니다. 실사 업체가 넘겨준 파일에 중복 입력이나 테스트 응답이 섞여 있는지 확인할 때도 유용합니다.
- 자동 삭제 단계로 쓰지 마세요. 특히 규칙 하나에만 걸린 행은 먼저 직접 검토하세요.
- 문항이 적거나 사실 확인형 문항이거나 응답자가 실제로 모든 브랜드를 높게 평가한다면 같은 답이 진짜 응답일 수 있습니다.
- 전화 조사(CATI)나 면접 조사에서는 응답 시간이 응답자가 아닌 면접원 속도를 반영하므로 고속 응답 규칙을 그대로 적용하기 어렵습니다.
- 파일 안의 데이터만 보므로 설문 플랫폼의 부정 응답 방지(CAPTCHA, 기기 핑거프린트, 패널 본인 확인)를 대신하지 못하며, 자연스럽게 쓰인 AI 생성 응답도 무의미 문자열로 잡히지 않습니다.
- 방법론 설명이나 고객 보고서에 규칙별 기준값과 제외 건수를 적어 클리닝이 표본 구성을 바꿨는지 독자가 판단할 수 있게 하세요.
표시 결과 해석하기
규칙 하나에만 걸렸다면 사람이 확인해 볼 신호이고, 두 개 이상에 걸렸다면 불성실 응답이나 부정 응답의 강한 증거인 경우가 많습니다. ‘표시 열을 포함한 전체 행 다운로드’는 모든 행을 유지하면서 flag_speeder, flag_straightliner, flag_duplicate, flag_incomplete 열과(새 검사를 실행한 경우) flag_open_end, flag_near_duplicate, flag_identifier, flag_attention, flag_rule_count, flag_reasons 열을 추가하므로 스프레드시트에서 한 줄씩 검토할 수 있습니다. 내보낸 파일의 열 이름과 사유는 다른 도구와 연동하기 쉽도록 영어로 유지됩니다.
클리닝이 끝나면 파일을 Crosstabs 작업 공간에 불러와 교차표를 만들거나, 먼저 값 레이블 매퍼로 숫자 코드를 보기 문구로 바꿀 수 있습니다.