Completions

Get-found swarm · Local-Pack Rank Tracking Agent · Rank-history-timeseries skill · Build pillar · Published June 1, 2026

How to build per-location 3-year SERP retention for franchise rank tracking

This guide explains how to architect the rank-history-timeseries skill on the local-pack-rank-tracking agent end-to-end at multi-location franchise + multi-store scale: per-portfolio per-location per-keyword per-geo-pin per-SERP-feature per-device per-language per-search-engine daily-granularity rank-history time-series storage + per-keyword-cluster grouping + per-compression + per-downsampling + per-cold-storage-tiering + per-time-travel-query + per-trend-analysis + per-anomaly-detection + per-3-year-retention + per-portfolio audit-trail.

What you will build

  • Multi-tier time-series storage substrate — per-hot-tier (TimescaleDB-hypertable + InfluxDB-Bucket + ClickHouse-MergeTree + QuestDB-partition + VictoriaMetrics-shard) + per-warm-tier (Snowflake-table + BigQuery-table + Athena-Parquet + Redshift-table) + per-cold-tier (AWS-S3-Glacier-Deep-Archive + GCP-Cloud-Storage-Archive + Azure-Blob-Archive + Backblaze-B2 + Wasabi + MinIO).
  • Per-tiering policy — per-rolling-30-day-hot + per-rolling-90-day-warm + per-rolling-3-year-cold canonical-tiering.
  • Per-compression algorithm — per-Gorilla-Facebook + per-Snappy + per-LZ4 + per-Zstandard-zstd + per-Brotli + per-Delta-encoding + per-Delta-of-Delta-encoding + per-Run-length-encoding-RLE + per-Bit-packing canonical-compression + per-compression-ratio-tracking + per-CPU-cost-tracking + per-decompression-latency-tracking.
  • Per-downsampling + per-continuous-aggregate — per-daily-raw + per-weekly-mean-median-max-min + per-monthly-mean-median-max-min + per-quarterly + per-yearly + per-hot-raw + per-warm-daily-aggregated + per-cold-weekly-aggregated + per-TimescaleDB-Materialized-View + per-roll-up-pre-aggregation + per-percentile-aggregation-P50-P95-P99.
  • Per-keyword-cluster grouping — per-head-keyword + per-long-tail-keyword + per-branded-keyword + per-non-branded-keyword + per-local-keyword + per-question-keyword + per-cluster-aggregation + per-cluster-trend-analysis + per-cross-cluster-comparison + per-cluster-anomaly-detection.
  • Per-time-travel query API — per-Snowflake-Time-Travel + per-TimescaleDB-time-bucket-query + per-InfluxDB-Flux-query + per-ClickHouse-time-series-query + per-Druid-time-series-query + per-Pinot-time-series-query + per-as-of-timestamp + per-as-of-version + per-between-timestamps + per-window-function-LAG-LEAD-FIRST-VALUE-LAST-VALUE.
  • Per-trend-analysis + per-anomaly-detection — per-keyword-rank-trend-line + per-7-day-30-day-90-day-rolling-mean + per-Mann-Kendall-trend-test + per-Theil-Sen-slope + per-Seasonal-Mann-Kendall + per-STL-decomposition + per-2-sigma + per-3-sigma + per-IQR + per-rolling-z-score + per-Prophet-forecast-residual + per-LSTM-forecast-residual + per-isolation-forest + per-DBSCAN + per-Twitter-ESD-Seasonal-Hybrid canonical-detection.

Why per-vendor-Ahrefs-canonical-90-day-window breaks at multi-location-3-year-retention scale

Per-vendor-Ahrefs-canonical-rank-history-canonical-90-day-window ships per-account per-keyword per-90-day-window primitive. Per-vendor-Semrush-Position-Tracking + BrightLocal + Local-Falcon + Whitespark + AccuRanker + GeoRanker + STAT-Moz + SE-Ranking + Pro-Rank-Tracker + Mangools + AgencyAnalytics-canonical-single-account ship per-vendor per-native rank-history primitives.

At 1-location-1-keyword-90-day scale per-account per-90-day-window primitive is enough. At 200-location-200-keyword-3-year-retention scale canonical-15-billion-data-points-storage-volume + per-vendor-retention-window-fragmentation (per-Ahrefs-90-day + per-Semrush-12-month + per-BrightLocal-12-month + per-AccuRanker-12-month-tier + per-STAT-historical-archive).

Per-vendor-retention-window-loss-after-vendor-expiration + per-vendor-export-CSV-no-API-manual-cumbersome + per-vendor-compression-spec-blind + per-vendor-downsampling-spec-blind + per-vendor-cold-storage-tiering-blind + per-cross-vendor-historical-aggregation-blind.

The operator-side architecture above per-vendor-rank-history-window primitive is canonical-multi-tier-time-series-storage + per-compression-algorithm + per-downsampling + per-tiering-policy + per-keyword-cluster-grouping + per-time-travel-query + per-trend-analysis + per-anomaly-detection + per-3-year-retention + per-cost-optimization.

What is in market today

Per-platform per-time-series-database

TimescaleDB, InfluxDB, ClickHouse, QuestDB, VictoriaMetrics, Prometheus + Cortex + Thanos + Mimir, M3DB, OpenTSDB, KairosDB, Druid, Pinot, AWS Timestream, GCP Cloud Bigtable + BigQuery Time-Series, Azure Data Explorer, IBM Db2 Event Store, Tarantool, Riak TS, RRDtool. Per-account per-database per-table. Per-canonical-multi-tier-canonical-hot-warm-cold-canonical-tiering-policy is not the primitive.

Per-platform per-cold-storage-tier

AWS S3 + Glacier + Glacier Deep Archive, GCP Cloud Storage + Coldline + Archive, Azure Blob + Cool + Archive, Snowflake Time-Travel + Fail-safe, Cloudflare R2, Wasabi, Backblaze B2, MinIO. Per-account per-bucket per-object. Per-canonical-rolling-3-year-canonical-cold-canonical-tiering-policy is not the primitive.

Per-platform per-compression-algorithm

Gorilla compression (Facebook), Snappy, LZ4, Zstandard (zstd), Brotli, Delta encoding, Delta-of-Delta encoding, Run-length encoding (RLE), Bit-packing. Per-algorithm per-compression-ratio per-CPU-cost. Per-canonical-compression-ratio-canonical-CPU-cost-canonical-decompression-latency-canonical-trade-off is not the primitive.

Per-platform per-rank-tracking-vendor

Ahrefs Rank Tracker, Semrush Position Tracking, BrightLocal, Local Falcon, Whitespark, AccuRanker, GeoRanker, STAT (Moz), SE Ranking, Pro Rank Tracker, Mangools SERPWatcher, AgencyAnalytics. Per-account per-vendor-retention-window. Per-canonical-cross-vendor-canonical-historical-aggregation-canonical-3-year-retention is not the primitive.

How the architecture is built

  1. Per-portfolio per-canonical-storage-volume-spec-load. Per-200-locations × per-200-keywords × per-5-geo-pins × per-12-SERP-features × per-2-devices × per-3-languages × per-3-search-engines × per-365-days × per-3-years = canonical-15-billion-data-points-3-year-retention.
  2. Per-portfolio per-canonical-multi-tier-time-series-database-substrate. Per-TimescaleDB + per-InfluxDB + per-ClickHouse + per-QuestDB + per-VictoriaMetrics + per-Druid + per-Pinot + per-AWS-Timestream + per-GCP-BigQuery + per-Azure-Data-Explorer canonical-multi-vendor.
  3. Per-portfolio per-canonical-hot-tier-canonical-spec. Per-TimescaleDB-hypertable + per-InfluxDB-Bucket + per-ClickHouse-MergeTree + per-QuestDB-partition + per-VictoriaMetrics-shard canonical-hot.
  4. Per-portfolio per-canonical-warm-tier-canonical-spec. Per-Snowflake-table + per-BigQuery-table + per-Athena-Parquet + per-Redshift-table canonical-warm.
  5. Per-portfolio per-canonical-cold-tier-canonical-spec. Per-AWS-S3-Glacier-Deep-Archive + per-GCP-Cloud-Storage-Archive + per-Azure-Blob-Archive + per-Backblaze-B2 + per-Wasabi + per-MinIO canonical-cold.
  6. Per-portfolio per-canonical-tiering-policy-spec. Per-rolling-30-day-hot + per-rolling-90-day-warm + per-rolling-3-year-cold canonical-tiering.
  7. Per-portfolio per-canonical-compression-canonical-algorithm. Per-Gorilla-Facebook + per-Snappy + per-LZ4 + per-Zstandard-zstd + per-Brotli + per-Delta-encoding + per-Delta-of-Delta-encoding + per-Run-length-encoding-RLE + per-Bit-packing.
  8. Per-portfolio per-canonical-downsampling-spec. Per-daily-raw + per-weekly-mean-median-max-min + per-monthly-mean-median-max-min + per-quarterly + per-yearly + per-TimescaleDB-Materialized-View + per-roll-up-pre-aggregation + per-percentile-P50-P95-P99.
  9. Per-portfolio per-canonical-per-keyword-cluster-canonical-spec. Per-head-keyword + per-long-tail-keyword + per-branded-keyword + per-non-branded-keyword + per-local-keyword + per-question-keyword canonical-cluster.
  10. Per-portfolio per-canonical-time-travel-query-API. Per-Snowflake-Time-Travel + per-TimescaleDB-time-bucket + per-InfluxDB-Flux + per-ClickHouse + per-Druid + per-Pinot + per-as-of-timestamp + per-as-of-version + per-between-timestamps + per-window-function-LAG-LEAD-FIRST-VALUE-LAST-VALUE.
  11. Per-portfolio per-canonical-trend-analysis. Per-rolling-7-day-30-day-90-day-mean + per-Mann-Kendall + per-Theil-Sen + per-Seasonal-Mann-Kendall + per-STL-decomposition canonical-trend.
  12. Per-portfolio per-canonical-anomaly-detection. Per-2-sigma + per-3-sigma + per-IQR + per-rolling-z-score + per-Prophet-residual + per-LSTM-residual + per-isolation-forest + per-DBSCAN + per-Twitter-ESD canonical-detection.
  13. Per-portfolio per-canonical-cost-optimization + audit-trail. Per-hot-50-dollars-per-TB-month + per-warm-25-dollars + per-cold-1-dollar + per-compression-ratio-savings + per-downsampling-ratio-savings + per-tiering-policy-savings + per-3-year-total-cost-projection + per-vendor-cost-comparison + per-CMO-dashboard.

Frequently asked questions

What is per-location 3-year SERP retention for franchise rank tracking?

Per-location 3-year SERP retention runs per-portfolio per-location per-keyword per-geo-pin per-SERP-feature per-device per-language per-search-engine daily-granularity rank-history time-series storage with per-keyword-cluster grouping (head + long-tail + branded + non-branded) + per-compression + per-downsampling + per-cold-storage-tiering + per-query-API + per-time-travel-query + per-anomaly-detection + per-trend-analysis + per-3-year-retention-window + per-portfolio audit-trail. Per-canonical-storage-volume-spec runs per-200-locations × per-200-keywords × per-5-geo-pins × per-12-SERP-features × per-2-devices × per-3-languages × per-3-search-engines × per-365-days × per-3-years = canonical-storage-volume-canonical-15-billion-data-points-canonical-3-year-retention. The per-platform per-time-series-database category includes TimescaleDB, InfluxDB, ClickHouse, QuestDB, VictoriaMetrics, Prometheus + Cortex + Thanos + Mimir, M3DB, OpenTSDB, KairosDB, Druid, Pinot, AWS Timestream, GCP Cloud Bigtable + BigQuery Time-Series, Azure Data Explorer, IBM Db2 Event Store, Tarantool, Riak TS, RRDtool. The per-platform per-cold-storage-tier category includes AWS S3 + Glacier + Glacier Deep Archive, GCP Cloud Storage + Coldline + Archive, Azure Blob + Cool + Archive, Snowflake Time-Travel + Fail-safe, Cloudflare R2, Wasabi, Backblaze B2, MinIO. The per-platform per-compression-algorithm category includes Gorilla compression (Facebook), Snappy, LZ4, Zstandard (zstd), Brotli, Delta encoding, Delta-of-Delta encoding, Run-length encoding (RLE), Bit-packing.

Why does per-vendor-Ahrefs-canonical-rank-history-canonical-90-day-window break down at multi-location-3-year-retention scale?

Per-vendor-Ahrefs-canonical-rank-history-canonical-90-day-window ships per-account per-keyword per-90-day-window primitive. Per-vendor-Semrush-Position-Tracking + per-BrightLocal + per-Local-Falcon + per-Whitespark + per-AccuRanker + per-GeoRanker + per-STAT-Moz + per-SE-Ranking + per-Pro-Rank-Tracker + per-Mangools + per-AgencyAnalytics-canonical-single-account ship per-vendor per-native rank-history primitives. At 1-location-1-keyword-90-day scale per-account per-90-day-window primitive is enough. At 200-location-200-keyword-3-year-retention scale per-canonical-15-billion-data-points-canonical-storage-volume-canonical-3-year-retention + per-canonical-per-vendor-canonical-retention-window-canonical-fragmentation (per-Ahrefs-90-day + per-Semrush-12-month + per-BrightLocal-12-month + per-AccuRanker-canonical-12-month-tier + per-STAT-canonical-historical-archive) + per-canonical-per-vendor-canonical-retention-window-canonical-loss-canonical-after-vendor-expiration + per-canonical-per-vendor-canonical-export-canonical-CSV-canonical-no-API-canonical-manual-cumbersome + per-canonical-per-vendor-canonical-compression-spec-blind + per-canonical-per-vendor-canonical-downsampling-spec-blind + per-canonical-per-vendor-canonical-cold-storage-tiering-blind + per-canonical-cross-vendor-canonical-historical-aggregation-blind.

How does per-portfolio per-canonical-time-series-canonical-storage-spec + per-canonical-compression-canonical-spec work?

Per-portfolio per-canonical-time-series-canonical-storage-spec runs per-portfolio per-canonical-hot-tier-canonical-spec (per-TimescaleDB-canonical-hypertable + per-InfluxDB-canonical-Bucket + per-ClickHouse-canonical-MergeTree + per-QuestDB-canonical-partition + per-VictoriaMetrics-canonical-shard per-canonical-hot-tier) + per-canonical-warm-tier-canonical-spec (per-Snowflake-canonical-table + per-BigQuery-canonical-table + per-Athena-canonical-Parquet + per-Redshift-canonical-table per-canonical-warm-tier) + per-canonical-cold-tier-canonical-spec (per-AWS-S3-Glacier-Deep-Archive + per-GCP-Cloud-Storage-Archive + per-Azure-Blob-Archive + per-Backblaze-B2 + per-Wasabi + per-MinIO per-canonical-cold-tier) + per-canonical-tiering-policy-spec (per-rolling-30-day-canonical-hot + per-rolling-90-day-canonical-warm + per-rolling-3-year-canonical-cold per-canonical-tiering-policy). Per-canonical-compression-spec runs per-portfolio per-canonical-Gorilla-compression-canonical-Facebook + per-Snappy + per-LZ4 + per-Zstandard-zstd + per-Brotli + per-Delta-encoding + per-Delta-of-Delta-encoding + per-Run-length-encoding-RLE + per-Bit-packing canonical-compression-algorithm + per-canonical-compression-ratio-canonical-tracking + per-canonical-compression-CPU-cost-canonical-tracking + per-canonical-compression-decompression-latency-canonical-tracking.

What does per-portfolio per-canonical-downsampling-spec + per-canonical-per-keyword-cluster-grouping do?

Per-portfolio per-canonical-downsampling-spec runs per-portfolio per-canonical-per-time-bucket-canonical-aggregation-spec (per-daily-raw + per-weekly-mean-median-max-min + per-monthly-mean-median-max-min + per-quarterly + per-yearly per-canonical-time-bucket) + per-canonical-per-tier-canonical-downsampling-policy (per-hot-tier-raw + per-warm-tier-daily-aggregated + per-cold-tier-weekly-aggregated per-canonical-downsampling-policy) + per-canonical-continuous-aggregate-canonical-TimescaleDB-canonical-Materialized-View + per-canonical-roll-up-canonical-pre-aggregation + per-canonical-percentile-canonical-aggregation-canonical-P50-P95-P99. Per-canonical-per-keyword-cluster-grouping runs per-portfolio per-canonical-keyword-cluster-canonical-spec (per-head-keyword + per-long-tail-keyword + per-branded-keyword + per-non-branded-keyword + per-local-keyword + per-question-keyword per-canonical-keyword-cluster) + per-canonical-per-cluster-canonical-aggregation-canonical-spec + per-canonical-per-cluster-canonical-trend-canonical-analysis + per-canonical-cross-cluster-canonical-comparison + per-canonical-per-cluster-canonical-anomaly-detection.

What does per-portfolio per-canonical-time-travel-query-API + per-canonical-trend-analysis + per-canonical-anomaly-detection do?

Per-portfolio per-canonical-time-travel-query-API runs per-portfolio per-canonical-Snowflake-Time-Travel-API + per-canonical-TimescaleDB-time-bucket-query + per-canonical-InfluxDB-Flux-query + per-canonical-ClickHouse-time-series-query + per-canonical-Druid-time-series-query + per-canonical-Pinot-time-series-query per-canonical-time-travel-query + per-canonical-as-of-timestamp + per-canonical-as-of-version + per-canonical-between-timestamps + per-canonical-window-function-canonical-LAG-LEAD-FIRST-VALUE-LAST-VALUE. Per-canonical-trend-analysis runs per-portfolio per-canonical-per-keyword-canonical-rank-canonical-trend-canonical-line + per-canonical-per-keyword-canonical-rank-canonical-trend-canonical-7-day-rolling-mean + per-canonical-per-keyword-canonical-rank-canonical-trend-canonical-30-day-rolling-mean + per-canonical-per-keyword-canonical-rank-canonical-trend-canonical-90-day-rolling-mean + per-canonical-per-keyword-canonical-Mann-Kendall-canonical-trend-test + per-canonical-per-keyword-canonical-Theil-Sen-canonical-slope-estimator + per-canonical-per-keyword-canonical-Seasonal-Mann-Kendall + per-canonical-per-keyword-canonical-STL-decomposition-canonical-trend-seasonal-residual. Per-canonical-anomaly-detection runs per-portfolio per-canonical-per-keyword-canonical-2-sigma-outlier + per-canonical-3-sigma-outlier + per-canonical-IQR-outlier + per-canonical-rolling-z-score + per-canonical-Prophet-forecast-residual + per-canonical-LSTM-forecast-residual + per-canonical-isolation-forest + per-canonical-DBSCAN-clustering + per-canonical-Twitter-ESD-Seasonal-Hybrid + per-canonical-STL-decomposition-residual.

What does per-portfolio per-canonical-cost-canonical-optimization + per-local-pack-rank-tracking-agent-canonical-bundle do?

Per-portfolio per-canonical-cost-canonical-optimization runs per-portfolio per-canonical-storage-cost-canonical-per-tier-tracking (per-hot-tier-canonical-50-dollars-per-TB-month + per-warm-tier-canonical-25-dollars-per-TB-month + per-cold-tier-canonical-1-dollar-per-TB-month per-canonical-tier-cost) + per-canonical-compression-ratio-canonical-cost-savings + per-canonical-downsampling-ratio-canonical-cost-savings + per-canonical-tiering-policy-canonical-cost-savings + per-canonical-3-year-retention-canonical-total-cost-canonical-projection + per-canonical-per-vendor-canonical-cost-canonical-comparison (per-TimescaleDB-self-hosted + per-Timescale-Cloud + per-InfluxData-Cloud + per-ClickHouse-Cloud + per-AWS-Timestream + per-GCP-BigQuery + per-Snowflake per-canonical-vendor-cost). Per-local-pack-rank-tracking-agent-canonical-bundle integrates the rank-history-timeseries skill with sibling skills on the same agent: per-canonical-continuous-SERP-scraping (already published at /multi-location-rank-tracking-at-scale, provides the raw SERP substrate) + per-canonical-serp-feature-presence-tracking (already published at /multi-location-serp-feature-tracking, uses 12-feature presence data) + per-canonical-competitor-rank-tracking (sibling — tracks competitor rank history).

Engage the local-pack-rank-tracking agent

Per-portfolio per-location per-keyword per-geo-pin per-SERP-feature per-device per-language per-search-engine daily-granularity rank-history time-series storage + per-keyword-cluster grouping + per-compression + per-downsampling + per-cold-storage-tiering + per-time-travel-query + per-trend-analysis + per-anomaly-detection + per-3-year-retention + per-cost-optimization + per-portfolio audit-trail shipped as the orchestration layer above your existing per-time-series-database + per-cold-storage-tier + per-compression-algorithm + per-rank-tracking-vendor primitive.