processed_global_* — the country-aggregation family¶
Three columns:
- processed_global_keyword_volume — UInt64
- processed_global_volume_trend — String (JSON)
- processed_growth_global — String (JSON)
Table: keywords.keywords_data_local
Last validated: 2026-05-21
What they are¶
Country-summed equivalents of processed_keyword_volume, processed_volume_trend, and processed_growth. These are the "worldwide" versions of the per-country metrics that the product shows on the global view.
The row identity is (dimension_keyword_hash, country). The global versions are stored on every row but contain the cross-country sum. (Yes, this is denormalised — every country row carries the same global numbers for that keyword.)
How they're computed¶
In processing.py around L2671–L2689, after the per-country processed_* columns have been written:
processed_global_keyword_volume— sum of per-countryprocessed_keyword_volumeacross every country that has approved data for the keyword.processed_global_volume_trend— merge of per-country trends. For each month, sum the per-country values that have a published value for that month. Implicitly excludes countries below their own display gate.processed_growth_global—build_growth_json(global_trend)over the merged trend. Same gate as per-country growth (processing.py:KB-ANCHOR:growth-metrics-display-gate): only computed whenprocessed_global_keyword_volume > 200; otherwise empty.
Edge cases¶
- Denormalised storage — every country row carries the same global value. If you
SELECT processed_global_keyword_volume FROM keywords_data_local WHERE dimension_keyword_hash = Xyou get N identical rows (one per country with data for that keyword). PickLIMIT 1if you want a single global number per keyword. - Anyone country dominating — for keywords with one giant country (e.g. US-heavy queries), the global is essentially that country's value; the long-tail sum from other countries is rounding noise.
- Sub-200 countries excluded by their own gate — countries with
processed_keyword_volume <= 200writenullfor that column, so they contribute 0 to the global sum even if their raw signal exists. - Global growth uses global trend, not per-country growths — growth is recomputed over the merged trend rather than weighted-averaging the per-country growth tags. Avoids the math problem of "averaging classifications".
Downstream¶
- Customer UI's "Global volume / trend / growth" widgets — the most prominent presentation of these fields.
- ES +
keywords_metrics_localupload paths.
See also¶
processed_keyword_volume·processed_volume_trend·processed_growth— the per-country counterparts these aggregate- Central hub table
- processing.py — producer