Customer Purchase Frequency Patterns

This dataset provides a comprehensive view of customer purchase frequency patterns, including total purchases, recency, spending, and lapsed status. It is designed to support marketing optimization, retention analysis, and win-back campaign targeting by offering actionable insights into customer engagement and churn risk.

  • opened 6 times
  • last updated 21 Jul 2025
  • by GoMask
The brief that made it

Identifying lapsed customers for win-back marketing campaigns

Sample rows

preview · 8 of 120 rows · all 19 columns
customer_idstringlapse_reasonstringtotal_spentfloatwinback_campaign_eligiblebooleanregionstringemailstringfirst_namestringlast_namestringsignup_datedatelast_purchase_datedatetotal_purchasesintegeraverage_purchase_valuefloataverage_days_between_purchasesfloatis_lapsedbooleanpreferred_channelstringcitystringstatestringpostal_codestringcountrystring
C00001n/a2478.33falseEuropemarina.dupont19@orange.frMarinaDupont2022-11-082023-11-123375.111.1falseemailLilleHDF59000France
C00002n/a58.97falseNorth Americajason_richards23@gmail.comJasonRichards2021-02-162024-04-19229.49blankfalsesmsDenverCO80205USA
C00003churned3249.5trueAsian.murakami@outlook.jpNaokoMurakami2017-08-272023-04-0229112.0525.7trueemailNagoyaAichi460-0008Japan
C00004n/a0falseEuropel.martens@telenet.beLotteMartens2023-03-12blank00blankfalsenoneGentOVL9000Belgium
C00005n/a23.45falseAsiaduy.nguyen2000@gmail.comDuyNguyen2020-07-142024-02-18123.45blankfalsesmsHanoiblank100000Vietnam
C00006inactivity963.2falseAfricasamira_abdi@orange.ciSamiraAbdi2019-05-102023-02-221468.833.2truepostalAbidjanblank22501Ivory Coast
C00007n/a6450.75falseEuropetomislav.kovac23@inet.hrTomislavKovač2016-10-312024-05-018476.815.5falseemailSplitSplitsko21000Croatia
C00008n/a71.25falseSouth Americaluciana.salazar@outlook.com.arLucianaSalazar2022-08-202023-12-15323.7561.5falseemailBuenos AiresCABAC1007Argentina

What the 120 rows show

from the 120-row sample

Churned (lapse reason) stands out: 12 of its 13 rows have winback_campaign_eligible = true, against 11 of 107 for the rest.

  • 19%winback_campaign_eligible = true
  • 85.7median total_spent
  • 5preferred channels
  • 3median total_purchases
  • 32.3median average_purchase_value
  • 43.2median average_days_between_purchases
Winback campaign eligible rate by lapse_reasonwinback_campaign_eligible = true
0%50%100%0%inactivi…0 of 1692%churned12 of 1365%unknown11 of 170%n/a0 of 74

Churned (lapse reason)'s mean total_spent is 3,908, against 97.9 for inactivity, 586.5 for unknown and 1,748 for n/a.

total_spent120 rows, in bands of 2,000
050100921443221011010k20ktotal_spent →

Median 85.7, from 0.0 to 18,523.

region120 rows · 7 values
  1. Europe56
  2. Asia15
  3. Africa13
  4. North America12
  5. South America12
  6. Oceania7
  7. Central America5
19 columns by typefrom the column list below
  • string 11
  • integer 1
  • float 3
  • date 2
  • boolean 2

Columns

19 columns in four groups
blueprint · 19 columns
columntypedescriptionexample
Text 11 columns
customer_idstringUnique identifier for each customeruniqueC00001
emailstringCustomer's email addressuniquen.murakami@outlook.jp
first_namestringCustomer's first nameMarina
last_namestringCustomer's last nameDupont
lapse_reasonstringReason for lapse if customer is lapsed (e.g., inactivity, churned, etc.)inactivity · churned · unknown · n/a · optionaln/a
preferred_channelstringCustomer's preferred marketing communication channelemail · sms · phone · postal · none · optionalemail
regionstringGeographic region associated with the customer7 regions · optionalEurope
citystringCity of the customeroptionalLille
statestringState or province of the customeroptionalHDF
postal_codestringPostal or ZIP code of the customeroptional59000
countrystringCountry of the customeroptionalFrance
Numbers 4 columns
total_purchasesintegerTotal number of purchases made by the customer0 or more33
total_spentfloatTotal amount spent by the customer across all purchases0 or more2478.33
average_purchase_valuefloatAverage value of a single purchase by the customer0 or more · optional75.1
average_days_between_purchasesfloatAverage number of days between purchases for this customer0 or more · optional11.1
Dates and times 2 columns
signup_datedateDate the customer first registered or made a purchase2022-11-08
last_purchase_datedateDate of the customer's most recent purchaseoptional2023-11-12
True or false 2 columns
is_lapsedbooleanIndicates if the customer is considered lapsed based on business criteriafalse
winback_campaign_eligiblebooleanIndicates if the customer is eligible for a win-back marketing campaignfalse

Use it for

  • winback campai…19%23 of 120 rowsmean total spent by l…97.9inac…3.9kchur…586.5unkn…1.7kn/a

    A marketing dashboard

    The winback_campaign_eligible rate, total_spent by lapse_reason and a breakdown of region. Excel, Power BI or Tableau.

  • Why do 23 of 120 rows have winback_campaign_eligible = true?

    A root-cause class exercise

    Hand out the rows and one question. The answer is in the data, not in the brief.

  • A software demo

    Believable customers with email, first_name and last_name to fill a screen in front of a buyer.

Not quite right?

Make it yours.

Same 19 columns, your size and your rules. See 20 rows before you pay.

Preview 20 rows free

1,000 rows: $1.99 · 10,000: $12.99One-time. No subscription. All prices

This dataset120 rows19 columns
Yours1,000 rows19 columnsregion: UK only

blueprint · customer-purchase-frequency-patterns

Behind this dataset

Same schema. As many rows as you need.

These 120 rows came out of a blueprint — 19 columns with generation rules behind each one. Open it in Data Factory to retune a column, add your own, wire in foreign keys, and run it at the size you actually need.

Rules it was built with
  • Each customer has a unique ID
  • Purchase frequency calculated per month
  • Flag customers inactive for 90+ days
  • Calculate average order value for active customers
  • Segment customers by purchase frequency
Rows
Open the blueprint in Data Factory

1 credit per row. Preview 20 rows free. Buy rows for the full run.

Exports
CSV, JSON, JSONL, Parquet, SQL, Excel, TSV, XML
Licence
yours to use, including commercially
API slug
customer-purchase-frequency-patterns

What should your data show?

Preview 20 rows free
No signup. No card.