📕 428커밋의 기록이 상품이 됐습니다 →
agenwiki

프롬프트

데이터 분석 프롬프트

SQL 작성·결과 해석·수식 생성 등 데이터 실무 프롬프트. 아래 3개를 한 화면에 모았습니다. 변수 자리({like_this})만 채우면 바로 쓸 수 있고, 각각 언제 쓰는지와 주의점을 함께 적었습니다.

general

데이터 분석 결과 해석 프롬프트

숫자에서 읽히는 사실과 해석을 분리해, 가설과 다음 확인 방법까지 정리해 주는 프롬프트입니다.

복사 대상 프롬프트

당신은 숫자를 의사결정으로 옮겨주는 데이터 분석가입니다. 아래 데이터를 {audience}에게 설명한다고 가정하고 해석하세요. 1단계 사실: 데이터에서 바로 읽히는 사실 3~5개를 수치와 함께 적습니다. 여기에는 해석이나 원인을 넣지 않습니다. 2단계 패턴: 추세·이상치·구간별 차이 중 눈에 띄는 것과, 그렇게 보는 근거가 된 숫자를 함께. 3단계 가설: 그 패턴을 만들 수 있는 원인 2~3개. 가설마다 '이 데이터로 확인 가능' 또는 '이 데이터로는 확인 불가'를 표시합니다. 4단계 확인 방법: 가설별로 무엇을 더 보면 판별되는지 — 쪼개 볼 축(기간·세그먼트·채널)과 필요한 추가 데이터. 5단계 결론: 지금 말할 수 있는 것 한 줄과, 그에 따른 다음 행동 2개. 규칙: 상관을 인과로 서술하지 말고, 표본이 작거나 기간이 짧아 판단이 어려우면 '근거 부족'이라고 명시합니다. 데이터에 없는 수치는 지어내지 말고 계산이 필요하면 계산 과정을 보여줍니다. 배경: {context} 데이터: {data}

언제 쓰나

대시보드 숫자나 쿼리 결과는 나왔는데 "그래서 뭘 해야 하나"로 넘어가지 못할 때 씁니다. 사람이 급할 때 가장 흔히 저지르는 실수가 사실과 해석을 섞어 버리는 것인데, 이 프롬프트는 둘을 분리하고 각 가설이 지금 데이터로 검증 가능한지까지 표시하게 만듭니다.

사용법

  1. {data} 에 표, CSV, 쿼리 결과를 그대로 붙여넣습니다. 열 이름과 단위가 함께 있어야 정확합니다.
  2. {context} 에 이 숫자가 나온 배경을 적습니다. (예: "6월 말 가격 인상, 7월에 앱 리뉴얼 배포")
  3. {audience} 에 설명 대상을 적습니다. (예: "경영진", "같은 팀 개발자", "비전공 마케터")
  4. 3단계에서 '확인 불가'로 표시된 가설은 결론에 쓰지 말고, 4단계의 확인 방법대로 데이터를 더 뽑아 다시 넣으세요.

사용 예시

입력

{audience}: 경영진
{context}: 6월 말 요금제 가격을 20% 올렸고, 7월 둘째 주에 신규 가입 화면을 개편했습니다.
{data}:
월   신규가입  유료전환  월매출(만원)
5월   1,240     186       3,100
6월   1,190     174       2,980
7월     980     171       3,420

출력 (요약)

[사실]
- 7월 신규가입 980건, 6월 대비 17.6% 감소
- 유료전환 171건으로 거의 변동 없음(6월 174건)
- 전환율은 14.6% → 17.4%로 상승, 월매출은 14.8% 증가

[패턴] 유입은 줄고 전환율과 객단가는 올랐습니다. 매출 증가분은 가입자 수가 아니라 단가에서 나왔습니다.

[가설]
1. 가격 인상으로 가격 민감 사용자가 유입 단계에서 이탈 — 이 데이터로 확인 불가(유입 경로별 분해 필요)
2. 가입 화면 개편이 전환율을 올림 — 이 데이터로 확인 불가(7월 둘째 주 전후 분리 필요)
3. 계절 요인 — 근거 부족(3개월치로는 판단 불가)

[확인 방법] 주 단위로 쪼개 개편 전후 비교 / 채널별 신규가입 분해 / 전년 동월 데이터 확보

[결론] 매출은 늘었지만 유입 감소가 누적되면 다음 분기에 뒤집힐 수 있습니다.
다음 행동: (1) 주 단위 분해로 개편 효과 분리 (2) 이탈 지점 확인을 위한 가입 퍼널 데이터 수집

(위 수치는 설명용 가상 데이터입니다.)

  • 대상에 따라 결과 톤이 달라집니다. {audience}를 "경영진"에서 "데이터 팀"으로 바꾸면 통계적 한계를 더 깊게 짚어 줍니다.
  • 4단계 확인 방법을 SQL 쿼리 작성 프롬프트에 그대로 넘기면 추가 데이터 추출까지 이어집니다.
  • 여러 지표를 한 번에 넣기보다 지표 3~5개로 좁히면 가설이 훨씬 구체적으로 나옵니다.

general

엑셀·스프레드시트 수식 생성 프롬프트

원하는 계산을 말로 설명하면 바로 붙여넣을 수식과 오류 처리·대안까지 받아내는 프롬프트입니다.

복사 대상 프롬프트

당신은 엑셀과 구글 스프레드시트 수식을 설계하는 전문가입니다. 사용 도구는 {tool}입니다. 1단계 요구 정리: 원하는 결과를 '입력 범위 → 조건 → 출력 형태'로 한 줄 정리해 제 의도와 맞는지 확인합니다. 2단계 수식: 바로 붙여넣을 수 있는 수식 한 줄. 셀 주소는 제가 준 표 구조에 맞춰 쓰고, 아래로 복사해도 깨지지 않도록 절대참조와 상대참조를 구분합니다. 3단계 분해: 수식을 안쪽 함수부터 바깥 순서로 3~5조각으로 나눠 각 조각이 무엇을 반환하는지 한 줄씩. 4단계 오류 대비: 이 수식에서 실제로 날 수 있는 오류(값 없음, 0으로 나누기, 빈 셀, 텍스트로 저장된 숫자, 앞뒤 공백)와 각각의 처리 방법. 5단계 대안: 더 단순하거나 큰 표에서 빠른 방식이 있으면 하나 제시하고 언제 그쪽이 나은지. 규칙: {tool}에서 지원하지 않는 함수는 쓰지 말고, 버전에 따라 갈리는 함수는 '버전 확인 필요'라고 표시합니다. 표 구조: {data_layout} 하려는 것: {goal}

언제 쓰나

조건이 두세 개 겹치는 집계, 다른 시트 참조, 텍스트에서 값 뽑아내기처럼 함수 이름은 떠오르는데 조합이 안 될 때 씁니다. 검색해서 나온 수식을 그대로 붙이면 셀 주소가 안 맞아 다시 손봐야 하는데, 표 구조를 함께 주면 그 과정이 사라집니다.

사용법

  1. {tool} 에 도구와 버전을 적습니다. (예: "구글 스프레드시트", "엑셀 2019", "엑셀 365")
  2. {data_layout} 에 표 구조를 적습니다. 열 문자와 머리글, 데이터 시작 행까지 있으면 수식을 고칠 일이 없습니다. (예: "A열 날짜, B열 담당자, C열 금액, 1행은 머리글, 데이터는 2행부터")
  3. {goal} 에 원하는 계산을 말로 적습니다. (예: "담당자별로 이번 달 금액 합계, 금액이 비어 있으면 0으로")
  4. 붙여넣기 전에 4단계 오류 목록을 훑고, 내 데이터에 해당하는 경우가 있으면 그 처리가 수식에 들어 있는지 확인하세요.

사용 예시

입력

{tool}: 구글 스프레드시트
{data_layout}: A열 주문일자, B열 담당자, C열 금액, D열 상태. 1행 머리글, 데이터 2행부터 약 3,000행.
{goal}: F열에 적어 둔 담당자별로, 상태가 '완료'이고 이번 달인 주문의 금액 합계를 G열에 구하기

출력 (요약)

[요구 정리] 입력 A2:D3000 → 조건 담당자 일치 + 상태='완료' + 주문일자가 이번 달 → 출력 담당자별 합계 1칸

[수식] G2 에 입력 후 아래로 복사
=SUMIFS($C$2:$C$3000, $B$2:$B$3000, F2, $D$2:$D$3000, "완료",
        $A$2:$A$3000, ">="&EOMONTH(TODAY(),-1)+1,
        $A$2:$A$3000, "<="&EOMONTH(TODAY(),0))

[분해]
- EOMONTH(TODAY(),-1)+1 → 이번 달 1일
- EOMONTH(TODAY(),0) → 이번 달 말일
- SUMIFS(...) → 세 조건을 모두 만족하는 C열 값의 합
- F2 는 상대참조라 아래로 복사하면 담당자가 바뀜, 범위는 절대참조라 고정

[오류 대비]
- 담당자 이름에 공백이 섞이면 매칭 실패 → F열 기준값에 TRIM 적용
- 주문일자가 텍스트로 저장되어 있으면 날짜 조건이 무시됨 → 열 서식을 날짜로 변환
- 결과가 0이면 오류가 아니라 조건에 맞는 행이 없다는 뜻

[대안] 담당자 목록까지 자동 생성하려면 QUERY 로 한 번에 처리 가능. 목록이 자주 바뀔 때 유리.

(위 표 구조와 값은 설명용 가상 예시입니다.)

  • 수식이 길어 읽기 어려우면 "이 수식을 보조 열 2개로 쪼개서 보여줘"라고 요청하세요. 유지보수가 훨씬 쉬워집니다.
  • 이미 있는 수식이 틀렸을 때는 {goal} 에 "아래 수식이 왜 값이 안 맞는지 찾고 고쳐 줘"라고 쓰고 수식을 붙여넣으면 그대로 디버깅에 씁니다.
  • 엑셀과 구글 스프레드시트는 배열 처리와 지원 함수가 다르므로 {tool} 을 대충 적으면 안 되는 수식이 나옵니다.

general

SQL 쿼리 작성 프롬프트 (자연어를 검증된 SQL로)

스키마와 질문만 주면 실행 가능한 SQL과 함께 검증 방법·틀릴 수 있는 조건까지 받아내는 프롬프트입니다.

복사 대상 프롬프트

당신은 데이터 분석용 SQL을 작성하는 시니어 데이터 엔지니어입니다. 아래 스키마와 질문을 읽고 {dialect} 문법으로 쿼리를 작성하세요. 1단계 질문 해석: 질문을 '무엇을 / 어떤 기준으로 / 어느 기간' 세 조각으로 다시 적어 제 의도와 맞는지 확인합니다. 2단계 쿼리: 실행 가능한 단일 SQL 한 벌. 서브쿼리를 겹치기보다 CTE로 단계마다 이름을 남기고, 출력 컬럼에는 한국어 별칭을 붙입니다. 3단계 해설: 각 CTE와 조인이 무엇을 하는지 한 줄씩. 4단계 검증: 결과가 맞는지 확인할 점검 쿼리 1~2개(전체 행 수 대조, 합계 대조 등)와 이 쿼리가 틀릴 수 있는 조건(조인으로 인한 행 증식, NULL 조인 키, 시간대·날짜 경계, 소프트 삭제 레코드). 규칙: 스키마에 없는 테이블·컬럼은 절대 지어내지 말고, 필요한데 없으면 '스키마에 없음: 컬럼명' 형태로 먼저 알립니다. 어쩔 수 없이 세운 가정은 쿼리 맨 위에 주석으로 남깁니다. 스키마: {schema} 질문: {question}

언제 쓰나

테이블 구조는 아는데 조인과 집계를 조립하는 데 시간이 걸릴 때, 또는 남이 쓴 쿼리를 참고 없이 처음부터 짜야 할 때 씁니다. 그냥 "SQL 짜줘"라고 했을 때 가장 위험한 것은 없는 컬럼을 그럴듯하게 지어내는 것인데, 이 프롬프트는 스키마 밖 이름 사용을 막고 검증 쿼리를 함께 요구합니다.

사용법

  1. {schema} 에 관련 테이블의 CREATE TABLE 문이나 컬럼 목록을 붙여넣습니다. 전체 DB가 아니라 질문에 쓰일 테이블 2~5개면 충분합니다.
  2. {question} 에 알고 싶은 것을 평소 말투로 적습니다. (예: "지난달 신규 가입자 중 첫 주에 결제한 비율을 요금제별로")
  3. {dialect} 에 사용하는 DB를 적습니다. (예: "PostgreSQL 15", "BigQuery", "MySQL 8")
  4. 받은 쿼리는 4단계의 검증 쿼리를 먼저 돌려 행 수와 합계를 대조한 뒤 사용하세요.

사용 예시

입력

{dialect}: PostgreSQL 15
{schema}:
users(id, email, plan, created_at, deleted_at)
payments(id, user_id, amount, paid_at, status)
{question}: 지난달 가입자 중 가입 7일 이내에 결제(status='paid')한 사람의 비율을 요금제별로

출력 (요약)

[질문 해석]
- 무엇을: 가입 7일 이내 결제 전환율
- 어떤 기준으로: users.plan 별
- 어느 기간: 전월 1일 ~ 말일 가입자

-- 가정: deleted_at IS NOT NULL 인 탈퇴 계정은 분모에서 제외
WITH signups AS (...),
     first_pay AS (...)
SELECT s.plan AS 요금제, COUNT(*) AS 가입자수, ... AS 전환율
FROM signups s LEFT JOIN first_pay p ON ...
GROUP BY s.plan;

[해설] signups = 전월 가입자, first_pay = 사용자별 최초 결제 1건 ...

[검증] SELECT COUNT(*) FROM users WHERE ... -- 분모 행 수 대조
[틀릴 수 있는 조건] payments 에 사용자당 여러 행이 있어 조인 시 증식 가능
→ first_pay 에서 user_id 기준 1행으로 줄여둠 / paid_at 타임존이 UTC면 경계 하루 어긋남

(위 스키마와 결과는 설명용 가상 예시입니다.)

  • 쿼리가 느리면 "이 쿼리의 실행 계획에서 병목이 될 부분과 필요한 인덱스를 알려줘"라고 이어서 요청하세요.
  • 결과가 이상하면 쿼리를 다시 짜기 전에 "4단계에서 말한 조건 중 어떤 것이 실제로 일어났는지 확인할 쿼리를 줘"라고 물어보는 편이 빠릅니다.
  • 스키마가 크면 \d 테이블명 출력이나 정보 스키마 조회 결과를 그대로 붙여넣어도 됩니다.

다른 묶음

관련 글

뉴스레터 구독

AI 에이전트, 도구, 프롬프트 업데이트를 정리해 보냅니다. 지난 호 보기 →