A customer is a ticket with a name on it, repeated

Every CRM measure comes from the same place: a ticket that could be attributed to a person. Recency is the date of the last one, frequency the count, monetary the sum, loyalty the points those tickets earned, and a campaign's lift the tickets that happened after the offer versus the tickets that would have happened anyway. If the ticket cannot be attributed, none of it exists. So the first fact in this dataset is not the customer; it is the capture.

The Cybex CRM & Loyalty dataset is five facts on one customer identity. One resolves who the customer is and what they have consented to; one holds every attributable ticket; one scores and segments; one keeps the loyalty programme as a ledger; one records lists, campaigns and the response to them. Nothing here is specific to one retailer or one loyalty provider: member ids, tier names, consent channels and points rules are mapped to generic values at load time, and the provider behind the ledger can change without the model changing.

Capture
At the till and online
The share of tickets carrying a customer is a first-class measure. A segment built on 5% capture describes 5% of the business.
Identity
One person, many keys
Member id, loyalty id, email, phone and web account resolve to one customer key with consent per channel.
Scores
Recomputed, dated
RFM, segment, lifetime value and churn risk are computed per period from the transaction fact and kept with their as-of date.
Lift
Against a control
A campaign's sales are attributed inside a window and compared with a held-out group, so the number is a lift, not a total.

Five facts, one customer identity

FactGrainQuestion it answersLoaded from
Customer identityOne row per resolved customer; one row per source key beneath itWho is this, how do we reach them, and may we?Member master, loyalty provider profile, web accounts, POS customer fields, consent records
Customer transactionOne row per ticket with a customer; lines beneath itWhat did they buy, where, when, from whom, and at what margin?Ticket fact and lines, product master, store master, seller, tender, campaign code
Scores and segmentsOne row per customer and scoring periodHow recent, frequent and valuable, which segment, what next?Customer transaction fact, scoring rules, model outputs
Loyalty ledgerOne row per customer and points eventWhat was earned, redeemed, adjusted and expired, and what is the balance?Loyalty provider events and the POS points calls, tier rules
Lists and campaignsOne row per list or campaign and customer; response events beneathWho was targeted, who was held out, who responded, and what did it earn?List builder output, campaign and event definitions, response and attributed tickets
Customer ledger tickets with a customer · member master · loyalty provider · web accounts · consent one identity: customer key, with ticket, event and campaign beneath it Identitycustomer × keyconsent, profile Transactionscustomer × ticketsales, margin, basket Scorescustomer × periodRFM, segment, LTV Loyaltycustomer × eventpoints ledger, tier Campaignscampaign · customertarget, control, lift BI: lists, matrix, profiles segments, capture, campaigns AI: score, predict, learn LTV, churn, next action

Figure: the five facts share the customer key; ticket, points event and campaign membership sit beneath it, so a list, a score and a response all point at the same person.

Generic dataset attributes

Attributes are grouped by role. BI marks the ones the list builder, CRM matrix and profile reports aggregate; AI marks the ones the scoring, prediction and recommendation models consume. Most are both.

Customer identity

GroupAttributesNotesUsed by
KeysCustomer key, Member id (site + number), Loyalty provider id, Web account id, Email hash, Phone hash, Source system, Match method, Match confidenceOne customer key per person; every source key kept beneath it with how it was matched. A merge is a new mapping row, never a delete.BIAI
ProfileName, Postal code, Region, Home store, Join date, Join channel, Birth month, Gender (if given), Language, Preferred store, Staff flagStaff customers are flagged so staff discounts and programme measures can exclude them.BIAI
ConsentEmail consent, SMS consent, Mail consent, Consent date and source per channel, Do-not-contact, Data-deletion request dateConsent is per channel and dated; every list and campaign is filtered by it at build time, not at send time.BIAI
StatusActive flag, Last activity date, Lifetime first purchase date, Lifetime tickets, Lifetime sales, Current tier, Current segment, Current LTV bandDenormalised from the other facts nightly for the list builder; the facts remain the source.BI
PrivacyPII masked flag, Retention class, Purpose codesAnalytical roles see hashes and bands; contact detail is exposed only to the campaign execution role.BI

Customer transaction

GroupAttributesNotesUsed by
IdentityCustomer key, Ticket number, Store, Channel (store, web, marketplace), Date, Time, Retail week, Cashier, Primary seller, Tender type, Campaign code, Coupon codeSame ticket identity as the sales and audit facts, so a CRM finding drills to the same row an auditor or a store manager sees.BIAI
BasketLines, Units, Net sales, Discount, Gross margin, Returns, Average unit retail, Departments in basket, Classes in basket, Private-label share, Programme item flagBasket composition is stored at line grain beneath the ticket so market-basket and cross-sell measures need no re-join.BIAI
CaptureCaptured flag, Capture method (loyalty scan, phone lookup, email, web login), Captured by employeeCapture rate by store, employee and channel is the health measure of the whole dataset.BI
SequenceTicket number in customer's history, Days since previous ticket, First-purchase flag, Store of first purchaseDerived once per load; inter-purchase interval is the backbone of recency and churn scoring.AI

Scores and segments

GroupAttributesNotesUsed by
IdentityCustomer key, Scoring date, Scoring window (start, end), Scope (chain, region, banner)Scores are dated. A segment without an as-of date cannot be compared with last quarter's.BIAI
RFMRecency days, Frequency (distinct tickets), Monetary (net sales), R score, F score, M score, RFM sum, Quintile bounds usedScores by quintile within the scope, so a regional segment is relative to its region. Bounds are stored with the scores so they can be reproduced.BIAI
SegmentSegment (champions, loyal, potential loyalist, new, promising, need attention, about to sleep, at risk, cannot lose, hibernating, lost), Previous segment, Segment change, Months in segmentThe eleven-segment scheme from the RFM essay, with movement between periods kept so migration can be reported.BIAI
ValueGross margin contribution, Margin rate, Discount dependency, Return rate, Average order value, Units per ticket, Lifetime value (observed), Predicted 12-month value, LTV bandMargin beside sales: a high-monetary customer bought entirely on markdown is a different segment in practice.BIAI
Risk and propensityChurn probability, Expected next purchase date, Days overdue, Next best category, Next best product, Cross-sell affinity scores, Channel propensityModel outputs with the model version, so a change in scoring is visible in the trend.AI
BehaviourPreferred store, Preferred day-part, Preferred category, Private-label affinity, Seasonal pattern, Full-price shareBehavioural clustering inputs, derived from the transaction fact.AI

Loyalty ledger

GroupAttributesNotesUsed by
IdentityCustomer key, Provider customer id, Event id, Event date and time, Event type (earn, redeem, adjust, expire, bonus, tier change), Source (POS, web, provider, manual), Store, Ticket numberA ledger, not a balance: the balance is the sum of events, and a provider change replays cleanly.BIAI
PointsPoints earned, Points redeemed, Points adjusted, Points expired, Running balance, Points value at redemptionEarned minus balance gives redeemed where the provider reports no redemption field.BIAI
TierTier at event, Tier rule (spend or points threshold), Tier start date, Tier expiry date, Progress to next tierTier names are provider-specific; the level number is generic.BIAI
Programme measuresProgramme tickets, Eligible tickets, Attach rate, Redemption rate, Breakage (points expired ÷ points earned), Liability (outstanding points × value), Cost of programme, Incremental marginAttach and redemption use eligible denominators; liability is a finance number and reconciles to the provider statement.BI

Lists and campaigns

GroupAttributesNotesUsed by
DefinitionList id, List name, Criteria (saved query), Built date, Sample size, Random sample flag, Campaign id, Campaign name, Event, Channel, Offer, Start date, End date, Attribution window (days), CostThe criteria are stored with the list so the selection is reproducible; a sample is a list with a random flag.BI
MembershipCustomer key, Group (target, control), Included date, Consent state at inclusion, Suppressed reasonEvery campaign holds out a control group at build time; suppressed customers keep the reason.BIAI
Delivery and responseSent, Delivered, Opened, Clicked, Redeemed, Responded (purchased in window), Response date, Response ticket, Response store, Response channelResponse is a ticket in the attribution window, linked by ticket number to the transaction fact.BIAI
ResultTarget response rate, Control response rate, Lift (percentage points), Attributed sales, Attributed margin, Incremental sales (target − control × target size), Cost per incremental sale, ROIIncremental, not attributed, is the number that decides whether the campaign is repeated.BIAI
Lift = ResponseRate(target) − ResponseRate(control)
IncrementalSales = (SalesPerCustomer(target) − SalesPerCustomer(control)) × TargetCustomers
Recency = days since last ticket  ·  Frequency = distinct tickets in window  ·  Monetary = net sales in window

Functional areas and what each reads

Functional areaReadsDeciding attributesBI outputAI output
Identity and captureIdentity, TransactionMatch confidence, capture flag and method, consent per channelCapture rate by store, employee and channel; duplicate and merge queue; consent coverageProbabilistic matching across keys; capture-lift targets per store
SegmentationScores, TransactionR, F, M scores, segment, margin rate, discount dependencySegment counts and value by period; migration matrix; segment by store and regionBehavioural clusters beyond RFM; segment-specific value forecasts
Lifetime value and churnScoresInter-purchase interval, expected next purchase, churn probability, predicted valueAt-risk and overdue lists; LTV bands by cohort; retention curves by join monthChurn prediction with drivers; predicted 12-month value; intervention timing
Loyalty programmeLoyalty ledger, TransactionPoints events, tier, attach, redemption, breakage, liabilityProgramme dashboard: members, active members, attach, redemption, liability, breakage; tier movementRedemption propensity; points-offer sizing to move a customer up a tier or back into activity
List building and targetingIdentity, Scores, TransactionSaved criteria, purchase history joins, consent, sampleVisual list builder: member lists, random samples, attribute write-back, event assignmentLook-alike expansion; propensity-ranked lists sized to budget
Campaigns and eventsLists and campaigns, TransactionTarget and control, attribution window, response tickets, costCampaign results: response, lift, incremental sales and margin, ROI; event attendance and spendOffer selection per segment; send-time and channel choice; expected lift before send
Market basket and cross-sellTransaction (lines)Departments and classes per basket, affinity scores, private-label shareBasket composition by segment; what sells with what; category penetration per customerNext best category and product; bundle and cross-sell recommendations
ClientelingIdentity, Scores, TransactionPreferred store and seller, next best action, last purchase, tierCustomer profile card for the store: history, preferences, points, open offersNext best action per customer for the associate; outreach prioritisation

Rules the dataset carries

Identity and consent

  • One key, many sources. Source ids map to one customer key with the method and confidence recorded; merges add mappings and never delete history, so a mistaken merge can be undone.
  • Consent is checked at build time, per channel. A list carries each member's consent state as of inclusion; a campaign cannot target a channel the customer has not agreed to.
  • PII stays with execution. Analytical facts carry hashes, bands and keys; names and contact detail are exposed only where a campaign is executed.
  • Capture is measured before anything is inferred. Every customer measure is reported with the capture rate it rests on, so a "no customer" flag reads as a capture gap where capture is low.

Scoring and programme

  • Scores are dated and scoped. RFM quintiles are computed within the scope and window, the bounds are stored, and segment movement between periods is kept.
  • Margin beside monetary. Value scores carry gross margin and discount dependency so a markdown-only customer is not mistaken for a champion.
  • The programme is a ledger. Balance, redeemed and breakage are derived from events; a provider change replays the ledger rather than restating a balance.
  • Eligible denominators. Attach and redemption rates divide by customers or tickets that could have attached or redeemed, not by everything.

Attribution

  • Every campaign holds out a control. Lift and incremental sales are differences against the control group; attributed totals are reported but never presented as the result.
  • A response is a ticket. It is linked by ticket number inside the attribution window, so campaign results reconcile to the sales fact and can be drilled to the line.
  • Staff and returns are excluded from lift. Staff customers and returned tickets are flagged out of response rates.

Process workflow

The customer cycle runs on two clocks: nightly for capture, identity and scoring, and per campaign for targeting and measurement. The Hub runs the nightly loop unattended; marketing and the stores run the middle; the AI layer scores ahead of the list and measures behind the campaign.

01
Capture
Loyalty scans, lookups, web logins and sign-ups put a customer on the ticket; the provider posts points events.
02
Resolve
Nightly: source keys matched to one customer key; consent refreshed; capture rate and match queue reported.
03
Score
RFM, segment, value, churn and next-best scores computed for the period and dated; migration recorded.
04
Target
Lists built from criteria and scores with consent applied; a control group held out; the list saved with its definition.
05
Offer
Offer, channel and timing chosen per segment; expected lift estimated before the send.
06
Execute
Campaign or event runs; deliveries, opens, redemptions and response tickets land against the membership rows.
07
Measure and learn
Lift and incremental margin versus control; results feed the next offer selection and the scoring models.

Cadence

WhenStepOutputOwner
ContinuousCaptureCustomer on ticket; points events from the providerPOS, web, loyalty provider
NightlyResolve, scoreIdentity mappings, consent, capture rate, dated scores and segments, ledger balancesAI Data Hub
Per campaignTarget, offer, executeList with control, offer plan, deliveries and responsesMarketing
WeeklyProgramme and capture reviewAttach, redemption, liability; capture by store and employeeMarketing, store operations
Campaign close plus windowMeasureLift, incremental sales and margin, ROIMarketing, finance
QuarterlyLearn and tuneSegment migration review, model refresh, offer library updateMarketing, data science

Where BI ends and AI begins

BI on the customer dataset

QuestionWho bought, how often, what did the campaign return
UnitCustomers, tickets, points, lift
SurfaceList builder, CRM matrix, profile card, programme dashboard
RulesConsent, control groups, eligible denominators
OutputA list and a result

AI on the same dataset

QuestionWho will lapse, what to offer, what it will earn
UnitProbabilities, predicted value, recommendations
SurfaceScored lists, next-best-action cards, insight pages
RulesLearned from response and margin
OutputA ranked list with an expected lift

Both read the same five facts. The segment a marketer selects in the list builder is the segment the churn model scored, and the response the campaign report shows is the ticket the sales fact already holds.

What a conforming dataset delivers

Target outcomes from a CRM & Loyalty dataset deployment

Customer measures that state their coverage. Every segment, LTV and programme number is reported with the capture rate beneath it, so the business knows what share of trade it describes.

Campaigns measured as lift. Control groups are built in, responses reconcile to tickets, and the result is incremental margin rather than attributed sales.

A programme you can change. The loyalty ledger is provider-independent, so a switch of provider replays history rather than losing it.

5
Facts on one customer identity
11
RFM segments, dated and scoped
Control
Held out on every campaign

Deployment approach

01
Map identity and consent · Week 1

Inventory every customer key (member, loyalty, web, POS fields), define the match rules and confidence levels, and map consent channels and the loyalty provider's event types to the ledger.

02
Load transactions and ledger · Weeks 2–3

Build the identity and customer-transaction facts from the ticket fact, replay the loyalty ledger, and publish capture rate, programme dashboard and the list builder over the resolved keys.

03
Score and segment · Week 4

Compute dated RFM scores and the eleven segments, add margin and discount dependency, and publish segment counts, migration and the at-risk list. Train the first churn and value models on the history.

04
Close the loop · Weeks 5–6

Run the first campaign with a control group, measure lift against the transaction fact, connect next-best-action to the profile card, and start the quarterly model and offer review.