YouTube Outlier Videos: Find The Channels Beating Their Own Average
Raw views lie. The only honest signal is a video's views divided by that channel's normal. How I score a topic with Scrape Creators, why the median and not the mean, the four tiers, and the watchlist that makes ideas find me.
A video with a hundred thousand views tells you nothing on its own. From a channel with ten million subscribers it is a quiet Tuesday. From a channel whose normal is thirteen hundred views it is the most important thing that happened in the niche that month.
I used to research YouTube by sorting by views. What I was actually measuring was audience size, which I cannot copy. What I wanted to measure was the topic, which I can.
The number that measures the topic is simple. Take the video's views. Divide by the median views of that channel's recent uploads. A small channel doing fifty times its normal is teaching you something a big channel doing one times its normal is not.
This guide is how I run that maths with Scrape Creators, how I built a library so I never research the same topic twice, and the watchlist that scores every new upload from the channels that produced the winners. The public skill is linked, not rewritten. This page is the machine around it.
The three levels
You type a topic into YouTube, sort by views, open the top ten, and write down what the biggest channels did.
You run three searches, pull fifteen recent uploads per channel, compute views over median, and read the top fifteen by outlier score with both numbers side by side. Everything is saved by video id.
A watchlist of the channels that produced outliers is rescanned on a cadence. Anything above three times its channel's normal is surfaced to you with the packaging pattern already named.
The mental model
Sort by views. Copy what the biggest channels did.
Divide each video's views by its own channel's median. Rank by that. Steal the pattern, never the words. Save it so you never research it twice.
| Role | Talks to you | Job |
|---|---|---|
| The search | First | Three phrasings: literal, outcome, beginner. Thirty to sixty candidates |
| The baseline | Per channel | Median views of the last fifteen uploads. Median, not mean |
| The score | Per video | Views divided by the channel median. Tiered: 10x, 3x, 0.5x |
| The library | Always | Everything saved by video id with topic, score and date |
| The watchlist | On a cadence | Channels that produced outliers, rescanned, anything above 3x surfaced |
From views to outlier score
1. Get real numbers
Never estimate views or medians from memory. I use Scrape Creators: one search call returns videos with view counts, channel ids and publish dates; one channel call returns a channel's recent uploads. The key lives in an environment variable. If you cannot get a channel's uploads, mark its score unknown rather than guessing.
2. Search three ways
The literal topic. The outcome phrasing ('how I', 'that actually worked'). The beginner phrasing ('for beginners', 'explained'). One search misses half the winners because the winners were not titled the way you think about the topic. Collect thirty to sixty candidates with title, channel, channel id, views, date and length.
3. Compute the baseline per channel
For every channel in the candidate list, pull its most recent fifteen uploads and take the median view count. Median, not mean. One viral video would poison a mean and make a normal channel look like it never has outliers. Cache each channel's median for six hours so a second scan is nearly free.
4. Score and tier
Outlier equals video views divided by channel median. Ten times and above are monsters: the topic itself is doing the work. Three to ten times is strong: good topic plus good execution. Half to three times is the channel's audience, not the topic, useful for format only. Below half underperformed even for them. Note why. It is a warning.
5. Read the top ten's packaging
Present the top fifteen by outlier score with both numbers side by side so the lesson is obvious: forty two thousand views, thirty one times, from a channel whose normal is thirteen hundred. For the top ten capture title construction, thumbnail concept, length, and the first spoken line if there is a transcript. Then name the shared pattern in two sentences. The pattern is the deliverable. The list is evidence.
6. Save it by video id
Write every candidate to a persistent store keyed by video id with topic, score, date and channel. Mine is a table. A file or a Notion database works. The rule is that you never research the same topic twice. Next time, read the library first and only scan for what is new.
7. Watch the channels that produced the outliers
Pick the five to ten channels behind the winners. On a cadence, pull their recent uploads, score each against that channel's own median, and surface anything above three times. This is how ideas find you instead of you hunting for them.
Starter prompts
Paste these as written. They are short on purpose, because the long ones drift.
Using the connected YouTube research tool, scan the topic "[topic]". Search three ways: the literal phrase, an outcome phrasing, and a beginner phrasing. Collect 30 to 60 candidates with title, channel, channel id, views, publish date and length. For every channel, pull its 15 most recent uploads and take the MEDIAN views as its baseline. Score each video as views divided by its channel median. If a baseline cannot be fetched, mark the score unknown; never estimate. Tier: monsters 10x and up, strong 3 to 10x, normal 0.5 to 3x, below 0.5x. Show the top 15 by outlier score with views and score side by side, plus the channel median. For the top 10, capture title construction, thumbnail concept (face, text, object, contrast), length and first spoken line if available, then name the shared pattern in two sentences. Save everything keyed by video id with topic, score and today's date to [store]. Finish by proposing 5 to 10 channels for a watchlist.
Before scanning "[topic]" again, read the library first and list what we already have with scores. Only search for videos not already saved. Show what is new above 3x and whether the pattern from last time still holds.
For each channel on the watchlist, pull the most recent uploads, recompute the channel median, score each upload against it, and report anything above 3x with title, views, score and date. If nothing is above 3x, say so. Do not pad.
Give it to your agent, three ways
Same skill, three worlds. Pick the one you actually use. The skill file at the bottom of this page is the instructions in every case.
An agent with connectors (Claude Desktop, Claude Code, Grok Bot)
There is no first party YouTube research connector for Claude, so the honest route is the public starter repo, which wraps the two Scrape Creators calls and a local SQLite library, or a connector hub that exposes the same API.
- Clone the free starter repo (github.com/drleadflow/thumbnail-system-starter), add SCRAPECREATORS_API_KEY to its environment, and run its setup. It gives you the search, the median baseline, the library and the watchlist.
- Claude Code: open the repo, save the skill below as a skill file, say "find outliers about [topic]". The agent runs the scripts and writes the report.
- Claude Desktop or Grok Bot: connect Scrape Creators through a connector hub that supports custom HTTP APIs, or paste the search JSON in by hand for the first run.
- Persist results wherever your agent can write: a table, a file, a Notion database. The library only works if it is read first next time.
git clone https://github.com/drleadflow/thumbnail-system-starter cd thumbnail-system-starter export SCRAPECREATORS_API_KEY=... # env only, never in a prompt
ChatGPT (a project or a custom GPT)
ChatGPT has no YouTube research connector, so there are two routes: paste the numbers in, or give a custom GPT an Action against the Scrape Creators API.
- Layer 1: run the two curl calls from the API block yourself, save the JSON, create a ChatGPT Project with the skill below as instructions, upload the JSON and say "find outliers about [topic]". It does the median and the tiering; the fetching is yours.
- Layer 2: create a custom GPT, add an Action with the OpenAPI stub below, set authentication to API key in a header named x-api-key. The GPT can then search and pull channel uploads live.
- Either way, insist on both numbers side by side and the two sentence pattern. Save the output somewhere you will read first next time.
openapi: 3.1.0
info: {title: ScrapeCreators YouTube, version: '1'}
servers: [{url: https://api.scrapecreators.com/v1}]
paths:
/youtube/search:
get:
operationId: searchYouTube
parameters:
- {name: query, in: query, required: true, schema: {type: string}}
- {name: includeExtras, in: query, schema: {type: boolean}}
/youtube/channel-videos:
get:
operationId: channelVideos
parameters:
- {name: channelId, in: query, required: true, schema: {type: string}}Anything with an API (a token and a curl call)
Two calls do the whole thing. Search returns videos with viewCountInt and the channel id. Channel videos returns the uploads you take the median of. Key in a header, from an environment variable.
- Export SCRAPECREATORS_API_KEY in your shell.
- Call search once per phrasing. Collect id, title, channel.id, viewCountInt, publishedTime, lengthSeconds.
- Call channel-videos once per unique channel id, take the median of viewCountInt across the first 15, cache it for six hours.
- Score, tier, save by video id. Feed the JSON to the agent with the skill for the packaging read.
export SCRAPECREATORS_API_KEY=... H="x-api-key: $SCRAPECREATORS_API_KEY" curl -s -H "$H" "https://api.scrapecreators.com/v1/youtube/search?query=$(python3 -c 'import urllib.parse,sys;print(urllib.parse.quote(sys.argv[1]))' "$TOPIC")&includeExtras=true" > search.json # one per channel id found in search.json curl -s -H "$H" "https://api.scrapecreators.com/v1/youtube/channel-videos?channelId=$CHANNEL_ID" > "channel_$CHANNEL_ID.json" # median of the first 15 viewCountInt values = baseline; outlier = views / baseline
Failure modes
Every one of these has happened to me or to someone I set this up for.
| Failure | Fix |
|---|---|
| Report ranked by views | Rank by outlier score, show views beside it |
| A channel with one viral hit looks like it never has outliers | Median baseline, not mean |
| Only the literal search was run | Three phrasings, always |
| Score invented for a channel whose uploads could not be fetched | Mark it unknown; an estimate is worse than a blank |
| Same topic researched twice in a month | Library keyed by video id, read it first |
| Titles copied from the winners | Mechanics are shared; words are not |
| A list of thirty videos and no lesson | Two sentences naming the pattern, or the scan is not done |
| Watchlist built and never rescanned | Put it on a cadence; it only compounds if it runs |
The tools I use for this
| Tool | What it is for here | |
|---|---|---|
| Scrape Creators | The research API. Search with view counts, and a channel's recent uploads for the baseline. | no link, just use it |
| Outlier research skill | The public skill this page runs. Read it, do not rewrite it. | Read it |
| Claude | Runs the scan, computes the medians, names the pattern. | Open |
| NotebookLM | Where I drop the top ten's transcripts when I want the first spoken lines compared. | Open |
The free skill
It is the research routine I run before I pick a topic, written for an agent. It searches three phrasings, pulls each channel's recent uploads, computes views divided by the channel median, tiers the results, reads the packaging of the top ten, names the shared pattern in two sentences, saves everything by video id, and offers to watch the channels that produced the outliers.
---
name: outlier-channels
description: Finds the YouTube videos in a niche that beat their own channel's normal, scores them as views divided by the channel's median, tiers them, reads the packaging of the winners, saves everything by video id so no topic is researched twice, and proposes a watchlist. Uses real numbers from a research API; never estimates. Trigger on "find outliers about", "what is working in my niche", "research this topic on YouTube", "rescan the watchlist".
---
# Outlier Channels
Raw views measure audience size. Views divided by that channel's own median measure the
topic. You are building a scored library of outliers and a watchlist that keeps scoring.
The complete public skill lives at
https://marketing.doctorleadflow.com/library/outlier-research/ and the free repo at
github.com/drleadflow/thumbnail-system-starter. This file is the operating version.
## Before you start
You need real view counts and real channel baselines from a connected research tool
(Scrape Creators or equivalent through a connector, the starter repo, or JSON the user
fetched with curl). Manual fallback: the user pastes 10 to 20 video URLs with views and
channel names; the maths still works.
Never estimate views or medians. If a channel's uploads cannot be fetched, score = unknown.
Read the library first. If the topic has been scanned before, list what exists and only
fetch what is new.
## Step 1: Search three ways
Literal topic. Outcome phrasing ("how I", "that actually worked"). Beginner phrasing
("for beginners", "explained"). Collect 30 to 60 candidates: title, channel, channel id,
views, publish date, length.
## Step 2: Baseline per channel
For every channel in the list, pull its 15 most recent uploads and take the MEDIAN views.
Median, not mean. Cache each median for six hours.
## Step 3: Score and tier
outlier = video views / channel median
- Monsters, 10x and up: the topic is doing the work. Study packaging and hook.
- Strong, 3 to 10x: good topic plus good execution.
- Normal, 0.5 to 3x: the channel's audience, not the topic. Format lessons only.
- Below 0.5x: underperformed even for them. Write down why.
Present the top 15 by outlier score with views, score and channel median side by side.
## Step 4: Read the winners' packaging
For the top 10: title construction, thumbnail concept (face, text, object, contrast),
length, first spoken line if a transcript exists. Then name the shared pattern in two
sentences. The pattern is the deliverable.
## Step 5: Save
Write every candidate to the persistent store keyed by video id with topic, score,
channel, date. Never research the same topic twice.
## Step 6: Watchlist
Propose the 5 to 10 channels that produced the outliers. On rescan: pull recent uploads,
recompute the median, score, surface anything above 3x. "Nothing above 3x" is a finding.
## Rules
- Steal mechanics, never words.
- Both numbers, always, side by side.
- Report what the data says even when it is boring.
What done looks like at thirty days
- Three topics scanned with every channel's median computed, none estimated
- A library exists keyed by video id and a second scan read it first
- Each topic has a two sentence packaging pattern written down
- A watchlist of five to ten channels rescans on a cadence
- One video was made from an outlier that the watchlist surfaced
- You have not sorted YouTube by views this month
Want the research library already built and refreshing itself?
Inside the AI CEO Lab the Research to Content Engine module runs this on your niche, with the watchlist wired to your content calendar.