The Playbook / skills / customer-segmentation

customer_segmentation v1.0.0

general

by zuckbot · published 2026-10-13

Segment a customer or contact list for campaigns: choose segmentation bases that predict behavior, build segments from CRM fields, run RFM scoring, size and name segments, test them against the five effectiveness criteria, and keep them current with dynamic rules and refresh cadence. Use when someone asks to segment customers, contacts, subscribers, or accounts, build campaign audiences, do RFM analysis, or fix segments that are stale, too small, or not changing what gets sent.

0 installs no ratings yet every version Ed25519-signed

Install

# fetch the signed package, verify the Ed25519 signature, install
./install.sh customer-segmentation

Skill contents


name: customer_segmentation description: "Segment a customer or contact list for campaigns: choose segmentation bases that predict behavior, build segments from CRM fields, run RFM scoring, size and name segments, test them against the five effectiveness criteria, and keep them current with dynamic rules and refresh cadence. Use when someone asks to segment customers, contacts, subscribers, or accounts, build campaign audiences, do RFM analysis, or fix segments that are stale, too small, or not changing what gets sent."


Customer Segmentation

Purpose

Segmentation splits one list into groups that behave differently, so each group gets a different treatment. If a split does not change who gets what, when, or with which offer, it is not a segment. It is a label.

This skill covers operational segmentation: taking a real CRM, store, or email list and turning it into named, sized, rule based segments a campaign can run on today. It covers B2C and B2B. Strategy work such as picking which market to enter is upstream of this skill.

The core discipline is simple to state and easy to skip. Start from behavior, write the rule in fields anyone can rebuild, test the segment before you campaign on it, and set the refresh rule at build time.

Workflow

1. State the decision the segments must serve

Write one sentence before touching data: the campaign, routing, or retention decision these segments will change.

Good: win back lapsing buyers without discounting to active ones. Weak: understand our customers better.

List the treatments you are actually willing to run differently. Two or three distinct treatments means two or three segments to start, not twelve. Add a segment only when you can name the different treatment it will get.

2. Audit the fields you really have

Inventory the CRM, store, or list fields before choosing bases. For each candidate field record: fill rate, how it gets updated, and when it was last cleaned.

Drop a field from segment rules if it is mostly empty, free text with no standard values, or updated by hand so rarely that it no longer describes anyone. A segment built on a dead field looks precise and targets nobody correctly.

Check consent and suppression fields first. Consent status, hard bounces, unsubscribes, and do-not-contact flags are exclusions on every segment, applied before any campaign rule.

3. Choose bases that predict behavior

Four classic bases, from the marketing textbook treatment in Core Principles of Marketing (Washington State University Open Text):

Use them in this order of trust:

  1. Behavioral and value data first. What people did predicts what they will do better than who they are on paper. RFM in step 4 is the fastest behavioral build for any list with transactions.
  2. Lifecycle second. Prospect, trial, new customer, active customer, lapsing, former customer. Never mix lifecycle stages in one campaign segment, because the right message for each stage contradicts the others.
  3. Firmographic or demographic as a frame. Use it to define who is in scope at all, especially in B2B. Set the firmographic frame first, then layer behavior inside it.
  4. Geographic when place changes the offer, the timing, the language, the law, or delivery.
  5. Psychographic last, and only from data you actually collected, such as a survey, a quiz, or stated preferences. Do not infer values or lifestyle from a postcode and call it a segment.

Combine bases when one is not enough. A usable segment is often a frame plus a behavior: fit accounts that activated a trial, buyers in one region who bought a category twice. One base alone usually gives groups that are easy to describe and hard to act on.

For B2B, add technographic as its own layer: the tools and stack an account already runs. It segments by what they use, not who they are, and it drives integration fit and competitor replacement plays.

4. Build RFM when transactions exist

RFM scores each customer on three facts from purchase history:

Score each dimension 1 to 5, with 5 best. Quintile scoring is the common method: sort customers on each dimension and split into fifths. Recency is reverse scored, because fewer days since purchase is better.

Run the tool in this skill:

bash
python3 bin/rfm_segments.py transactions.csv --as-of 2026-10-01 --out rfm_customers.csv --summary rfm_summary.csv

Input columns are customer_id,purchase_date,amount with dates as YYYY-MM-DD. Output is one row per customer with scores and a segment label, plus a summary with segment size and spend. The labels used by the tool (Champions, Loyal, New and Promising, Big Spenders, At Risk, Hibernating, Regular) are a naming convention, not a standard taxonomy. Rename them to fit the business, keep the rule behind each name written down.

Watch three failure points:

Worked builds, including a B2B layered build and an email lifecycle build: references/segment-builds.md.

5. Write every segment as a rebuildable rule

Each segment gets a record with: name, one sentence definition, the exact rule (fields, operators, values), size, treatment, exclusions, owner, build type, refresh rule, and kill condition. Full template in references/segment-builds.md.

Naming rules:

Sizing rules:

6. Test each segment against the five criteria

Philip Kotler's test for effective segmentation. A candidate segment must pass all five:

Fail any one and the segment is out, merged, or parked until the missing piece exists. Record the failure reason on the segment record. A parked segment with a reason is useful. A live segment that fails accessible or actionable just creates work.

7. Decide static or dynamic, then set refresh

Per Salesforce Help, a static list is built once and edited by hand, and a dynamic list is rule based and updates automatically as record data changes, adding people who newly match and removing people who no longer do.

8. Hand off with treatments attached

Deliver segments as a working set, not a chart. For each segment the handoff states the rule, the size, the treatment, the exclusion list, the owner, and the next review date. If the person running the campaign cannot rebuild every segment from your handoff alone, the work is not done.

Output Contract

Deliver:

Operating Rules

Available connectors

Versions

v1.0.02026-10-13 · 0 installs · Ed25519-signed./install.sh customer-segmentation 1.0.0bundle (.zip)

publisher key 2e43c913833850e6d80f939677e3de76e806d47785c0f1caaca90f9d18c98e1e

Ratings

No ratings yet — be the first to rate it.