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

A newer feature set (v8) exists. These segments were built on v4.
Segments found
10
best of 3 to 10
In a segment
99%
2,223 of 2,246 snapshots
Unknown
1.0%
0 history · 0 between · 23 novel
Rules match the model
97%
for named segments

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.

Segments

Name them, merge near-duplicates, or send one to unknown. Nothing is refitted.
SegmentLabelSnapshotsShare What sets it apartMerge intoUnknown
S1 1,36460.7% Slightly more often device is mobile
S2 25911.5% Much more often device is tablet
S3 1948.6% Much longer-standing (returning); much more visits so far; higher pages
S4 1998.9% Much more often device is desktop
S5 883.9% Much more often landingPage is /product/79-chocolate-fruit-cake-500g-boxed
S6 683.0% Much more often source is Direct; more often landingPage is other; slightly more often device is desktop
S7 321.4% Much more often landingPage is /product/474-port-and-prune-pudding-800g-log-in-cloth
S8 160.7% Much lower newVisitor; much less often source is Facebook; much higher pages
S9 20.1% Much more add_checkout in actions; much higher pages; slightly more often device is mobile
S10 10.0% Much more co_fail in actions; much more often device is tablet; slightly more often landingPage is /
? Unknown: fits no segment 231.0% high actions[add_recommended] (+5.8 sd), high pages (+2.8 sd), high actions[co_cardpay] (+2.5 sd)

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%.
SegmentSnapshots Shareordered
RateLiftCaptured
S11,36460.7%1.5%0.4×24%
S225911.5%1.5%0.4×5%
S41998.9%3.5%0.9×8%
S31948.6%14.4%3.8×33%
S5883.9%3.4%0.9×3%
S6683.0%19.1%5.0×15%
S7321.4%6.2%1.6×2%
S8160.7%0.0%0.0×0%
S920.1%0.0%0.0×0%
S1010.0%0.0%0.0×0%
Unknown: fits no segment231.0%34.8%9.1×9%
Everyone2,246100%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.
S1S2S4S3S5S6S7S8S9S10Novel
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
There are 232 steps from one snapshot to the next. 38% stayed in the same segment, so people often change segment between visits.
From ↓   to →S1S2S4S3S5S6S7S8S9S10Novelmoves
S11%91%4%4%1%108
S267%21%8%4%24
S487%13%15
S396%4%54
S511%44%44%9
S620%80%5
S733%33%33%3
S8100%11
Unknown: fits no segment100%3

Segments over time

Rebuild to see how the segments change over time.

How good are these segments?

Rebuild to measure separation and stability.

Choosing the number of segments

The lowest BIC is at 10 segments, so that's what was used. The next best is 9 (+7,985).
-132k-110k-87k-65k-43k3 segments: BIC -54,10734 segments: BIC -49,47645 segments: BIC -75,04556 segments: BIC -99,98267 segments: BIC -91,52278 segments: BIC -113,87189 segments: BIC -117,489910 segments: BIC -125,47410Number of segments

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.
KindSnapshotsNearest segment
Unknown: fits no segment
Doesn't resemble any segment. Worth a look: new patterns and fraud often start here.
23S3 (19), S6 (3), S2 (1)

Boundary rules

How to recognise each segment
Together the rules agree with the model 97% of the time: good enough to use as a description.
Each segment gets its own short rules for picking it out from everyone else, in each feature's own units. Taken together, simple rules reproduce 97% of the assignments. Rules show where the lines fall, not why: use the profile above for what defines a segment. Unknowns have no rules; they come from how well a snapshot fits, not from where it sits.
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
The pick is v20: its targets hold 83% of ordered in 25% of snapshots (3.3× the rate), with target stability 0.52.
RunFeaturesGroupsShapeSegmentsUnknownSeparationStabilityTargetsCapturedLiftTarget stability
v29
30 Oct 2026 12:50
v8device evened outFull81.1% 0.640.88 S2, S5, S633% in 12%2.8× 0.96 ★
v28
30 Oct 2026 09:20
v7device evened outDiagonal81.3% 0.540.92 ★ S2, S3, S5, S681% in 30%2.7× 0.66
v27
29 Oct 2026 17:17
v6device evened outDiagonal81.3% 0.540.92 ★ S2, S3, S5, S681% in 30%2.7× 0.66
v26
29 Oct 2026 16:29
v6-Diagonal51.0% 0.450.59 S3, S419% in 5%3.4× ★ 0.21
v25
29 Oct 2026 16:28
v6device evened outDiagonal51.0% 0.490.41 S2, S383% in 31% ★2.7× 0.39
v24
29 Oct 2026 16:27
v6device separatelyDiagonal151.0% 0.66 ★0.54 S5, S6, S731% in 10%3.1× 0.62
v23
29 Oct 2026 16:26
v6device ignoredFull50.7% ★ 0.630.37 S2, S341% in 18%2.2× 0.42
v22
29 Oct 2026 16:26
v6-Full51.0% 0.440.60 S3, S419% in 6%3.4× 0.21
v21
29 Oct 2026 16:26
v6device separatelyFull151.0% 0.650.51 S5, S627% in 9%3.0× 0.57
v20 pick
29 Oct 2026 16:24
v6device evened outFull51.0% 0.500.27 S2, S483% in 25% ★3.3× 0.52
v19
29 Oct 2026 16:22
v6-Full51.0% -- --- -
v18
29 Oct 2026 16:20
v6-Full51.0% -- --- -
v17
29 Oct 2026 16:20
v6-Full51.0% -- --- -
v16
29 Oct 2026 16:19
v6-Full51.0% -- --- -
v15
29 Oct 2026 14:10
v6-Full51.0% -- --- -
v14
29 Oct 2026 14:09
v6-Diagonal41.0% -- --- -
v13
29 Oct 2026 14:08
v6-Diagonal91.1% -- --- -
v12
29 Oct 2026 14:08
v6-Diagonal71.0% -- --- -
v11
29 Oct 2026 14:01
v5-Diagonal71.0% -- --- -
v10
29 Oct 2026 13:10
v4-Diagonal71.0% -- --- -
v9
29 Oct 2026 13:10
v4-Diagonal789.8% -- --- -
v8
29 Oct 2026 13:10
v4-Diagonal101.0% -- --- -
v7
29 Oct 2026 13:09
v4-Diagonal71.0% -- --- -
v6
29 Oct 2026 12:51
v3-Diagonal71.0% -- --- -
v5
29 Oct 2026 12:51
v3-Diagonal101.0% -- --- -

Search results

49 setups · 30 Oct 2026 12:43 · judged on ordered

Best: 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.
#SetupSegments UnknownSeparationStabilityCaptured LiftTarget stabilityScore
1K-means · device evened out81.3% 0.640.9677% in 20%3.8× 0.962.93
2Bayesian Gaussian mixture · Diagonal · device evened out81.0% 0.540.6384% in 31%2.7× 0.752.25
3Bayesian Gaussian mixture · Full · source ignored81.0% 0.600.6978% in 27%2.9× 0.542.23
4K-means · device separately181.3% 0.730.9057% in 14%3.9× 0.942.23
5K-means · source evened out81.1% 0.630.7659% in 16%3.7× 0.722.19
6Gaussian mixture · Diagonal · device evened out81.0% 0.550.6381% in 31%2.6× 0.722.14
7Gaussian mixture · Full · device evened out81.0% 0.550.6181% in 31%2.6× 0.782.13
8Bayesian Gaussian mixture · Diagonal · device ignored81.0% 0.670.8181% in 31%2.6× 0.772.11
9Gaussian mixture · Full · device ignored81.0% 0.660.7781% in 33%2.5× 0.722.00
10Bayesian Gaussian mixture · Full · device evened out81.0% 0.550.5978% in 31%2.5× 0.742.00
11Gaussian mixture · Diagonal · device ignored81.0% 0.670.8478% in 31%2.5× 0.751.99
12Gaussian mixture · Full · device separately191.1% 0.670.8262% in 20%3.1× 0.561.96

Settings

One segmentation with exactly these settings. To try many automatically, use Find the best.
Feature set

The inputs to segment on.

Number of segments

Search a range and let the fit decide, or fix it.

When to say "unknown"

Rather than forcing everyone into a segment.

Groups

A column such as device or caseworker that should be treated differently in this run.

Each segment count is fitted 2 times on up to 60,000 snapshots. A range of 8 counts on 20,000 snapshots takes about half a minute; "Diagonal" is several times faster.