Free browser-based ML tool

Customer Segmentation Tool

Create customer groups from CSV features or transaction-based RFM data. Standardize features, inspect K-Means group profiles, and export customer labels.

Free to useNo upload or sign-inRuns entirely in your browser
Live calculationPowered by @kanaries/ml

Data stays in this tab. Limits: 2,000 rows, 30 columns; customer clustering: 500 customers and 12 features.

Choose columns, then calculate. Changing an input hides the previous result until you run again.

Preview input (12 rows)
customer_idrecency_daysordersspend
0014151200
0027121000
0033181500
00460290
00590140
006752110
007206400
008255350
009187480
0108131150
01185160
012226420

Build segments from a checkable customer table

Use feature mode for one unique customer per row. Every non-ID column must be a numeric feature, so remove names, notes and labels before fitting. Alternatively, choose transaction mode and map customer ID, date and amount columns to build recency, frequency and monetary totals.

Inspect profiles before naming groups

The model standardizes features and fits K-Means with seed 42, five initializations and up to 60 iterations. Read customer counts and average raw features for every group. The chart shows the first feature against cluster ID; it is a partial view of the fitted feature space, not a complete separation plot.

Keep the observation window consistent

RFM depends on the reference date and input history. Deduplicate orders, use a single currency and handle refunds before importing. Export prepared feature rows with customer IDs and labels for review. The generated code starts from that prepared matrix; JavaScript and scikit-learn can choose different local minima despite equivalent settings.

Work through a practical example

Customer Segmentation from a CSV: An RFM Walkthrough explains the input, assumptions and expected output. Continue with RFM Scoring vs K-Means: Which Customer Groups Can You Explain? to compare methods and interpret results.

Frequently asked questions

Questions about customer segmentation tool

How is RFM calculated?

Recency is days since the last transaction relative to an explicit UTC date. Frequency counts transaction rows, and monetary value sums nonnegative amounts. Use one currency and deduplicate orders first.

Does group 0 mean low-value customers?

No. Cluster numbers are arbitrary labels. Read the group sizes and original-unit feature means before assigning a business description.

Why standardize the features?

Population standardization puts numeric features on comparable scales. A constant feature becomes zero. This does not fix skew, redundant features or a poorly chosen observation window.

Is my CSV uploaded?

No. Parsing, fitting and chart rendering run in this browser tab. Files are limited to 1 MB, 2,000 rows and 30 columns; clustering also limits the input to 500 customers and 12 features.

Powered by @kanaries/ml — the scikit-learn-style ML library for JavaScriptnpmGitHub