Campaign opportunity demo

A useful idea for your next campaign.

Start with what you sell. Review a campaign angle and see why another popular topic was held back.

Example retailer: repair products and care supplies.

Campaign goal: a useful care-and-repair guide for existing subscribers.

Illustrative merchant fit. Synthetic observations, not a live trends feed.
Arrows compare the earlier 24 hours (baseline) → the later 24 hours (current).

Worth reviewing

Help customers care for what they own

A care-and-repair guide could feature relevant repair products from your catalogue.

Origins (original evidence items): 2 → 16
Observed share: 2.0% → 8.0%

Illustrative fit, not an inferred recommendation. Check your stock, audience, and the usefulness of the advice before using this angle.

Why review this idea?

An origin is an original evidence item; copies count once using the supplied labels. Share is the topic's percentage of original items in each source group, averaged equally across blogs and forums. Here, 2% → 8% means four times the earlier share.

The saved analysis marks this as a review candidate: it passes the example minimum-support and share-growth rules. That is permission to review the idea, not proof it will work.

This supports further review. It does not establish customer demand, factual credibility, or campaign performance.

Hold back

Leave copied giveaway hype off the shortlist

100 recorded observations come from just 3 supplied origins.

Observed share: 6.0% → 1.5%

Wait for more independent support before considering this campaign angle.

Why was this held back?

Copied observations do not become additional independent votes. This topic falls below the example policy's minimum of five current origins.

Repetition can still tell us about propagation; it does not establish independent support or suitability for this retailer.

Compare all topics and inspect the evidence

Inspect the signals

What baseline, current, and window mean

Window = a fixed period of time
We group original evidence items by their publication time. Here, each window is 24 hours long, and we compare two adjacent windows of equal length.
Baseline = the earlier comparison window
The earlier 24 hours are our reference: Oct 24, 2026 at 00:00 UTC up to Oct 25, 2026 at 00:00 UTC.
Current = the later comparison window
The later 24 hours are compared with that reference: Oct 25, 2026 at 00:00 UTC up to Oct 26, 2026 at 00:00 UTC. “Current” means the later period in this saved replay, not today or right now.
Origin = one original evidence item
In this synthetic demo, supplied origin labels identify originals. Copied versions share a label and count as one origin. “All origins” includes other topics and background items in the same source group and window.

Each window includes its start and excludes its end. An item published exactly at the shared boundary between the two periods belongs to the current window.

More definitions: observations, share, growth, and review rules
Topic and source group
A topic is the subject an item discusses. A source group is a category such as blogs or forums, not the number of websites. We compare the same declared groups in both periods.
Recorded observation versus origin
An observation is a saved delivery record. Several records can point to one original item, so 100 observations are not necessarily 100 distinct posts, authors, or independent views. Re-delivering the same delivery ID does not add another record.
Independent support
Here this means the number of distinct supplied original-item IDs after copies are combined. Their real-world independence and factual truth are not established by the fixture.
Numerator and denominator
In 1 / 50, the numerator (1) is the count for this topic. The denominator (50) is the total count for that source group and period. Dividing them gives the topic's share: 2%.
Share, normalization, and equal weights
For each source group, divide this topic's origins by all origins in that group. This expresses the count as a percentage, so overall source growth is accounted for. The report then averages the blog and forum percentages equally. This normalization does not make the sample representative of the whole market.
Lift or growth ratio
The later normalized share divided by the earlier share. 2% → 8% is 4× the earlier share, or an increase of 6 percentage points. It is not 4× sales, customer interest, or confidence.
Review candidate, rule, or gate
A gate is a condition required to proceed. This example requires at least five later-window origins and at least twice the earlier share. Passing makes a topic worth reviewing; these thresholds are not calibrated confidence or proof of campaign usefulness.
No earlier topic data
The topic has zero origins in the earlier window, even though other items exist in that window. A growth ratio would require division by zero, so the demo withholds that calculation rather than claiming infinite growth.
Coverage and propagation
Coverage describes which sources and periods were observed. Complete coverage is supplied as an assumption for this synthetic dataset, not measured across the internet. Propagation is how widely an item is repeated or distributed; it is different from independent support.

Evidence-aware ordering puts topics passing the example review rules first, then uses relative share growth to order results. Raw observation ordering uses delivery counts, including copies. Neither order is a confidence score.

Sorted by evidence-aware candidate priority. Inspect the baseline and denominators.

TopicRecorded observationsOriginal items (origins)Share across source groupsInterpretation
repair first retail
16
16
2 in baseline
2.0% → 8.0%
4.00× the earlier share
Review candidate
Inspect counts and evidence
Each cell shows origins for this topic out of all origins in that source group, followed by the percentage. For example, 1 of 50 (2.0%) means one original evidence item about this topic among 50 original items in that source group published during that period. The total includes other topics and background items.
Source groupEarlier 24 hours (baseline)
Topic origins out of all origins
Later 24 hours (current)
Topic origins out of all origins
blog1 of 50 (2.0%)8 of 100 (8.0%)
forum1 of 50 (2.0%)8 of 100 (8.0%)

For each period, the report averages the blog and forum percentages with equal weight. It does not average the raw counts.

Up to five original-item IDs from the later window are shown. The .example URLs are fictional test addresses, not live source pages. Supplied labels identify which items are copies; the demo did not discover or verify that source history.

platform wide noise
16
16
8 in baseline
8.0% → 8.0%
1.00× the earlier share
Share did not increase
Inspect counts and evidence
Each cell shows origins for this topic out of all origins in that source group, followed by the percentage. For example, 1 of 50 (2.0%) means one original evidence item about this topic among 50 original items in that source group published during that period. The total includes other topics and background items.
Source groupEarlier 24 hours (baseline)
Topic origins out of all origins
Later 24 hours (current)
Topic origins out of all origins
blog4 of 50 (8.0%)8 of 100 (8.0%)
forum4 of 50 (8.0%)8 of 100 (8.0%)

For each period, the report averages the blog and forum percentages with equal weight. It does not average the raw counts.

Up to five original-item IDs from the later window are shown. The .example URLs are fictional test addresses, not live source pages. Supplied labels identify which items are copies; the demo did not discover or verify that source history.

recycled giveaways
100
3
6 in baseline
6.0% → 1.5%
0.25× the earlier share
Too few original items
Inspect counts and evidence
Each cell shows origins for this topic out of all origins in that source group, followed by the percentage. For example, 1 of 50 (2.0%) means one original evidence item about this topic among 50 original items in that source group published during that period. The total includes other topics and background items.
Source groupEarlier 24 hours (baseline)
Topic origins out of all origins
Later 24 hours (current)
Topic origins out of all origins
blog3 of 50 (6.0%)2 of 100 (2.0%)
forum3 of 50 (6.0%)1 of 100 (1.0%)

For each period, the report averages the blog and forum percentages with equal weight. It does not average the raw counts.

Up to five original-item IDs from the later window are shown. The .example URLs are fictional test addresses, not live source pages. Supplied labels identify which items are copies; the demo did not discover or verify that source history.

new low sample
6
6
0 in baseline
0.0% → 3.0%
Cannot calculate growth
No earlier topic data
Inspect counts and evidence
Each cell shows origins for this topic out of all origins in that source group, followed by the percentage. For example, 1 of 50 (2.0%) means one original evidence item about this topic among 50 original items in that source group published during that period. The total includes other topics and background items.
Source groupEarlier 24 hours (baseline)
Topic origins out of all origins
Later 24 hours (current)
Topic origins out of all origins
blog0 of 50 (0.0%)3 of 100 (3.0%)
forum0 of 50 (0.0%)3 of 100 (3.0%)

For each period, the report averages the blog and forum percentages with equal weight. It does not average the raw counts.

Up to five original-item IDs from the later window are shown. The .example URLs are fictional test addresses, not live source pages. Supplied labels identify which items are copies; the demo did not discover or verify that source history.

Observation totals count stored delivery records for origins in the current publication window. They are not distinct-post, unique-reader, or time-bounded engagement counts.

“Review candidate” uses an illustrative rule: at least five current origins and a twofold share increase. It is not a probability, proof of a real trend, or a promise of campaign performance. A zero topic baseline triggers abstention.

AI/ML design and evaluation (proposed)

Where AI/ML would help

Proposed artificial intelligence / machine learning (AI/ML); no model runs here. The displayed counts come from fixed code rules over supplied example labels. A fixture is a prepared test dataset; synthetic means it is made up for the demonstration. No model responses or measured AI quality are displayed.

  1. Not implemented: labels supplied

    Suggest topics and possible copies

    Start with fixed rules using source history. AI/ML could suggest ambiguous topic and copy groups from text and its descriptive fields (metadata). Similar wording alone does not prove a common origin or that a claim is true.

  2. Origin checks: not implemented

    Check what each label means

    The prepared dataset supplies topic and original-item labels. Real suggestions would need source-history checks, quality testing, and withholding uncertain answers before counting. That checking process is not implemented.

  3. Implemented in the Python demo

    Count, compare, and save results

    Python computes counts, comparable shares, and review rules, then saves a consistent result before this page is exported. This webpage does not run ingestion or database writes. Proposed AI groups would change the counts and ordering, so they would need quality testing.

  4. Not implemented: optional

    Explain relevance for a marketer

    Given a marketer brief and eligible evidence, explain why a topic may fit a campaign and cite supporting excerpts. A human reviews the idea; no campaign is sent.

The saved example starts with supplied labels. The proposed AI stages are not invoked. Source excerpts and a structured marketer brief are absent from the prepared counting data. The retailer and campaign angle displayed above are hand-authored illustrations; they are not inputs to the ordering code or model outputs. Relevance and factual support have not been evaluated.

Inputs, evaluation, and failure behavior we would require
Before counting: avoid mistaking copies for growing support
Would use allowed text and its source history (provenance). Test known rewrites, quotations, and republished copies (syndication). Check both grouping mistakes and whether those mistakes change the recommendation. A score on pairs of examples alone is insufficient.
After counting: explain the candidate clearly
Would use a checked result set (snapshot), allowed source passages, and the marketer's business brief. Test whether claims are supported and relevant. Withhold an answer when support is insufficient (abstain). Citations alone do not establish support. Source text gets no tools that can access private data or send messages.
Separate failure paths
Proposed, untested behavior: an explanation failure leaves checked evidence available without explanation text. If grouping fails before counting, withhold new labels and keep the previous allowed saved result with its true age. A newly discovered topic still needs an earlier comparison period.
AI terms in plain language
Semantic matching and topic grouping
Group items by meaning, not just identical words. Items discussing the same topic are not necessarily copies of one original.
Provenance and canonical labels
Provenance is the evidence of where content came from. A canonical label is the stable ID we choose to refer to one item or group. Assigning that ID does not prove the grouping is correct.
False merge and missed copy
A false merge combines different originals and can hide support. A missed copy treats copied material as separate originals and can inflate support. Both can change which topic is recommended.
Schema checks versus grounding
A schema checks required fields and types. Grounding checks whether a claim is actually supported by the allowed source text. A well-formed response with a citation can still be wrong.
Marketer brief and eligible evidence
The brief is the supplied business goal, products, and intended audience. Eligible evidence is content we are allowed to use and that passes the required checks. Eligibility does not establish that every source claim is true.
Evaluation and held-out examples
Compare outputs with examples whose expected answers are known. Keep separate test examples, including later dates and related copy families, out of tuning. Passing these checks would not itself prove that marketers benefit.
Abstention
Withhold an answer when the evidence is missing, uncertain, or unsuitable instead of guessing.
Model, prompt, tokens, and latency
The model produces predictions or text; the prompt is its instructions and input. Tokens are text chunks used to measure model input/output and cost. Latency is the time spent waiting for a response. Track model and prompt versions to identify which configuration produced an output.
Replay and publication checks

Recorded replay and failure checks

  • New observations on repeated delivery: 0.
  • Previous feed retained after interrupted publication and database reopen: Yes.
  • Published snapshot (saved result version): 1; local publication time: 2026-10-27T20:36:50.458531+00:00.
Replay and idempotent ingestion
Deliver the same input records again with the same IDs and contents. The ingestion step adds no extra observations. This does not mean that every rerun of the whole program creates no new snapshot.
Snapshot and publication
A snapshot is a saved set of results treated as fixed. Publication makes a checked version the current feed by changing its stored version reference (pointer). Publication time is when Python saved the result, not when the source item was published or this page loaded.
Transaction and rollback
A transaction saves related database changes together or discards them together. The recorded test injects an error before promotion, so the partial new result is discarded (rolled back) and the previous feed remains after reopening the database. It does not demonstrate recovery from a killed process or concurrent publishers.

Actual results from this Python run. The comparison controls only reorder the displayed results; they do not execute ingestion or database transactions.

Scope, assumptions, and remaining limitations

The prepared data supplies topic and original-item labels and assumes complete source coverage. The retailer context is hand-authored. This prototype checks counting and saving results; it does not automatically discover copy relationships, measure live source completeness, test a model, fetch sources, or prove recovery across multiple machines.

One original is assigned to one topic and source group in this example. Blog and forum percentages contribute equally to the average; that is a chosen rule, not proof the sample represents the market. Original items about other topics and background content are included in the total (denominator); their selection needs validation on real data.

The retailer and campaign angle are fixed, hand-authored illustrations, not inferred customer intent or generated copy. No campaign is generated or sent. A candidate still requires the marketer's judgment and evidence of usefulness. Freshness is relative to the fixed replay clock, not a live service promise.