+ 데이터 한계와 인과 추론의 경계를 가장 정확히 짚었다.
- 최종 질문이 지나치게 복합적이고 전체 답변도 다소 길다.
"매출이 왜 줄었나" 같은 질문을 실제로 쿼리 가능한 형태로 좁힙니다.
| 분류 | 개발 › 데이터·DB |
|---|---|
| 태그 | 분석질문생성개발자 |
Turn this into a question the data can answer. Steps: 1. Restate what I am actually asking. Vague questions usually hide two or three separate ones — list them. 2. For each, make it answerable by fixing: **what is measured / what it is compared against / over what period / for which population**. A question missing any of these cannot be queried. 3. **What result would count as an answer**, and what result would mean "not this". *If no result would change the decision, say so — that question is not worth running.* 4. Which of my available data can answer it, and what is missing. 5. Confounders that would make an answer misleading: seasonality, a change in how something was recorded, a population that shifted, survivorship. 6. The order to investigate in — cheapest question that most narrows the possibilities first. Then: the sharpened question, in one sentence, with the comparison explicit. Rules: - *Do not write the query yet.* A query against a vague question produces a confident wrong number. - Say when the honest answer is that the available data cannot settle it. - Distinguish "what changed" from "why it changed". Data answers the first much better than the second.
데이터 분석이 헤매는 건 질문이 흐릿해서다. 이 프롬프트는 무엇을 무엇과 비교하는지, 어느 기간인지, 어떤 값이 나오면 답이 된 것인지를 먼저 확정한다.
ChatGPT가 가용 데이터와 인과 한계를 가장 신중히 다뤄 우수하다. Gemini는 더 선명하지만 일부 데이터를 지어냈고, [C]는 누락됐다.
+ 데이터 한계와 인과 추론의 경계를 가장 정확히 짚었다.
- 최종 질문이 지나치게 복합적이고 전체 답변도 다소 길다.
+ 가설별 판정과 의사결정을 구체적으로 연결했다.
- 보유가 불명확한 채널·버전·오픈율 데이터를 전제했다.
| 기준 | ChatGPT | Gemini | 앞선 모델 |
|---|---|---|---|
| 지시 준수 | 9 | 8 | ChatGPT +13% |
| 정확성 | 8 | 6 | ChatGPT +33% |
| 구체성 | 9 | 9 | 동점 |
| 구성·가독성 | 9 | 9 | 동점 |
| 분량 적정성 | 6 | 7 | Gemini +17% |
gpt-5.6-sol가 모델 이름을 가린 채 1~10점으로 채점했습니다 (2026-09-25). 측정값이 아니라 AI 심사 결과입니다.
같은 입력을 세 모델에 넣어 받은 답을 그대로 옮겼습니다. 각 CLI(에이전트 하네스)에서 실행했습니다. ChatGPT·Claude 앱이나 웹에서는 답이 다를 수 있습니다.
알고 싶은 것: 이번 달 들어 앱 리텐션이 눈에 띄게 떨어진 이유가 뭔지 알고 싶어요 가진 데이터: GA4 이벤트 로그, 가입일 기준 코호트별 DAU/WAU/MAU 테이블, 앱스토어·플레이스토어 리뷰 텍스트, 최근 6개월 푸시 발송 이력 이 답으로 내릴 결정: 다음 스프린트에 리텐션 개선 기능을 최우선으로 넣을지, 아니면 마케팅 예산을 신규 유입에 더 투입할지 결정
“이번 달 앱 리텐션이 실제로 떨어졌는가?”와 “떨어졌다면 그 원인이 제품 문제인가, 신규 유입 구성·마케팅 변화인가, 측정 문제인가?”가 섞여 있습니다.
구체적으로는 세 질문입니다.
3번은 “왜”에 대한 질문입니다. 데이터로 변화와 연관성은 확인할 수 있지만, 현재 데이터만으로 인과관계를 확정하기는 어렵습니다.
| 질문 | 무엇을 측정하나 | 비교 기준 | 기간 | 대상 모집단 |
|---|---|---|---|---|
| 리텐션이 하락했는가 | 가입 후 D7 및 D30 재방문율 | 최근 3개월 신규 가입자 코호트의 동일 지표 | 완료된 코호트 기준, 이번 달과 직전 3개월 | 신규 가입자 전체, iOS/Android 분리 |
| 어디서 하락했는가 | 코호트별 D7/D30 리텐션 및 활성 사용자 비율 | 같은 플랫폼·유입경로·앱 버전의 과거 코호트 | 최근 3개월 대 이번 달 | 플랫폼, 유입경로, 앱 버전, 국가 등 데이터가 있는 세그먼트 |
| 제품 행동과 관련 있는가 | 핵심 이벤트 수행률과 이후 재방문율 | 핵심 이벤트 수행 사용자와 미수행 사용자 | 가입 후 첫 7일 또는 30일 | 해당 기간에 가입한 사용자 |
| 푸시와 관련 있는가 | 푸시 수신·오픈·미수신별 리텐션 | 과거 푸시 발송군 또는 미발송군 | 최근 6개월 | 푸시 대상 사용자 |
| 리뷰가 신호를 주는가 | 부정 리뷰 비율과 주요 주제 | 이전 기간의 리뷰 감성·주제 | 최근 6개월, 월별 또는 주별 | 앱스토어·플레이스토어 리뷰 작성자 |
단, 신규 유입경로, 앱 버전, 국가, 푸시 수신 여부가 GA4에 제대로 남아 있어야 위 비교가 가능합니다.
답으로 볼 결과:
“이번 달 리텐션이 떨어졌다”고 판단할 수 있습니다.
다음이면 “실제 하락이라고 아직 말할 수 없음”입니다.
제품 문제를 의심할 수 있는 결과:
신규 유입 또는 마케팅 구성 문제를 의심할 결과:
그 어느 쪽도 결정적으로 확인되지 않으면, “원인”은 현재 데이터로 확정할 수 없습니다. 이 경우 리텐션 개선 기능과 신규 유입 예산 중 하나를 데이터만으로 선택하는 것은 정당화하기 어렵습니다.
가능한 것:
빠진 데이터 또는 확인이 필요한 것:
특히 푸시 “발송 이력”만으로는 푸시가 리텐션을 높였는지 판단할 수 없습니다. 푸시를 받은 사용자와 받지 않은 사용자가 원래부터 다를 수 있기 때문입니다.
계측과 코호트 완결성 확인
이벤트 누락·정의 변경·미완료 코호트인지 먼저 확인합니다. 가장 싸고, 잘못된 분석을 막습니다.
실제 리텐션 하락 확인
완료된 D7/D30 코호트를 직전 3개월과 비교합니다. 플랫폼별로도 나눕니다.
구성 효과 분리
유입경로·플랫폼·국가·앱 버전별로 분해해, 전체 하락이 사용자 구성 변화 때문인지 확인합니다.
제품 행동과의 관계 확인
가입 후 핵심 이벤트 수행률과 리텐션을 비교합니다. 동시에 앱 버전별 오류·리뷰 주제를 확인합니다.
푸시 영향 탐색
발송 시점과 리텐션 변화를 비교하되, 인과관계가 아니라 후보 신호로만 취급합니다.
결정용 검증 설계
제품 가설이면 기능 실험이나 단계적 출시를, 마케팅 가설이면 유입경로별 증분 테스트를 설계합니다.
“완료된 이번 달 신규 가입자 코호트의 가입 후 D7 및 D30 리텐션이 직전 3개월의 동일 플랫폼·동일 유입경로 코호트보다 하락했는지, 그리고 유입 구성 변화로 보정한 뒤에도 하락이 남아 핵심 기능 사용률·앱 버전·리뷰 악화와 함께 나타나는지를 비교해, 다음 스프린트에서 리텐션 개선 기능을 우선할지 신규 유입 예산을 우선할지 결정할 수 있는가?”
| 대용량 텍스트 변환기 프롬프트 | |
| AI 데이터 추출 도구 기획 프롬프트 | |
| AI2sql 자연어 SQL 생성 프롬프트 | |
| 백엔드 아키텍트 역할을 맡기는 프롬프트 | |
| Base R 프로그래밍 프롬프트 |