김

김성구님의 포스트

김

김성구

ABtest 만들고 있습니다 — 시안 2개를 World ID 검증된 실제 인간 100명에게 물어보고 24시간 안에 결과를 드립니다. 봇·중복 없는 A/B 테스트가 필요하면 오픈채팅으로: https://open.kakao.com/o/szPRRwFi

제 해법이 틀렸다는 걸 댓글로 배웠습니다
 
지난 글에서 응답 시간 필터가 시안 종류를 못 따라간다고 썼습니다. 이미지 라운드 중앙값이 4.5초, 텍스트 라운드가 11.7초인데 둘 다 1.5초 고정 기준으로 거르고 있었다는 이야기였습니다. 그리고 해법으로 "그 캠페인의 응답 시간 분포에서 하위 구간을 거르겠다"고 썼습니다. 백분위 방식입니다.
 
댓글이 하나 달렸습니다. 오피셜메일 님이 "고정값 하나보다 중앙값과 분포를 기준으로 조정하면 빠른 정상 응답을 덜 버릴 수 있을 것 같다"고 하셨습니다.
 
답을 쓰려고 분포를 다시 뽑았는데, 제가 쓴 해법이 작동하지 않는다는 게 나왔습니다.
 
하위 10% 지점이 이미지 라운드 1.29초, 텍스트 라운드 1.16초였습니다. 거의 같습니다. 중앙값은 2.5배 차이가 나는데 하단 꼬리는 붙어 있었던 겁니다. 백분위로 자르면 두 라운드에서 사실상 같은 선이 나옵니다. 제가 문제라고 지적한 1.5초 고정값과 다를 게 없는 기준을, 저는 해법이라고 써놓은 셈이었습니다.
 
중앙값은 시안 무게를 따라 움직였고 하단 꼬리는 아니었습니다. 그래서 기준을 중앙값에 태우기로 했습니다. 중앙값의 몇 % 미만을 거르는 방식입니다.
 
문제는 몇 %냐였습니다. 여기서 저희에게 운이 좋은 게 하나 있었습니다. 트랩입니다.
 
저희는 설문 사이에 주의력 체크를 섞습니다. "A를 눌러주세요"라고 대놓고 지시하는 문항입니다. 이걸 틀린 사람은 화면을 안 보고 있었다는 뜻이고, 이건 응답 시간과 무관하게 얻은 독립적인 정보입니다. 즉 응답 시간 기준이 맞는지 채점할 정답지가 있는 셈입니다.
 
최근 캠페인 5개에서 후보 기준들을 돌려, 각 기준이 "너무 빠르다"고 거른 응답 중 실제로 트랩도 틀린 사람의 비율을 봤습니다.
 
고정 1.5초 — 40건 거름, 그중 트랩 실패 45%
하위 10% — 32건, 41%
하위 15% — 47건, 40%
중앙값의 30% — 43건, 47%
중앙값의 40% — 65건, 38%
 
중앙값의 30%가 가장 정확했고, 놓치는 트랩 실패자도 가장 적었습니다. 40%는 더 많이 잡지만 정직한 응답까지 같이 버립니다. 백분위 방식은 예상대로 고정값보다도 나빴습니다.
 
바꾸고 나서 텍스트 라운드의 기준이 1.5초에서 2.7초로 올라갔습니다. 걸러지는 응답이 16건에서 26건이 됐습니다. 지난 글에서 문제라고 지목했던 2~4초 구간 11명이 이제 걸립니다. 이미지 라운드는 실질적인 변화가 없습니다. 원래 이미지에서는 고정값이 적당했던 게 맞고, 텍스트에서만 헐거웠던 거라 정확히 그 부분만 조여졌습니다.
 
배포했고, 앞으로 모든 리포트에 적용됩니다.
 
정리하면 지난 글에서 문제 진단은 맞았고 해법은 틀렸습니다. 댓글이 아니었으면 백분위로 바꿔놓고 고쳤다고 생각했을 겁니다. 숫자를 공개하니 틀린 부분이 돌아왔습니다.
 
시안 2개 놓고 고민 중인 팀이 있으면 댓글이나 DM 주세요. 검증된 인간 20명에게 대신 물어보고 리포트 보내드립니다. 무료입니다.

ABtest

검증된 인간에게 물어보는 A/B 테스트. 모든 응답자가 World ID 인증을 거친 실제 사람이라 봇·중복 응답이 구조적으로 불가능합니다.

0
0
김

김성구

ABtest 만들고 있습니다 — 시안 2개를 World ID 검증된 실제 인간 100명에게 물어보고 24시간 안에 결과를 드립니다. 봇·중복 없는 A/B 테스트가 필요하면 오픈채팅으로: https://open.kakao.com/o/szPRRwFi

이미지는 4.5초, 텍스트는 11.7초. 같은 기준으로 거르고 있었습니다

지난주에 저희 앱 스토어 문구를 정해야 했습니다. 두 안을 놓고 의견이 갈려서, 저희 서비스로 직접 테스트했습니다. 검증된 인간 100명에게 물었고 77 대 23으로 갈렸습니다. 이긴 문구를 그대로 스토어에 반영했습니다.

그런데 이번에 배운 건 결과가 아니라 그 옆에 있던 숫자였습니다.

저희는 응답을 두 가지로 거릅니다. 주의력 체크(트랩) 실패, 그리고 너무 빠른 응답. 후자의 기준은 1.5초 고정이었습니다. 그보다 빨리 답했으면 시안을 봤다고 보기 어렵다는 가정이었습니다.

이번 라운드는 텍스트 문구 2개였고, 직전 라운드는 제품 패키지 이미지 2개였습니다. 같은 패널, 같은 필터, 각각 100명입니다. 응답 시간 중앙값이 이미지는 4.5초, 텍스트는 11.7초였습니다. 2.6배 차이입니다.

생각해보면 당연합니다. 이미지 두 장은 한눈에 비교되지만 문구 두 줄은 읽어야 합니다. 문제는 저희 필터가 그 차이를 모르고 있었다는 겁니다.

텍스트 라운드의 응답 시간 분포를 보면 2~4초 구간에 11명이 있습니다. 이 11명은 필터를 통과했습니다. 그런데 같은 캠페인에서 문구를 제대로 읽은 사람들의 중앙값이 11.7초입니다. 2~4초 만에 두 문구를 읽고 골랐다고 보기는 어렵습니다.

고정 임계값은 시안이 무거워질수록 헐거워집니다. 이미지에서 적당했던 1.5초가, 텍스트에서는 사실상 거의 아무것도 거르지 못하는 선이 됩니다. 실제로 두 라운드의 품질 미달 제외는 24%와 31%였는데, 이 차이도 응답자가 달라져서가 아니라 기준이 시안을 못 따라간 결과일 가능성이 큽니다.

그래서 기준을 절대값에서 상대값으로 바꾸려고 합니다. 그 캠페인 자체의 응답 시간 분포를 기준으로 하위 구간을 거르는 방식입니다. 그러면 시안 종류를 사람이 분류하지 않아도 데이터가 알아서 구분합니다.

두 라운드로 내린 판단이라 확정은 아닙니다. 시안 종류를 바꿔가며 몇 번 더 돌려보고, 바뀐 기준이 통과율을 어떻게 움직이는지 그대로 공개하겠습니다.

시안 2개 놓고 고민 중인 팀이 있으면 댓글이나 DM 주세요. 검증된 인간 20명에게 대신 물어보고 리포트 보내드립니다. 무료입니다. 유료 패키지는 크몽 승인 대기 중입니다.

ABtest

검증된 인간에게 물어보는 A/B 테스트. 모든 응답자가 World ID 인증을 거친 실제 사람이라 봇·중복 응답이 구조적으로 불가능합니다.

1
2
김

김성구

ABtest 만들고 있습니다 — 시안 2개를 World ID 검증된 실제 인간 100명에게 물어보고 24시간 안에 결과를 드립니다. 봇·중복 없는 A/B 테스트가 필요하면 오픈채팅으로: https://open.kakao.com/o/szPRRwFi

50명 표본으로 내린 판정이 100명에서도 유지될까요? 저희 제품으로 직접 실험해봤습니다.

저희가 준비 중인 뷰티 브랜드의 튜브 패키지 시안이 두 개 있었습니다. A는 화이트, B는 딥레드. 지난주 ABtest로 검증된 인간 50명에게 물었더니 B가 66:34로 이겼습니다.

그런데 50명이면 충분한가라는 의심이 남았습니다. 그래서 같은 질문을 이번엔 100명에게 다시 걸었습니다.

결과는 B 59:41. 1차와 같은 방향이었습니다. 품질 필터를 통과한 81명 기준으로도 58:42로 유지됐습니다.

품질 필터에서 19명이 빠졌습니다 — 1.5초 미만 즉답 12명, 주의력 체크(정답이 정해진 트랩 문항) 실패 6명, 중복 1명. 이들도 보상은 전부 받았고, 집계에서만 제외됩니다.

100명 마감까지 걸린 시간은 20.5시간, 응답자는 13개국에서 왔습니다. 응답 시간 중앙값은 3.6초 — 시안 선호는 직관 판단이라 원래 빠릅니다.

이번 실험의 결론은 이겁니다. 시안 A/B 판정에서 중요한 건 표본을 무한정 키우는 게 아니라, 표본을 바꿔도 방향이 재현되는가였습니다. 50명과 100명이 같은 답을 냈으면 그 판정은 믿고 다음 단계로 갈 수 있습니다.

두 리포트는 공개돼 있습니다. 1차(50명) 리포트 / 2차(100명) 리포트

시안 2개 놓고 고민 중인 팀은 댓글 주세요. 검증된 인간에게 대신 물어봐 드립니다. 무료 20명 미리보기로 시작합니다.

ABtest

검증된 인간에게 물어보는 A/B 테스트. 모든 응답자가 World ID 인증을 거친 실제 사람이라 봇·중복 응답이 구조적으로 불가능합니다.

0
0
김

김성구

ABtest 만들고 있습니다 — 시안 2개를 World ID 검증된 실제 인간 100명에게 물어보고 24시간 안에 결과를 드립니다. 봇·중복 없는 A/B 테스트가 필요하면 오픈채팅으로: https://open.kakao.com/o/szPRRwFi

설문 심사에서 반려당하고, 지급을 전부 자동화했습니다

어제 소개한 ABtest(두 시안 중 하나를 고르면 USDC를 받는 A/B 설문 미니앱)는 사실 첫 심사에서 반려당했습니다. 오늘은 그 얘기입니다.

반려 사유를 요약하면 "답했는데 보상을 못 받는 사용자가 있다"였습니다. 당시 저희는 품질이 낮은 응답(비정상적으로 빠른 응답, 주의력 체크 실패)에는 보상을 주지 않는 구조였는데, 심사관 입장에서는 약속한 보상이 지급되지 않는 앱이었던 겁니다.

맞는 지적이었습니다. 그래서 지급 정책을 다시 설계했습니다. 원칙은 하나입니다 — 인증된 인간이 답했으면, 무조건 지급한다. 품질 필터는 지급이 아니라 집계에만 적용합니다. 저품질 응답도 돈은 받고, 리포트 통계에서만 제외됩니다.

이 원칙을 지키려면 지급이 수동이어서는 안 됐습니다. 그래서 응답이 저장되면 서버가 백그라운드에서 바로 온체인 송금을 실행하고, 10분마다 스위퍼가 미지급 건을 재시도하는 구조를 만들었습니다. 답하면 몇 초 안에 World Chain에서 USDC가 도착합니다.

재심사를 넣고 2주를 기다렸고, 지난주 통과됐습니다. 통보는 따로 없었고 트래픽으로 알았습니다 — 라이브 첫날 검증된 인간 52명, 응답 252건. 지급도 252건. 현재까지 누적 응답 357건, 미지급 0건입니다.

반려 덕분에 "전건 지급"이라는 제일 중요한 신뢰 장치가 생겼습니다. 응답자는 품질 평가를 걱정할 필요 없이 답하고, 의뢰자는 품질 필터가 걸러낸 데이터를 받습니다.

시안 2개 놓고 고민 중인 팀이 있다면 댓글 주세요. 검증된 인간 100명에게 대신 물어봐 드립니다. 설문 심사에서 반려당하고, 지급을 전부 자동화했습니다

ABtest

검증된 인간에게 물어보는 A/B 테스트. 모든 응답자가 World ID 인증을 거친 실제 사람이라 봇·중복 응답이 구조적으로 불가능합니다.

1
7
김

김성구

ABtest 만들고 있습니다 — 시안 2개를 World ID 검증된 실제 인간 100명에게 물어보고 24시간 안에 결과를 드립니다. 봇·중복 없는 A/B 테스트가 필요하면 오픈채팅으로: https://open.kakao.com/o/szPRRwFi

앱 이름을 A/B 테스트로 정했습니다

World App 미니앱 'ABtest'를 만들고 있습니다. 두 시안 중 하나를
고르면 USDC를 받는 설문 마켓플레이스입니다.

다른 설문 도구와 다른 점 하나 — 모든 응답자가 World ID(홍채
생체인증)를 통과한 실제 인간입니다. 1인 1응답이 프로토콜 레벨에서
강제되므로 봇, 중복, 어뷰징 응답이 구조적으로 불가능합니다.

출시 전에 저희 앱 이름부터 저희 앱으로 테스트했습니다.
"스토어에서 봤을 때 어느 이름을 누르겠나?"

ABtest 78% vs Which One 22% — 검증된 인간 54명, 그래서 이름이
ABtest가 됐습니다.

실제 리포트: 결과 보기

출시 이후 지금까지: 검증된 인간 86명, 13개국, 응답 357건.
지급도 357건 — 답하면 몇 초 안에 World Chain에서 USDC가
자동으로 도착합니다. 이 "전건 지급"을 만드는 과정이 제일 힘들었는데,
그 얘기는 내일 쓰겠습니다.

시안 2개 놓고 고민 중인 팀이 있다면 댓글 주세요. 검증된 인간
100명에게 대신 물어봐 드립니다. 지금은 무료입니다.

ABtest

검증된 인간에게 물어보는 A/B 테스트. 모든 응답자가 World ID 인증을 거친 실제 사람이라 봇·중복 응답이 구조적으로 불가능합니다.

1
1