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 v4 built 29 Oct 2026 12:50 on feature set v2

A newer feature set (v8) exists. These segments were built on v2.
Segments found
4
fixed
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).
  • Do thisS3 is defined by addedToCart itself

    Every snapshot in S3 already has addedToCart, so the inputs include part of the outcome. Fine if you're studying what happens after it; otherwise leave those inputs out (Features & PCA → What to do) and rebuild.

  • Do thisS3 is defined by reachedCheckout itself

    Every snapshot in S3 already has reachedCheckout, so the inputs include part of the outcome. Fine if you're studying what happens after it; otherwise leave those inputs out (Features & PCA → What to do) and rebuild.

  • Worth doingS4 is very small (22 snapshots)

    Under 30 snapshots, a segment's rates swing with a couple of people. Merge it into the segment it's most like (S4 → S3). Keep one only if it's a group you specifically care about.

  • Worth doingordered: use S3 as the targets on Outcomes

    S3 holds 27% of ordered in 3% of the snapshots (9.8× the overall rate). Leaving out S1 (81% of snapshots) would also leave out 27% of ordered: that's the trade-off of the reduction.

  • 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 isaddedToCart: use S3, S2 as the targets on Outcomes

    S3, S2 hold 56% of addedToCart in 17% of the snapshots (3.2× the overall rate). Leaving out S1 (81% of snapshots) would also leave out 34% of addedToCart: that's the trade-off of the reduction.

  • Fine as isreachedCheckout: use S3, S2 as the targets on Outcomes

    S3, S2 hold 59% of reachedCheckout in 17% of the snapshots (3.4× the overall rate). Leaving out S1 (81% of snapshots) would also leave out 29% of reachedCheckout: 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,81680.9% Typical: nothing stands out
S2 32414.4% More visits so far; more active days; longer-standing (returning)
S3 612.7% Much more co_shipping in actions; much more co_address in actions; much more co_payment in actions
S4 221.0% Much more co_cardpay in actions; much more co_cardload in actions; much more co_card in actions
? Unknown: fits no segment 231.0% high source=Google (+3.6 sd), high source=com.facebook.katana (+2.9 sd), low source=Facebook (-2.6 sd)

Outcome concentration

Share of each segment's snapshots whose entity eventually had the outcome. Lift = rate ÷ overall rate.
S3 has the highest rate: 38% for ordered, 9.8× the overall 3.8%.
SegmentSnapshots ShareaddedToCartreachedCheckoutordered
RateLiftCapturedRateLiftCapturedRateLiftCaptured
S11,81680.9%5.7%0.4×34%3.5%0.4×29%1.3%0.3×27%
S232414.4%33.0%2.5×35%21.0%2.1×31%5.2%1.4×20%
S3612.7%100.0%7.4×20%100.0%10.2×28%37.7%9.8×27%
S4221.0%100.0%7.4×7%100.0%10.2×10%100.0%26.1×26%
Unknown: fits no segment231.0%39.1%2.9×3%26.1%2.7×3%4.3%1.1×1%
Everyone2,246100%13.4%9.8%3.8%

How each segment differs

Average of each input, in standard deviations from everyone. Red higher, blue lower.
actions[co_shipping] separates the segments most: from -0.2 sd in S1 to +5.1 sd in S3.
S1S2S3S4Novel
actions[co_cardpay]-0.1-0.1-0.1+10.1-0.1
actions[co_cardload]-0.1-0.1+1.8+7.8-0.1
actions[co_card]-0.1-0.1+2.5+7.1-0.1
actions[co_place]-0.1-0.1+2.5+7.1-0.1
actions[co_cardform]-0.2-0.2+4.9+5.3-0.2
actions[co_payment]-0.2-0.2+4.9+5.3-0.2
actions[co_shipping]-0.2-0.2+5.1+5.2-0.2
actions[co_address]-0.2-0.2+5.0+5.1+0.5
source=Google-0.0-0.0+0.3-0.0+3.6
source=com.facebook.katana-0.0-0.0-0.0-0.0+2.9
source=Facebook+0.1-0.1-0.5+0.2-2.6
pages-0.3+1.0+2.3+2.6+0.8
actions[add_featured]-0.2+0.4+2.6+1.8+0.5
actions[add_product]-0.1+0.3+0.5+2.5+0.7
landingPage=/product/340-sticky-date-pecan-pudding-800g-log-in-cloth-0.0-0.1-0.1+0.6+2.4
actions[add_grid]-0.2+0.3+2.1+2.2+0.4
actions[add_search]-0.0-0.0-0.0+2.1-0.0
source=Chatgpt.com-0.0-0.0-0.0-0.0+2.0
source=Yahoo-0.0-0.0-0.0-0.0+2.0
minutes-0.2+0.6+1.4+1.8+0.3
landingPage=/+0.1-0.6+0.1-1.0-1.5
rows-0.3+1.4+1.0+1.0+0.5

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. 34% stayed in the same segment, so people often change segment between visits.
From ↓   to →S1S2S3S4Novelmoves
S194%3%1%2%141
S288%4%4%3%69
S393%7%14
S4100%2
Unknown: fits no segment67%33%6

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 number of segments was fixed at 4, so there's nothing to compare.

Fixed at 4 segments, so there was nothing to compare.

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.
23S2 (15), S1 (8)

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 3 rules covering 98% of the segment
  • pages ≤ 1.5 and landingPage = / and actions[add_featured] ≤ 0.5 · covers 76% of the segment, 99% correct
  • pages > 1.5 and rows ≤ 1.5 and actions[co_address] ≤ 0.5 · covers 16% of the segment, 82% correct
  • pages ≤ 1.5 and landingPage is not / and landingPage is not /product/79-chocolate-fruit-cake-500g-boxed · covers 6% of the segment, 71% correct
S2 3 rules covering 69% of the segment
  • tenure_days > 0.00638 and actions[co_shipping] ≤ 0.5 and pages > 2.5 · covers 37% of the segment, 100% correct
  • tenure_days > 0.00638 and actions[co_shipping] ≤ 0.5 and pages ≤ 2.5 · covers 24% of the segment, 100% correct
  • tenure_days ≤ 0.00638 and landingPage = / and actions[add_quickview] > 0.5 · covers 8% of the segment, 68% correct
S3 2 rules covering 100% of the segment
  • actions[co_shipping] > 0.5 and actions[co_cardpay] ≤ 0.5 and source = Facebook · covers 85% of the segment, 100% correct
  • actions[co_shipping] > 0.5 and actions[co_cardpay] ≤ 0.5 and source is not Facebook · covers 15% of the segment, 100% correct
S4 2 rules covering 100% of the segment
  • actions[co_cardpay] > 0.5 and tenure_days ≤ 0.313 · covers 64% of the segment, 100% correct
  • actions[co_cardpay] > 0.5 and tenure_days > 0.313 · covers 36% of the segment, 100% correct

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.