"매 own 의 YouTube 채널 의 매 video 마다 매 view/like/comment/CTR/AVD 의 daily snapshot 을 매 fetch → DuckDB → 매 anomaly alert". 2026 creator workflow 의 기본 component. 매 YouTube Studio 의 dashboard 보다 훨씬 매 customizable + 매 multi-channel 비교 + 매 LLM 기반 insight.
매 핵심
매 Data sources
YouTube Data API v3: video metadata, current snapshot stats.
YouTube Analytics API v2: time-series (impressions, CTR, AVD, retention, traffic source) — 매 OAuth 필요.
YouTube Reporting API: bulk daily CSV (매 large channel 에 적합).
importstatisticsdefis_spike(video_id,metric='views',window=14,z=3.0):rows=con.execute(f"""
SELECT {metric} FROM snapshots WHERE video_id=?
ORDER BY captured_at DESC LIMIT {window+1} """,[video_id]).fetchall()iflen(rows)<window+1:returnFalsetoday,hist=rows[0][0],[r[0]forrinrows[1:]]deltas=[hist[i]-hist[i+1]foriinrange(len(hist)-1)]today_delta=today-hist[0]ifnotdeltasorstatistics.pstdev(deltas)==0:returnFalsereturnabs(today_delta-statistics.mean(deltas))/statistics.pstdev(deltas)>z
Telegram alert
importrequests,osdefalert(msg):requests.post(f"https://api.telegram.org/bot{os.environ['TG_TOKEN']}/sendMessage",json={'chat_id':os.environ['TG_CHAT'],'text':msg,'parse_mode':'Markdown'},)forvidinlist_my_videos():ifis_spike(vid):title=con.execute("SELECT title FROM videos WHERE video_id=?",[vid]).fetchone()[0]alert(f"*Spike*: [{title}](https://youtu.be/{vid})")
LLM weekly digest (Claude)
fromanthropicimportAnthropictop=con.execute("""
SELECT v.title, s.views, s.ctr, s.avd_sec
FROM snapshots s JOIN videos v USING(video_id)
WHERE s.captured_at::DATE = current_date
ORDER BY s.views DESC LIMIT 10
""").fetchall()resp=Anthropic().messages.create(model='claude-opus-4-7',max_tokens=1000,messages=[{'role':'user','content':f"Weekly channel digest. Identify 3 actions. Data:\n{top}"}],)print(resp.content[0].text)