برنامهریزی، تحلیل و عملیات پلتفرم · فصل ۲ — Planning Horizon، Content Gap، Audience، Crisis و Experiment · 201
Content Gap Detection
Design a gap-detection model that joins demand evidence to a normalized content inventory, distinguishes uncovered intent from weak coverage and unknown data, and produces CREATE / IMPROVE / CONSOLIDATE / OBSERVE decisions with traceable confidence. میتواند برای «Content Gap Detection» model، signal و guardrail لازم را در یک workflow محدود تعریف و ارزیابی کند.
Lesson summary
Design a gap-detection model that joins demand evidence to a normalized content inventory, distinguishes uncovered intent from weak coverage and unknown data, and produces CREATE / IMPROVE / CONSOLIDATE / OBSERVE decisions with traceable confidence.
میتواند برای «Content Gap Detection» model، signal و guardrail لازم را در یک workflow محدود تعریف و ارزیابی کند.
This lesson produces
میتواند برای «Content Gap Detection» model، signal و guardrail لازم را در یک workflow محدود تعریف و ارزیابی کند.
Who it is for
Foundation
Use a guided lesson-specific evidence matrix and one worked negative case.
Repair
Re-run only the failed owned dimension with a smaller deterministic synthetic fixture.
Experienced
Start from mixed planning signals; require explicit trade-offs, uncertainty and provenance.
Prerequisites
1. The real problem: a high-impression query is not automatically a gap
Suppose Search Console shows thousands of impressions and a low CTR for a query. That observation may matter, but it still does not prove that a new page should be created. The same intent may already be covered, an existing page may be weak, multiple pages may overlap, or part of query demand may be invisible because of privacy and table limitations. This lesson builds Demand-to-Coverage Gap Matrix v1 so demand evidence is joined to the content inventory before action is authorized.
2. Lesson boundary and owned artifact
PLN-010 owns Content Gap Detection. For each intent_cluster, the artifact records at least query_evidence, page_candidate, coverage_strength, data_visibility, duplicate_risk, gap_confidence, action, evidence_window, unknown_state, and review_trigger. PLN-009 owns Rolling Planning Horizons and PLN-011 owns Cadence Envelope. This lesson does not decide publishing schedules or cadence.
3. Normalize demand evidence before deciding
Do not turn raw queries directly into a topic list. Group meaningfully similar queries into an intent cluster and record the window, region, search type, and device scope. impressions, clicks, ctr, and position are Search performance signals; alone, they do not prove business need or permission to create content. Incomplete normalization lowers gap_confidence or moves the case to REVIEW_REQUIRED.
4. What Search Console actually exposes
Current Search Console Performance reporting provides query and page dimensions with metrics such as clicks, impressions, CTR, and average position [GSC-PERF]. It also supports filtering a query and then inspecting the pages shown for that query [GSC-USE]. Those are useful demand and coverage observations. The final gap classification, however, is a MAKNOW design rule rather than a claim made by Google.
5. Data visibility is not complete
Search Console explicitly documents that some queries are anonymized for privacy and that the table can omit rows because of internal limits [GSC-DIMS]. Therefore, “the query is absent from the table” is not equivalent to “demand is zero.” Record data_visibility separately. When visibility is incomplete, absence must not be converted into certainty.
6. Search the inventory before CREATE
The content inventory should record URL or ID, primary intent, language, status, canonical relationship, and coverage notes. Find existing candidates for each intent cluster before deciding. If a relevant page is hidden from the inventory, a naive model can incorrectly return CREATE; this lesson deliberately tests that failure. CREATE before an inventory match is not allowed.
7. Coverage strength is not ranking
coverage_strength asks how directly and usefully an existing page answers the same intent. A low position can justify investigation, but it does not by itself prove weak coverage. A page may cover the intent well while distribution or competition is weak. Creating a second page in that situation can increase duplication; OBSERVE or a non-structural improvement may be more appropriate.
8. Four primary actions: CREATE / IMPROVE / CONSOLIDATE / OBSERVE
CREATE is authorized only when demand is supported, effective coverage is absent, visibility is sufficiently trustworthy, and duplicate risk is low. IMPROVE fits an intent that already has a page but weak coverage. CONSOLIDATE fits multiple pages that substantially cover the same intent under different wording. OBSERVE fits adequate coverage, weak demand, or a state where a new content action has not yet earned enough evidence.
9. Preserve UNKNOWN and REVIEW_REQUIRED
If data_visibility is incomplete, the demand estimate is ambiguous, the evidence window is stale, or provenance is missing, the system must not manufacture certainty. UNKNOWN, INSUFFICIENT_DATA, REVIEW_REQUIRED, REJECTED, and DO_NOT_USE are legitimate states. REVIEW_REQUIRED is not failure; it means current evidence does not authorize a stronger action.
10. Gate duplicate risk before a new URL
Two page candidates can have different titles and wording while answering the same underlying intent. String similarity alone will miss this. Duplicate risk should be assessed at the intent and coverage level. When two pages have strong semantic overlap, CONSOLIDATE can be appropriate; high impressions do not justify a third page for the same intent.
11. Require an evidence window and provenance
Every row needs an explicit window, source or export reference, scope, and finite recheck date. Old evidence may no longer represent current Search behavior or inventory state. Missing provenance produces REJECTED; stale evidence produces REVIEW_REQUIRED. A clean interface must not hide source age or visibility uncertainty.
12. Confidence is not a decorative score
gap_confidence summarizes demand strength, visibility quality, coverage state, and duplicate risk, but exact thresholds remain portfolio-specific. Here, confidence supports audit and comparison rather than pretending to certainty. Incomplete visibility caps confidence even when impressions look large.
13. Worked example: several intents, different actions
Intent A has strong demand, a fully checked inventory, no meaningful page candidate, and low duplicate risk: CREATE. Intent B has strong demand but an existing page covers only part of the problem: IMPROVE. Intent C has two differently worded pages covering the same intent: CONSOLIDATE. Intent D has high impressions and a page with strong existing coverage: OBSERVE. One metric can lead to different actions because the evidence matrix differs.
14. Deterministic failure probes
Four shortcuts are rejected: 1) hide a relevant existing page from the inventory → CREATE must no longer be treated as certain; 2) remove low-volume anonymized rows → absence must not become zero demand; 3) make two pages cover the same intent with different wording → CONSOLIDATE, not CREATE; 4) sharply raise impressions for a query whose current page already satisfies the intent → adequate coverage still produces OBSERVE. Missing provenance is REJECTED, and stale evidence is REVIEW_REQUIRED.
15. Transfer: a second language with a smaller inventory and anonymized queries
Apply the same model to a second language where the inventory is smaller and several queries are anonymized. The decision contract stays stable, but data_visibility and gap confidence must be recomputed. Missing query rows do not mean zero demand, and a smaller inventory alone does not authorize CREATE. Transfer succeeds when changed evidence produces a recomputed decision while uncertainty remains explicit.
Assessment
There is no answer key in this lesson pack; answer it yourself and mark honestly. "Needs review" sends the lesson to your review queue.
PLN-010-AS1 application
Build Demand-to-Coverage Gap Matrix v1 from the supplied bounded fixture.
PLN-010-AS2 diagnosis
Explain why hiding a relevant inventory page invalidates an optimistic CREATE decision.
PLN-010-AS3 decision
Issue CREATE / IMPROVE / CONSOLIDATE / OBSERVE or a typed non-success state with a finite recheck condition.
PLN-010-AS4 transfer
Recompute the matrix for the second-language inventory without treating anonymized missing rows as zero demand.
Assessment rubric
- Boundary: PLN-010 owns demand-to-coverage gap detection, not rolling horizons or cadence.
- Evidence binding: each action traces to query evidence, inventory candidates, visibility, coverage, duplicate risk, provenance, and an evidence window.
- Negative evidence: hidden inventory coverage, anonymized rows, semantic duplication, and stale evidence must not be coerced into CREATE.
- Typed states: UNKNOWN / INSUFFICIENT_DATA / REVIEW_REQUIRED / REJECTED / DO_NOT_USE remain available.
- Transfer: changed language/inventory evidence produces a recomputed decision rather than a copied baseline.
References & freshness
Case studies
Lab files
از Fixtureهای مصنوعی، Demand-to-Coverage Gap Matrix v1 را بسازید. تابع تصمیم را در starter.py پیادهسازی کنید. Missing/Anonymized Row را Demand صفر فرض نکنید و در Visibility ناقص عدم قطعیت را حفظ کنید.