Campaign opportunity demo

Campaign opportunities for your shop.

Choose a relevant idea in time to act. Review the trend, supporting evidence and fit for your products before sending.

Example retailer: a Toronto costume shop selling pirate hats, eye patches, and face paint.

Campaign goal: choose a useful pre-Halloween email idea for local subscribers.

Saved pre-Halloween scenario: October 24–26, 2026. Synthetic observations, not live Toronto trend data.
Compare Earlier day: Oct 24 → Latest day: Oct 25 (UTC). Each is one full day, midnight to midnight. These are saved dates, not yesterday and today.

Your trend dashboard

See all topics at a glance, then inspect an idea before considering a campaign.

4 saved example topics 1 candidate for review 2 scored source groups

Scored sources: X (Twitter), Reddit. Charts compare Oct 24 and Oct 25 (UTC) on the same 0–10% scale. Share means the topic’s percentage of collected originals, averaged equally across source groups—not market-wide demand.

DIY pirate costumes: feature accessories from your catalog

Candidate for review

2 → 16 supplied original items

Topic share grew faster than the collected sample. Check business fit before using the idea.

Inspect this topic’s evidence

A topic with more posts over time, but the same share of collected posts

Not flagged as emerging

8 → 16 supplied original items

More original items do not establish an emerging trend when the topic’s share stays flat.

Inspect this topic’s evidence

Repeated copies of posts about giving away costumes

Hold back: too little support

6 → 3 supplied original items

Repeated delivery records do not count as new original posts. After removing repeated copies, too few original items remain to recommend this topic.

Inspect this topic’s evidence

A topic with no posts observed in the earlier period

Newly observed: growth not assessed

0 → 6 supplied original items

No earlier originals were collected for this topic. We cannot calculate a growth ratio from zero.

Inspect this topic’s evidence
Worth reviewing

Finish your pirate costume

DIY pirate costumes are gaining attention in this saved example. Consider an email featuring pirate hats, eye patches, and face paint you already stock.

Origins (original evidence items): 2 → 16
Share of collected originals: 2.0% → 8.0%

Illustrative fit for a Toronto costume shop. Check your stock, local audience, and delivery or pickup timing 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 X and Reddit. 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.

Halloween is seasonal; the example compares attention to one costume style before the holiday. Two days of growth do not establish an unusual seasonal trend or customer demand.

Toronto, the local audience, and stocked products are supplied scenario assumptions. The demo does not infer location, check inventory, establish factual credibility, or measure campaign performance.

Preview campaign draft

Draft preview — illustrative. This prewritten sample shows an optional starter draft in Mailchimp’s existing campaign workflow. No model generates this text and no Mailchimp account is connected.

Proposed handoff: pass the selected trend, supporting sources and campaign angle into Mailchimp. Optional starter copy uses details supplied by the owner or an authorized store connection. The native editor integration still needs validation.

Example audience: Toronto-area subscribers interested in costumes. The shop owner must confirm the recipient group and permission to contact them.

What the shop owner checks before using this draft

  • Read the supporting posts and check whether they justify the suggested campaign angle.
  • Confirm that this topic is relevant to the selected subscribers.
  • Verify that the featured products are in stock and can arrive or be collected before Halloween.
  • Continue in Mailchimp to edit the subject, message and product links, select or confirm recipients, complete readiness checks, and explicitly send or schedule. The trends service does not send automatically.

This static preview neither creates a saved Mailchimp draft nor sends email. The topic, audience, products and copy are supplied examples; sales impact has not been measured.

Hold back

Hold back copied costume-giveaway hype

100 recorded observations come from just 3 supplied origins.

Share of collected originals: 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.

Copies do not add independent originals. Verified redistribution could help us prioritize attention, but this demo does not use it to promote a topic.

Explore trends

Choose a topic to compare its two saved days and understand our decision. All four examples use synthetic data, not live trend discovery.

Share means the percentage of original items about this topic within each collected source group; the chart averages the source-group percentages equally. Counts below combine those groups. Neither measure covers all posts on the internet.

DIY pirate costumes: feature accessories from your catalog

Candidate for review

Our System’s Interpretation

The topic’s share rose from 2.0% to 8.0% and passes the example support and growth thresholds. It becomes a candidate for review.

Counts use supplied original-item labels, not verified audience reach. Two days do not establish sustained demand or local subscriber interest.

See how the source percentages were calculated
Topic originals out of all collected originals in each source group.
Source groupOct 24Oct 25
X (Twitter)1 of 50 (2.0%)8 of 100 (8.0%)
Reddit1 of 50 (2.0%)8 of 100 (8.0%)

A topic with more posts over time, but the same share of collected posts

Not flagged as emerging

Our System’s Interpretation

Topic share stayed at 8.0%. It does not pass the example growth threshold, even if the number of posts increased.

Counts use supplied original-item labels, not verified audience reach. Two days do not establish sustained demand or local subscriber interest.

See how the source percentages were calculated
Topic originals out of all collected originals in each source group.
Source groupOct 24Oct 25
X (Twitter)4 of 50 (8.0%)8 of 100 (8.0%)
Reddit4 of 50 (8.0%)8 of 100 (8.0%)

Repeated copies of posts about giving away costumes

Hold back: too little support

Our System’s Interpretation

100 delivery records map to only 3 supplied original items, below the example minimum of five. Delivery records are not a verified repost or reader count.

Counts use supplied original-item labels, not verified audience reach. Two days do not establish sustained demand or local subscriber interest.

See how the source percentages were calculated
Topic originals out of all collected originals in each source group.
Source groupOct 24Oct 25
X (Twitter)3 of 50 (6.0%)2 of 100 (2.0%)
Reddit3 of 50 (6.0%)1 of 100 (1.0%)

A topic with no posts observed in the earlier period

Newly observed: growth not assessed

Our System’s Interpretation

We collected no originals for this topic on Oct 24. A growth ratio cannot be calculated from zero; more comparable observations would be needed before applying that rule.

Counts use supplied original-item labels, not verified audience reach. Two days do not establish sustained demand or local subscriber interest.

See how the source percentages were calculated
Topic originals out of all collected originals in each source group.
Source groupOct 24Oct 25
X (Twitter)0 of 50 (0.0%)3 of 100 (3.0%)
Reddit0 of 50 (0.0%)3 of 100 (3.0%)

Return to the campaign example

Social feed examples — synthetic, not live

The scored synthetic dataset represents X (Twitter) and Reddit posts. These are example records, not data fetched from either platform. The captions illustrate the source formats and are not used for text extraction or grouping. No social account is connected. TikTok is not included in the scores.

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. Here, the source groups represent X posts and Reddit community posts. 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 X and Reddit 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.

Topic and what happenedRecorded observationsOriginal items (origins)Topic share of collected originals
Oct 24 → Oct 25
Our System’s Interpretation
DIY pirate costumes: feature accessories from your catalogThis topic gained a larger share of our collected originals and passes the example support rule.
16
16
2 in baseline
2.0% → 8.0%
4.00× the earlier share
Worth reviewing
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 day: Oct 24 (UTC)
Topic origins out of all origins
Latest day: Oct 25 (UTC)
Topic origins out of all origins
X (Twitter)1 of 50 (2.0%)8 of 100 (8.0%)
Reddit1 of 50 (2.0%)8 of 100 (8.0%)

For each period, the report averages the X and Reddit 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.

A topic with more posts over time, but the same share of collected postsThe count rose, but this topic did not gain a larger share of our collection. We do not shortlist it as emerging.
16
16
8 in baseline
8.0% → 8.0%
1.00× the earlier share
Flat share: not emerging
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 day: Oct 24 (UTC)
Topic origins out of all origins
Latest day: Oct 25 (UTC)
Topic origins out of all origins
X (Twitter)4 of 50 (8.0%)8 of 100 (8.0%)
Reddit4 of 50 (8.0%)8 of 100 (8.0%)

For each period, the report averages the X and Reddit 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.

Repeated copies of posts about giving away costumesRepeated copies do not supply enough independent original items to pass the example rule.
100
3
6 in baseline
6.0% → 1.5%
0.25× the earlier share
Too few originals: hold back
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 day: Oct 24 (UTC)
Topic origins out of all origins
Latest day: Oct 25 (UTC)
Topic origins out of all origins
X (Twitter)3 of 50 (6.0%)2 of 100 (2.0%)
Reddit3 of 50 (6.0%)1 of 100 (1.0%)

For each period, the report averages the X and Reddit 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.

A topic with no posts observed in the earlier periodWe found no originals for this topic on Oct 24, so we cannot calculate a growth ratio.
6
6
0 in baseline
0.0% → 3.0%
Cannot calculate growth
No prior posts: no growth ratio
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 day: Oct 24 (UTC)
Topic origins out of all origins
Latest day: Oct 25 (UTC)
Topic origins out of all origins
X (Twitter)0 of 50 (0.0%)3 of 100 (3.0%)
Reddit0 of 50 (0.0%)3 of 100 (3.0%)

For each period, the report averages the X and Reddit 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 supplied examples; 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-11-02T01:31:44.792762+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 supplied for this example. 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. X and Reddit 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 Toronto retailer, local audience, stocked accessories, and campaign angle are fixed examples supplied for this demonstration, not inferred customer intent, verified inventory, geolocation, 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.