Trendmill

How the numbers work

How Trendmill reads each piece, builds the category mean and decides when it knows enough to say something.

Every number in Trendmill can be traced back to the emails, ads and posts behind it. This page explains how those numbers are made, so you can explain them to someone else.

Reading each piece

When a piece arrives, Trendmill screenshots it and an AI model reads it for:

  • the content type, such as a promotion, a product launch, a newsletter, a welcome or a back-in-stock alert
  • the retail moment it's built around
  • the offer, in the brand's words, with any discount depth, code and end date
  • the products, the calls to action, the tone and the layout
  • the techniques it uses (below)

Each piece is also turned into an embedding: a numeric fingerprint of its meaning. Embeddings power Similar search in the Library, the closest real sends in Score, and distinctiveness.

Techniques

Trendmill flags twelve persuasion techniques on every piece:

TechniqueWhat it means
PersonalisationUses the reader's name, history or preferences
Dynamic contentContent that changes per reader or at open time
Social proofPopularity, bestsellers, "everyone's buying"
UGCCustomer photos or content
ReviewsRatings or quoted reviews
Celebrity / collabA famous face, influencer or brand collaboration
ScarcityLimited stock or limited editions
Countdown timerA live timer
DeadlineA stated end date or time
CuriosityA hook that withholds the payoff
GamificationSpin-to-win, scratch cards, quizzes
GIF / animationAnimated imagery

Technique shares are worked out over analysed pieces only. A piece that hasn't been analysed yet is left out of the count. It is never counted as "no".

Offers and discount depth

A piece carries an offer when it states one. Discount depth is the percentage off the brand states; offers without a stated percentage, such as free shipping or a gift with purchase, count as offers but have no depth. Promo rate is the share of emails carrying an offer.

Pulse shows the typical discount: the median of stated discounts, so one 70%-off clearance email doesn't drag the number up. Brand pages and industry benchmarks show the average discount across offer emails, so they can be compared with each other.

Days live

For ads, first seen and last seen are the first and last days we saw the ad live in the platform's public library. An ad still in the library is running. Days live measures how long an ad ran, not what was spent on it.

The category mean

Every night, for each category, Trendmill builds a benchmark from the category's emails:

  • the centre of the category: the average of every email's embedding
  • how far emails typically sit from that centre
  • the average and spread of each measured trait, such as subject length or reading grade
  • the clichés: phrases this category uses far more often than retail as a whole

Benchmarks use email only today, because every retail brand emails and that compares like with like.

Distinctiveness

The distinctiveness percentile (0–100) is the share of the category's real emails that sit closer to the category's centre than the piece, draft or brand being measured. 90 means more distinctive than 90% of the category. 10 means more generic than 90% of it.

A trait counts as unusual when it sits more than two standard deviations from the category's average.

When Trendmill knows enough

  • A category with fewer than 30 emails isn't scored. Score refuses and suggests a category it can score.
  • Confidence is high at 100 or more items, medium from 30 to 99, and low below that.
  • While a benchmark is being rebuilt, Score waits rather than compare a draft with a half-built mean.
  • Counts are exact counts of what we hold, never estimates.

What Trendmill can't see

  • Brands we don't track. A missing brand is absent, not quiet.
  • Anything before tracking started. A brand's history begins when we began capturing it.
  • Spend and performance. No platform publishes them. Days live is the closest public signal.
  • Personalised sends. We see what a new subscriber receives, not what a brand sends its loyal customers.

On this page