Crafte Sessions analysis 2026 09 29 2026 10 29
sessions_analysis-2026-09-29-2026-10-29.csv · 2,246 rows · 15 columns · definition v3 saved 29 Oct 2026 14:08
Segments v8 built 29 Oct 2026 13:10 on feature set v4
What to do
From these segments' numbers. Setting buttons fill in the Build segments tab (then Build segments); merge buttons change the table below (then Save labels, no refit).- Worth doingFix the number of segments at 7
The score kept improving up to the most you allowed (10), but 3 of those segments are tiny: the extra ones mostly split off a few odd snapshots rather than finding new groups. Fixing it at the 7 that matter gives steadier segments.
- Worth doingS8, S9, S10 are very small (1 to 16 snapshots)
Under 30 snapshots, a segment's rates swing with a couple of people, and here the fit is mostly splitting off a few odd snapshots. Merge each into the segment it's most like (S8 → S3, S9 → S6, S10 → S6). Keep one only if it's a group you specifically care about.
- Fine as isUnknowns: 1.0% of snapshots
A small unknown share means nearly everyone fits a segment, while the odd ones aren't forced in.
- Fine as isordered: use S6, S3, S7 as the targets on Outcomes
S6, S3, S7 hold 50% of ordered in 13% of the snapshots (3.8× the overall rate). Leaving out S2, S1 (72% of snapshots) would also leave out 29% of ordered: that's the trade-off of the reduction.
Outcome concentration
Share of each segment's snapshots whose entity eventually had the outcome. Lift = rate ÷ overall rate.- S6 has the highest rate: 19% for ordered, 5.0× the overall 3.8%.
- Rate: share of a segment's snapshots whose entity eventually had the outcome. Everyone together: 3.8% for ordered.
- Lift = rate ÷ overall rate. S6 has 19% for ordered, so 5.0× the average; above 1 is better than average.
- Captured: the segment's share of all the outcomes (each Captured column adds to 100%). Compare it with Share: S1 is 61% of snapshots and holds 24% of ordered, so it dilutes it.
- Segments that capture much more than their share are the ones to take to Outcomes as targets.
| Segment | Snapshots | Share | ordered | ||
|---|---|---|---|---|---|
| Rate | Lift | Captured | |||
| S1 | 1,364 | 60.7% | 1.5% | 0.4× | 24% |
| S2 | 259 | 11.5% | 1.5% | 0.4× | 5% |
| S4 | 199 | 8.9% | 3.5% | 0.9× | 8% |
| S3 | 194 | 8.6% | 14.4% | 3.8× | 33% |
| S5 | 88 | 3.9% | 3.4% | 0.9× | 3% |
| S6 | 68 | 3.0% | 19.1% | 5.0× | 15% |
| S7 | 32 | 1.4% | 6.2% | 1.6× | 2% |
| S8 | 16 | 0.7% | 0.0% | 0.0× | 0% |
| S9 | 2 | 0.1% | 0.0% | 0.0× | 0% |
| S10 | 1 | 0.0% | 0.0% | 0.0× | 0% |
| Unknown: fits no segment | 23 | 1.0% | 34.8% | 9.1× | 9% |
| Everyone | 2,246 | 100% | 3.8% | ||
How each segment differs
Average of each input, in standard deviations from everyone. Red higher, blue lower.landingPage=/product/79-chocolate-fruit-cake-500g-boxed separates the segments most: from -0.2 sd in S1 to +5.0 sd in S5.- Each column is a segment and each row an input. A cell is how far the segment's average sits from everyone's, in standard deviations: +1 is clearly higher than typical (red), −1 clearly lower (blue), and near 0 is typical. Below, "slightly" means under 0.6 and "much" means over 1.5.
landingPage=/product/79-chocolate-fruit-cake-500g-boxedseparates the segments most: from -0.2 sd in S1 to +5.0 sd in S5.- S1 (1,364 snapshots): slightly more often device is mobile (+0.6).
- S2 (259 snapshots): much more often device is tablet (+2.6).
- S4 (199 snapshots): much more often device is desktop (+2.7).
- S3 (194 snapshots): much longer-standing (returning) (+2.4); much more visits so far (+2.3); higher pages (+1.4).
- S5 (88 snapshots): much more often landingPage is /product/79-chocolate-fruit-cake-500g-boxed (+5.0).
- S6 (68 snapshots): much more often source is Direct (+4.7); more often landingPage is other (+1.3); slightly more often device is desktop (+0.5).
- Read a segment down its column to describe it; read across a row to see which segments differ on that input.
| S1 | S2 | S4 | S3 | S5 | S6 | S7 | S8 | S9 | S10 | Novel | |
|---|---|---|---|---|---|---|---|---|---|---|---|
actions[co_fail] | -0.0 | -0.0 | -0.0 | -0.0 | -0.0 | -0.0 | -0.0 | -0.0 | -0.0 | +47.4 | -0.0 |
actions[add_checkout] | -0.0 | -0.0 | -0.0 | -0.0 | -0.0 | -0.0 | -0.0 | -0.0 | +33.5 | -0.0 | -0.0 |
newVisitor | +0.1 | +0.1 | +0.1 | +0.1 | +0.1 | +0.1 | +0.1 | -11.8 | +0.1 | +0.1 | +0.1 |
landingPage=/product/474-port-and-prune-pudding-800g-log-in-cloth | -0.1 | -0.1 | -0.1 | -0.1 | -0.1 | -0.1 | +8.3 | -0.1 | -0.1 | -0.1 | -0.1 |
actions[add_recommended] | -0.1 | -0.1 | -0.1 | -0.1 | -0.1 | -0.1 | -0.1 | -0.1 | -0.1 | -0.1 | +5.8 |
landingPage=/product/79-chocolate-fruit-cake-500g-boxed | -0.2 | -0.2 | -0.2 | -0.2 | +5.0 | -0.2 | -0.2 | -0.2 | -0.2 | -0.2 | -0.2 |
source=Facebook | +0.2 | +0.2 | +0.1 | +0.2 | +0.2 | -4.8 | +0.2 | -4.8 | +0.2 | +0.2 | -1.1 |
source=Direct | -0.2 | -0.2 | -0.2 | -0.2 | -0.2 | +4.7 | -0.2 | +2.8 | -0.2 | -0.2 | +0.6 |
pages | -0.2 | -0.3 | -0.2 | +1.4 | +0.3 | +0.3 | -0.2 | +3.4 | +2.1 | +0.3 | +2.8 |
rows | -0.3 | -0.1 | -0.3 | +2.3 | -0.0 | -0.3 | +0.2 | +3.1 | -0.3 | -0.3 | +1.3 |
device=desktop | -0.4 | -0.4 | +2.7 | +0.1 | -0.1 | +0.5 | +0.0 | +0.2 | -0.4 | -0.4 | +0.2 |
device=tablet | -0.4 | +2.6 | -0.4 | -0.3 | +0.1 | -0.2 | -0.2 | +0.3 | -0.4 | +2.6 | +0.3 |
actions[co_cardpay] | -0.1 | -0.1 | -0.1 | +0.6 | +0.1 | -0.1 | +0.2 | -0.1 | -0.1 | -0.1 | +2.5 |
tenure_days | -0.3 | -0.2 | -0.3 | +2.4 | -0.0 | -0.3 | +0.3 | +2.1 | -0.3 | -0.3 | +1.4 |
minutes | -0.1 | -0.2 | -0.2 | +0.9 | -0.0 | +0.4 | -0.3 | +2.3 | +0.9 | -0.4 | +1.7 |
landingPage=/ | +0.2 | +0.2 | +0.3 | -0.3 | -2.2 | -1.2 | -2.2 | -0.0 | +0.5 | +0.5 | -0.6 |
actions[add_search] | -0.0 | -0.0 | -0.0 | -0.0 | -0.0 | -0.0 | -0.0 | -0.0 | -0.0 | -0.0 | +2.0 |
actions[sub_start] | -0.0 | -0.0 | -0.0 | -0.0 | -0.0 | -0.0 | -0.0 | -0.0 | -0.0 | -0.0 | +2.0 |
device=mobile | +0.6 | -1.7 | -1.7 | +0.2 | -0.0 | -0.2 | +0.1 | -0.4 | +0.6 | -1.7 | -0.3 |
landingPage=other | -0.0 | -0.1 | -0.2 | +0.2 | -0.2 | +1.3 | -0.2 | +0.6 | -0.2 | -0.2 | +0.5 |
landingPage=/product/75-christmas-cake-boxed | -0.1 | +0.1 | -0.1 | +0.7 | -0.1 | -0.1 | -0.1 | -0.1 | -0.1 | -0.1 | +1.1 |
Movement between segments
Where each entity's next snapshot lands, as a share of the row- Rows are where an entity's snapshot was; columns are where its next snapshot landed. Each row adds to 100%. The diagonal is staying put; anything else is a move.
- There are 232 steps from one snapshot to the next. 38% stayed in the same segment, so people often change segment between visits.
- Most common moves: S1 → S3 (98); S4 → S3 (13); S2 → S3 (5).
| From ↓ to → | S1 | S2 | S4 | S3 | S5 | S6 | S7 | S8 | S9 | S10 | Novel | moves |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| S1 | 1% | 91% | 4% | 4% | 1% | 108 | ||||||
| S2 | 67% | 21% | 8% | 4% | 24 | |||||||
| S4 | 87% | 13% | 15 | |||||||||
| S3 | 96% | 4% | 54 | |||||||||
| S5 | 11% | 44% | 44% | 9 | ||||||||
| S6 | 20% | 80% | 5 | |||||||||
| S7 | 33% | 33% | 33% | 3 | ||||||||
| S8 | 100% | 11 | ||||||||||
| Unknown: fits no segment | 100% | 3 |
Segments over time
How good are these segments?
Choosing the number of segments
- Each bar is the fit score (BIC) for one number of segments. Lower is better: it rewards a close fit and penalises extra segments.
- The lowest BIC is at 10 segments, so that's what was used. The next best is 9 (+7,985).
- 10 is the most you tried, so the best number may lie outside the range: try a higher maximum.
Lower BIC is a better balance of fit and simplicity. 10 segments scored best.
The unknowns
- 23 snapshots (1.0%) are unknown: 0 too little history, 0 between segments, 23 fit no segment.
- Too little history (0, 0.0%): fewer rows so far than the minimum you set.
- Between segments (0): no segment was a clear best fit; often someone changing pattern.
- Fits no segment (23): the oddest snapshots. Worth a look: new behaviour (or fraud) tends to show up here first.
- Nearest segment says which segment each would have joined if forced.
| Kind | Snapshots | Nearest segment |
|---|---|---|
| Unknown: fits no segment Doesn't resemble any segment. Worth a look: new patterns and fraud often start here. | 23 | S3 (19), S6 (3), S2 (1) |
Boundary rules
How to recognise each segment- Read each line as IF these conditions THEN this segment, using the inputs in their own units (minutes, page counts).
- Covers is the share of the segment the rule finds; correct is how many of the snapshots it finds really are in that segment.
- Together the rules agree with the model 97% of the time: good enough to use as a description.
S1 2 rules covering 100% of the segment
- device = mobile and rows ≤ 1.5 and landingPage = / · covers 91% of the segment, 98% correct
- device = mobile and rows ≤ 1.5 and landingPage is not / · covers 9% of the segment, 51% correct
S2 1 rule covering 100% of the segment
- device = tablet and landingPage is not /product/79-chocolate-fruit-cake-500g-boxed and tenure_days ≤ 6.48 · covers 100% of the segment, 97% correct
S3 2 rules covering 94% of the segment
- rows > 1.5 and newVisitor > 0.5 and landingPage is not /product/79-chocolate-fruit-cake-500g-boxed · covers 89% of the segment, 87% correct
- rows ≤ 1.5 and actions[co_cardpay] ≤ 0.5 and landingPage = /product/75-christmas-cake-boxed · covers 5% of the segment, 67% correct
S4 1 rule covering 100% of the segment
- device = desktop and rows ≤ 1.5 and source is not Direct · covers 100% of the segment, 93% correct
S5 1 rule covering 100% of the segment
- landingPage = /product/79-chocolate-fruit-cake-500g-boxed · covers 100% of the segment, 100% correct
S6 2 rules covering 100% of the segment
- source is not Facebook and newVisitor > 0.5 and source is not Crafte · covers 93% of the segment, 98% correct
- source is not Facebook and newVisitor > 0.5 and source = Crafte · covers 7% of the segment, 62% correct
S7 1 rule covering 100% of the segment
- landingPage = /product/474-port-and-prune-pudding-800g-log-in-cloth · covers 100% of the segment, 100% correct
S8 1 rule covering 100% of the segment
- newVisitor ≤ 0.5 · covers 100% of the segment, 100% correct
S9 no clean rule: this segment overlaps others on these features
S10 no clean rule: this segment overlaps others on these features
Compare runs
Find the best segmentation- Each row is one segmentation run. Click the version to open it; the highlighted row is the one shown above.
- Separation and Stability describe the whole segmentation: are the segments distinct, and do they come back when refitted?
- The last four columns are about ordered: Targets are the segments at 1.5× the overall rate or more; Captured is the share of all ordered they hold (and the share of snapshots they are); Lift is how concentrated they are; Target stability is whether those particular segments come back when refitted.
- Read Captured and Lift together: a high lift on a sliver of the outcome is less useful than a slightly lower lift that holds most of it. pick marks the best mix: captured × lift, with full credit only when the targets' stability is 0.5 or more. ★ marks the best value in each column.
- Change one thing per run (the group handling, the number of segments, the shape or the feature set) so you can see what made the difference. Runs built before this table existed show '-'.
| Run | Features | Groups | Shape | Segments | Unknown | Separation | Stability | Targets | Captured | Lift | Target stability |
|---|---|---|---|---|---|---|---|---|---|---|---|
| v29 30 Oct 2026 12:50 |
v8 | device evened out | Full | 8 | 1.1% | 0.64 | 0.88 | S2, S5, S6 | 33% in 12% | 2.8× | 0.96 ★ |
| v28 30 Oct 2026 09:20 |
v7 | device evened out | Diagonal | 8 | 1.3% | 0.54 | 0.92 ★ | S2, S3, S5, S6 | 81% in 30% | 2.7× | 0.66 |
| v27 29 Oct 2026 17:17 |
v6 | device evened out | Diagonal | 8 | 1.3% | 0.54 | 0.92 ★ | S2, S3, S5, S6 | 81% in 30% | 2.7× | 0.66 |
| v26 29 Oct 2026 16:29 |
v6 | - | Diagonal | 5 | 1.0% | 0.45 | 0.59 | S3, S4 | 19% in 5% | 3.4× ★ | 0.21 |
| v25 29 Oct 2026 16:28 |
v6 | device evened out | Diagonal | 5 | 1.0% | 0.49 | 0.41 | S2, S3 | 83% in 31% ★ | 2.7× | 0.39 |
| v24 29 Oct 2026 16:27 |
v6 | device separately | Diagonal | 15 | 1.0% | 0.66 ★ | 0.54 | S5, S6, S7 | 31% in 10% | 3.1× | 0.62 |
| v23 29 Oct 2026 16:26 |
v6 | device ignored | Full | 5 | 0.7% ★ | 0.63 | 0.37 | S2, S3 | 41% in 18% | 2.2× | 0.42 |
| v22 29 Oct 2026 16:26 |
v6 | - | Full | 5 | 1.0% | 0.44 | 0.60 | S3, S4 | 19% in 6% | 3.4× | 0.21 |
| v21 29 Oct 2026 16:26 |
v6 | device separately | Full | 15 | 1.0% | 0.65 | 0.51 | S5, S6 | 27% in 9% | 3.0× | 0.57 |
| v20 pick 29 Oct 2026 16:24 |
v6 | device evened out | Full | 5 | 1.0% | 0.50 | 0.27 | S2, S4 | 83% in 25% ★ | 3.3× | 0.52 |
| v19 29 Oct 2026 16:22 |
v6 | - | Full | 5 | 1.0% | - | - | - | - | - | - |
| v18 29 Oct 2026 16:20 |
v6 | - | Full | 5 | 1.0% | - | - | - | - | - | - |
| v17 29 Oct 2026 16:20 |
v6 | - | Full | 5 | 1.0% | - | - | - | - | - | - |
| v16 29 Oct 2026 16:19 |
v6 | - | Full | 5 | 1.0% | - | - | - | - | - | - |
| v15 29 Oct 2026 14:10 |
v6 | - | Full | 5 | 1.0% | - | - | - | - | - | - |
| v14 29 Oct 2026 14:09 |
v6 | - | Diagonal | 4 | 1.0% | - | - | - | - | - | - |
| v13 29 Oct 2026 14:08 |
v6 | - | Diagonal | 9 | 1.1% | - | - | - | - | - | - |
| v12 29 Oct 2026 14:08 |
v6 | - | Diagonal | 7 | 1.0% | - | - | - | - | - | - |
| v11 29 Oct 2026 14:01 |
v5 | - | Diagonal | 7 | 1.0% | - | - | - | - | - | - |
| v10 29 Oct 2026 13:10 |
v4 | - | Diagonal | 7 | 1.0% | - | - | - | - | - | - |
| v9 29 Oct 2026 13:10 |
v4 | - | Diagonal | 7 | 89.8% | - | - | - | - | - | - |
| v8 29 Oct 2026 13:10 |
v4 | - | Diagonal | 10 | 1.0% | - | - | - | - | - | - |
| v7 29 Oct 2026 13:09 |
v4 | - | Diagonal | 7 | 1.0% | - | - | - | - | - | - |
| v6 29 Oct 2026 12:51 |
v3 | - | Diagonal | 7 | 1.0% | - | - | - | - | - | - |
| v5 29 Oct 2026 12:51 |
v3 | - | Diagonal | 10 | 1.0% | - | - | - | - | - | - |
Search results
49 setups · 30 Oct 2026 12:43 · judged on orderedBest: K-means · device evened out (8 segments). Its target segments (S2, S3, S4) hold 77% of ordered in 20% of the training snapshots, 3.8× the overall rate, and come back at 0.96 stability when refitted.
- Every setup was fitted on the same 1,828 training snapshots (1,611 people); the 20% of people held out for testing weren't used, so Outcomes can still test the winner honestly.
- Score = share of ordered captured × lift, with full credit only when the target segments' stability is 0.5 or more. Setups with over 25% unknown are halved.
- Stability is for the whole segmentation, Target stability just for the target segments. A setup with a slightly lower score but much higher stability can be the safer choice.
- Build on full data makes the real segmentation with that setup on everyone. It then appears below as a normal run: name the segments, compare, take it to Outcomes, and export it.
| # | Setup | Segments | Unknown | Separation | Stability | Captured | Lift | Target stability | Score | |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | K-means · device evened out | 8 | 1.3% | 0.64 | 0.96 | 77% in 20% | 3.8× | 0.96 | 2.93 | |
| 2 | Bayesian Gaussian mixture · Diagonal · device evened out | 8 | 1.0% | 0.54 | 0.63 | 84% in 31% | 2.7× | 0.75 | 2.25 | |
| 3 | Bayesian Gaussian mixture · Full · source ignored | 8 | 1.0% | 0.60 | 0.69 | 78% in 27% | 2.9× | 0.54 | 2.23 | |
| 4 | K-means · device separately | 18 | 1.3% | 0.73 | 0.90 | 57% in 14% | 3.9× | 0.94 | 2.23 | |
| 5 | K-means · source evened out | 8 | 1.1% | 0.63 | 0.76 | 59% in 16% | 3.7× | 0.72 | 2.19 | |
| 6 | Gaussian mixture · Diagonal · device evened out | 8 | 1.0% | 0.55 | 0.63 | 81% in 31% | 2.6× | 0.72 | 2.14 | |
| 7 | Gaussian mixture · Full · device evened out | 8 | 1.0% | 0.55 | 0.61 | 81% in 31% | 2.6× | 0.78 | 2.13 | |
| 8 | Bayesian Gaussian mixture · Diagonal · device ignored | 8 | 1.0% | 0.67 | 0.81 | 81% in 31% | 2.6× | 0.77 | 2.11 | |
| 9 | Gaussian mixture · Full · device ignored | 8 | 1.0% | 0.66 | 0.77 | 81% in 33% | 2.5× | 0.72 | 2.00 | |
| 10 | Bayesian Gaussian mixture · Full · device evened out | 8 | 1.0% | 0.55 | 0.59 | 78% in 31% | 2.5× | 0.74 | 2.00 | |
| 11 | Gaussian mixture · Diagonal · device ignored | 8 | 1.0% | 0.67 | 0.84 | 78% in 31% | 2.5× | 0.75 | 1.99 | |
| 12 | Gaussian mixture · Full · device separately | 19 | 1.1% | 0.67 | 0.82 | 62% in 20% | 3.1× | 0.56 | 1.96 |