Skip to content

Missing-source refresh signal

Fourth of the five refresh signals. Two sub-signals: "no_gt" fires when the keyword has no GT data at all; "no_gkp" fires when it has no GKP data. Either contributes a fixed 3.0 to the corresponding per-source component list.

What it is

The simplest signal in the family — no thresholds, no continuous strength. Either the source exists for the keyword (no signal) or it doesn't (fixed 3.0 contribution).

Condition Signal Component added
not with_gt_data no_gt gt_components += [3.0]
not with_gkp_data no_gkp gkp_components += [3.0]

The 3.0 value matches the standard "max single-signal contribution" cap shared with staleness, divergence, and surge components — equal weight in the priority-formula sum.

How it's computed

At processing.py:KB-ANCHOR:refresh-signal-missing-source. Lines 783–790.

Why this choice

A keyword with no GT at all has no trend smoothing input — the blended curve is essentially raw GSC (possibly with GKP). A keyword with no GKP has no monthly-volume anchor for the trend. Either gap is a first-class data-completeness problem that should be filled, regardless of whether other signals fire.

Fixed value (not continuous) because there's nothing to scale — "missing" is binary. The choice of 3.0 (matching the per-signal cap) ensures that a keyword missing one source can still reach tier-1 priority on the strength of this signal combined with one other, which matches operational intent: the most-incomplete keywords should be the most-urgent to fill.

Edge cases

  • New keyword, both sources missing — both signals fire, contributing 3.0 to each side. The keyword likely lands tier 1 after the priority formula's volume scaling, though low-volume newcomers may get scaled down.
  • processed_ke_approved != 1 — the entire refresh-detection function returns None before any signal is checked, so missing sources never trigger refresh on unapproved keywords.
  • Country not in SERP_COUNTRIES — same early return: we only refresh in countries where we collect SERPs, so non-SERP-country missing-data never fires.

See also