threads-analytics
SkillDatabases & dataLets your agent analyze a Threads account's performance, find which posts worked and diagnose reach drops.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the threads-analytics skill
About this capability
Read this when analyzing the performance of BamBam's personal Threads account (@bam.bam_2), e.g., which posts performed well, why impressions/reach dropped, or selecting repost candidates. It covers the full Threads Graph API collection path and metric axis criteria.
What this skill tells your AI
The instructions your AI receives, as published by bam-bam-2/solo-skills in skills/threads-analytics/SKILL.md and read by ahel’s review.
이 스킬이 시스템에 하는 일 (설치 전 확인)
- Threads Graph API를 읽기 전용으로 호출합니다. 액세스 토큰이 필요합니다.
- 글 수천 건을 순회하므로 API 호출이 많이 발생합니다.
- 토큰은 환경변수·
.env에서만 읽습니다.
스레드 계정 성과 분석 (@bam.bam_2)
밤밤 개인 스레드 계정 분석용. GET100 브랜드 계정(@get100.official)의 겟천 파이프라인과는 별개다.
1. 데이터는 반드시 API 전량으로
맥미니 일일 스냅샷 JSON(~/Projects/ops/threads-tool/threads-bam.bam_2-api.json)만 믿지 말 것. 과거에 10자 필터로 36건이 새고 있었다(2026-08-07 수정). 분석 전 API 건수와 대조하거나, 그냥 API로 새로 받는다.
토큰: 맥미니 ~/Projects/getback/discord_bot/.env 의 THREADS_TOKEN
# 1) 글 목록 (페이징)
fields='id,media_type,text,timestamp,shortcode,permalink'
url=f'https://graph.threads.net/v1.0/me/threads?fields={fields}&limit=100&access_token={T}'
# paging.next 따라가며 전량. 2026-08 기준 약 4,950건
# media_type == 'REPOST_FACADE' 는 남의 글 리포스트라 본인 콘텐츠 분석에서 제외
# 2) 글별 인사이트 (건당 1콜, 스레드풀 24개면 4,400건 몇 분)
f'https://graph.threads.net/v1.0/{post_id}/insights?metric=likes,replies,reposts,quotes,views&access_token={T}'
urllib 기본 User-Agent는 막힐 수 있으니 헤더를 넣는다. 실패 건수를 반드시 세어서 보고한다.
2. 지표 축 — 조회수만 보면 틀린다
랭킹은 최소 이 축들을 각각 세운다. 한두 축으로 상위 N을 자르면 브랜드 핵심 글이 통째로 빠진다(실제로 빠졌다).
- 조회수 / 좋아요 / 댓글
- 리포스트 절대값 ← 이 계정의 1차 지표
- 공유율 = 리포스트 ÷ 조회수 (조회 2,000 이상만)
- 참여율 ER = (좋아요 + 댓글×3 + 리포×2 + 인용×2) ÷ 조회수
리포스트가 남는 숫자다. 조회 55만짜리 최대 히트작은 리포스트 2개였고, 리포스트 상위권은 전부 커뮤니티·관계자본 브랜드 글이었다. 리포스트 분포는 중앙값 0 / 상위10% 3 / 상위1% 24 — 40이면 상위 0.5%다.
컷오프로 자른 뒤 "밤밤이 대표작이라고 부를 만한 글이 이 목록에 있나" 를 반드시 되묻는다.
3. 도달 하락을 진단하는 방법
플랫폼의 자가 진단(계정 상태 페이지, Meta AI 어시스턴트)은 틀린 적이 있다. 본인 데이터로 절벽 날짜를 찾는다.
- 일별·월별 조회수 중앙값(평균 아님, 바이럴 한 건에 흔들림)을 시계열로 뽑는다
- 꺾이고 안 돌아오는 날짜를 찾는다 → 2026-04-28이 확정된 절벽일
- 주제별로 절벽 전후를 비교한다. 조회는 반토막인데 ER이 오르면 = 콘텐츠 문제가 아니라 배포 차단
- 같은 글 재게시 쌍을 찾는다(본문 자카드 유사도 0.3 이상). 통제된 실험이라 가장 강한 증거다. 2건 발견됨(52배·13배 차이)
- 리포스트 총합·글당 평균도 비교한다. 조회 하락과 별개로 2차 확산 단절이 잡힌다
4. 승리 포맷 5종 (제한 전 실측)
- A 남의 이슈에 반응만 얹기 — 3
4줄. 도달 폭발하지만 ER 0.0020.03, 관계는 안 남음 - B 운영 노하우 번호 리스트 — 경험 숫자(5년·600번) + 반박 가능한 단정. 리포스트가 여기 몰림. 실행 방법까지 붙이면 완성형
- C 관계자본을 3자 사례로 — 본인 주장 대신 남의 일화. 좋아요가 몰림
- D 모집·선언형 — 완성된 공고 말고 안 만든 상태에서 "열면 올 사람?". 댓글 상위 3개가 전부 이 형태
- E 진짜 모르는 걸 묻기 — 답 정해둔 질문은 안 먹힘
재활용은 통한다. 같은 내용을 넉 달 뒤 제목만 바꿔 다시 올려 두 번 다 터진 사례가 있다.
5. 리포트 전달
밤냥이 봇으로 밤밤 개인 DM에 보낸다. 상세 경로는 getback-broadcast 스킬 참고.
- DM 채널 생성:
POST /users/@me/channelswith{"recipient_id": BAMBAM_USER_ID} - 헤더에
User-Agent: DiscordBot (https://get100.co.kr, 1.0)필수 (Cloudflare 403 회피) - 메시지 2,000자 제한 → 파트를 나눠 순차 발송, 링크는
<>로 감싸 임베드 억제 - 발송 후
GET /channels/{id}/messages?limit=N으로 검증
6. 남의 글 검색 (2026-08-16 확인)
Graph API keyword_search 엔드포인트는 이 토큰으로 HTTP 500이 난다(threads_keyword_search 권한 미부여 추정). 남의 글을 찾을 때는 브라우저로 https://www.threads.com/search?q=<키워드>&serp_type=default 에 접속한다.
- 접근성 트리(snapshot)에 검색 결과가 안 잡힌다.
div[data-pressable-container="true"]의innerText+ 내부a[href*="/post/"]로 긁는다 - 리스트가 가상화돼 있어 스크롤하면 앞 항목이 DOM에서 빠진다. 스크롤 한 칸마다 수집해서 누적해야 한다(한 번에 긁으면 5건만 남음)
- 한 키워드당 40~50건이 한계. 동의어를 여러 개 돌려 합집합을 만든다(예: 공간 협찬 / 공간협찬 / 무료 대관 / 대관 협찬 / 장소 협찬)
참고
- 볼트 정본:
제2두뇌/스레드 성과.md(절벽 진단 이력, 리포스트 축 재분석, 자산 목록) - 계정 제재 이력·삭제 사고 경위도 위 노트에 있다
Signals
- GitHub stars
- 365
- Forks
- 90
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
threads-analytics- Source
- github.com/bam-bam-2/solo-skills