A durable competitor-monitoring stack is a chain of small, inspectable components: source registry, compliant retrieval, immutable capture, health checks, normalization, structured extraction, deterministic diff, bounded semantic analysis, human review, decision routing, and outcome measurement. Start with the decision workflow and add components only when a real failure requires them.

What this guide covers

  • the minimal architecture and data contracts;
  • where deterministic and AI components belong;
  • source health, provenance, and review states;
  • a staged implementation plan.

Begin with the operating contract

Before choosing tools, define:

  • three to five companies and the reasons they matter;
  • one decision class, such as plan and allowance movement;
  • source URLs and fields;
  • collection cadence and access rules;
  • reviewer and decision owner;
  • materiality threshold;
  • retention and publication boundary.

This contract prevents a general web-crawling project from replacing the business problem.

Layer 1: source registry and retrieval

The source record needs requested URL, source type, company, decision field, cadence, locale or state, last health, and owner. Retrieval should record status, final URL, headers, observed time, and errors.

RFC 9110 defines HTTP semantics such as representations, status codes, and validators. RFC 9309 defines the Robots Exclusion Protocol. Respect access controls, published directives, terms, rate limits, and applicable law. A retry strategy is not permission to bypass a block.

Layer 2: immutable capture and health

Store the raw response or approved representation separately from derived fields. Give it a stable identifier and content hash. Record:

  • observed timestamp;
  • final URL and response state;
  • capture method and version;
  • locale, currency, billing, or authentication state;
  • size and extraction diagnostics;
  • previous comparable capture;
  • block, challenge, or rendering indicators.

The first healthy observation is a baseline. A failed capture is an operational event, not a competitive event.

Layer 3: normalization and extraction

Normalize only what the decision requires. For pricing, fields may include plan, value metric, price, period, allowance, entitlement, and entry motion. For positioning, use audience, category, problem, promise, proof, and frame.

Version normalization and extraction rules. Keep null, absent, and unknown distinct. Never fill a missing value with a model guess.

Layer 4: deterministic comparison

Compare structured fields exactly and create an event candidate containing before, after, field path, and capture IDs. Suppress known non-material fields. Group related changes within one observation.

{
  "sourceId": "...",
  "beforeCapture": "...",
  "afterCapture": "...",
  "changedFields": [
    {"path": "plans.pro.allowance", "before": 500, "after": 750}
  ],
  "comparability": "healthy"
}

Layer 5: bounded semantic analysis

Give the model only the event candidate, relevant excerpts, source context, and approved taxonomy. Ask for classification, materiality hypothesis, alternative explanation, and unknowns. Require claim-to-evidence pointers and permit “not established.”

The model does not decide that a source is comparable or that a material decision should be made.

Layer 6: review and decision routing

Reviewer states should include confirmed, correlated, not material, false positive, evidence fault, and pending. Every rejection has a reason code. Confirmed material movements create a decision record with owner, due date, response, and outcome.

W3C PROV-O offers a general language for provenance among entities, activities, and agents. Your schema can be simpler, but it should reconstruct which source and transformation produced a conclusion and who reviewed it.

Layer 7: operations and evaluation

Track capture success, comparability, material precision, missed known events, review delay, reviewer corrections, stale fields, decision closure, and source cost. OpenTelemetry's signals can inform the system-observability layer; market observations and operational telemetry should remain distinct.

Use a labeled regression set containing page noise, locale changes, source faults, baselines, exact commercial changes, ambiguous rewrites, and reversals.

Stage the implementation

StageScopeExit test
1. Manual evidencefive sources, weekly capture and reviewdecisions and fields are stable
2. Reliable captureregistry, immutable versions, health statesfailures no longer become signals
3. Structured diffone source type and schemareviewed precision is acceptable
4. Semantic triagebounded model outputcitation and correction tests pass
5. Decision loopowner, due date, outcomeuseful decisions close consistently
6. Expansionadditional sources and marketseach addition has a capacity owner

Use the EXVIV company directory, market map, and Evidence Compare to inspect a public implementation boundary. The monitoring guide defines the operating loop; the AI evidence architecture defines the model contract.

Sources and further reading

Method note

This reference architecture is technology-neutral. Collection methods and retention must be reviewed against the actual sites, data, contracts, risk, and jurisdiction in scope.