Fullstory ยท Enterprise Data Strategy

Cross-Session AI
Behavioral Archetype
Generation

Using vector embeddings across millions of user sessions to derive multi-dimensional behavioral clarity, cluster users into archetypes, and power descriptive and prescriptive enterprise data strategies.

Method
HDBSCAN + UMAP
Embeddings
Sentence Transformers
Data Source
Fullstory Fullcapture
Verticals
4 industries covered
Fullstory Solutions Engineering ยท Behavioral Intelligence Series
| Behavioral Archetype Generation 01 ยท The Problem
What analytics currently gives you

You know what happened.
You don't know who did it.

Dashboards aggregate. Funnels measure steps. Session tools replay moments. None of them tell you which type of user you're talking to โ€” or how to treat them differently across every downstream system.

What you have: "12% of users abandoned checkout this week."
What you need: "Frustrated high-LTV loyalists abandoned at payment โ€” a cohort worth $4.2M annually, routable to top-tier support."
The missing dimension
๐Ÿ“Š

Aggregate metrics hide behavioral diversity

A "12% abandonment" number is an average across deal-seekers, loyalists, first-timers, and frustrated power users โ€” each requiring a different response.

๐Ÿ—‚๏ธ

Transactional history is retrospective, not behavioral

CRM segments on what users bought. Behavioral archetypes reveal how they navigate, where they hesitate, and what drives them toward or away from conversion.

๐Ÿ”—

Single-session context is insufficient

One session is a snapshot. Behavioral shape emerges across dozens of sessions โ€” the pattern of return, explore, hesitate, convert, and lapse is what defines an archetype.

๐ŸŽฏ

Downstream systems are starved for behavioral context

CDP outreach, CRM personalization, AI chat agents, and fraud models all make decisions without knowing the behavioral archetype of the user they're acting on.

๐Ÿ’ก
The goal: turn 50M raw events into a library of named behavioral archetypes โ€” persistent, portable, and pluggable into every enterprise data system.
01 / 15
| Behavioral Archetype Generation 02 ยท Data Foundation
Why Fullstory Fullcapture

Every signal. Every session. No sampling.

Fullcapture records the complete behavioral stream โ€” not a 5% sample, not predefined events only. That completeness is what makes cross-session archetype clustering possible. You can only cluster on what you captured.

๐Ÿ‘† Click
๐Ÿ’€ Dead Click
๐Ÿ˜ค Rage Click
๐Ÿ“œ Scroll Depth
๐Ÿ”€ Navigate
โœ๏ธ Form Change
โšก Custom Event
โš ๏ธ Exception
๐ŸŒ Network
โฑ๏ธ Timing
๐Ÿ“ฑ Native App
๐Ÿ”„ Thrash
Enrichment layers
๐Ÿท๏ธ
Named Elements & PagesSemantic labels applied to DOM selectors in Fullstory UI โ€” give raw click targets meaningful names
๐Ÿ’‰
Client-Side Injection (fs-skills)JavaScript SDK enrichment โ€” behavioral flags, custom properties, and structured event payloads
๐Ÿ”ง
Server-Side Semantic ExtractionRule-based extraction of order value, user tier, product IDs from network traffic โ€” configured in the Fullstory UI or API
๐Ÿ“ฆ
NDJSON ExportFull event stream exported as newline-delimited JSON โ€” the raw material for the pipeline
๐Ÿ’ก
A Papa Johns export covering 30 days of buyer behavior: 21GB compressed, 57M events, ~100K users. The richer the semantic enrichment, the more meaningful the clusters.
02 / 15
| Behavioral Archetype Generation 03 ยท Client-Side Enrichment
github.com/fullstorydev/fs-skills

Client-side semantic injection

fs-skills is a JavaScript SDK toolkit that decorates Fullstory events with business-meaningful context at capture time โ€” before the event hits the data pipeline. Named elements are the foundation: they translate opaque CSS selectors into human-readable action labels that cluster analysis can reason about.

// fs-skills: name an element semantically
FS.setVars('page', {
  pageName: 'Order Menu',
  storeId: getStoreId(),
  isLoggedIn: userIsAuthenticated()
});

// Named element โ†’ token in journey string
// click:Add_to_Order_Button (ร—3 for conversion weight)
What enrichment gives the pipeline
๐Ÿท๏ธ

Named Elements โ†’ Meaningful Tokens

Raw selector [data-id="atc-btn"] becomes click:Add_to_Order_Button โ€” a token with conversion semantics the embedding model can cluster on.

๐Ÿ“

Named Pages โ†’ Journey Structure

URL patterns mapped to page names create navigation tokens like page:Deals โ†’ page:Order_Menu โ†’ page:Cart โ€” readable funnel trajectories.

๐Ÿ›’

Custom Events โ†’ Conversion Anchors

Business events like custom:order_completed with order value, coupon code, and store ID become the terminal signal every cluster analysis centers on.

๐ŸŽš๏ธ

Page-Level Variables โ†’ Feature Matrix

Session-level context โ€” is_logged_in, scroll_depth_pct, has_store_id โ€” feeds the behavioral feature matrix alongside the journey embedding.

โš ๏ธ

Selector Staleness Detection

Stale named element selectors (post-app-rewrite) show zero click counts on critical buttons. The pipeline surfaces these gaps, routing fixes back to the Fullstory UI โ€” documented in SELECTOR_FIXES.md.

๐Ÿ’ก
Without named elements: clusters form on raw DOM structure. With named elements: clusters form on business intent โ€” "placed order," "applied promo," "searched menu." The semantic layer is the signal amplifier.
03 / 15
| Behavioral Archetype Generation 04 ยท Server-Side Extraction
The other side of the coin

Server-side semantic extraction

Client-side injection requires engineers to add decoration to the DOM or view tree โ€” Fullstory captures it as semantic labels. Server-side extraction works the other direction: Fullstory reads network traffic, URL patterns, and element attributes and extracts structured semantic variables automatically, via rules configured in the Fullstory UI or API. No frontend changes required.

# Extraction rule: order total from API response
source: network_response
url_pattern: "/api/orders/confirm"
extract:
  order_value: "$.order.total"
  coupon_code: "$.order.coupon.code"
  store_id:  "$.store.id"
attach_to: custom_event["Order Completed"]
What Fullstory extracts automatically
๐ŸŒ

Network Response Bodies

JSON fields from XHR/fetch responses โ€” order totals, cart contents, user tier, product IDs โ€” surfaced as semantic event properties without any frontend code changes.

๐Ÿ”—

URL Patterns

Structured data parsed from URL paths โ€” /store/[storeId]/menu โ†’ storeId attached as a session variable on every event in that page.

๐Ÿ—๏ธ

Request Payloads

Search queries, filter selections, and configuration parameters from POST bodies โ€” capturing intent before the user takes a visible action.

๐Ÿท๏ธ

Element Attributes

data-* attributes and ARIA labels already present in the DOM โ€” product SKUs, price tiers, promo slot IDs โ€” mapped onto interaction events without re-instrumentation.

๐Ÿ“Š

Pipeline Impact

Extracted variables arrive in the NDJSON export pre-attached to events as first-class fields. The pipeline reads them directly โ€” no regex parsing, no post-hoc joining.

๐Ÿ’ก
Client-side: engineers add decoration to the DOM or view tree โ€” Fullstory captures it as semantic labels. Server-side: Fullstory extracts semantic labels from network traffic via rules โ€” zero frontend changes required. Both paths produce the same named-element tokens in the pipeline.
04 / 15
| Behavioral Archetype Generation 05 ยท Semantic Weight Inference
A third semantic enrichment layer

The customer has already told you
what's important.

When a Fullstory customer names an element "Add to Order Button | Web," builds a funnel that tracks it, and reviews that funnel dashboard every morning โ€” that is a declared priority embedded in their Fullstory configuration. The pipeline reads that signal back and uses it to calibrate the semantic weight tier automatically, replacing hand-coded constants with customer-derived evidence.

Four sources of weight signal
๐Ÿ”

Conversion Funnels

Any named element or custom event referenced as a funnel step is, by definition, on the customer's critical path. These get the highest weight: 1.5 โ†’ ร—3 repetitions.

๐Ÿ“Š

High-Viewed Metrics & Dashboards

Metrics that track clicks or events on specific named elements โ€” and are viewed frequently โ€” indicate the team watches those elements as business KPIs. Weight: 1.3 โ†’ ร—2 repetitions.

๐Ÿงฉ

Segment Definitions

Custom segments defined by behavior on specific pages or elements signal that the customer segments their user base by those interactions โ€” high behavioral relevance. Weight: 1.2 โ†’ ร—2 repetitions.

๐Ÿท๏ธ

Named Element Display Name Quality

Descriptive, business-intentful names ("Apply Promo Code," "Guest Checkout Button") indicate intentional instrumentation. Generic or selector-derived names indicate lower signal confidence. Baseline: 1.0 โ†’ ร—1 repetition.

Where it lives in the pipeline
๐Ÿ“ค Phase 1b โ€” Named Element & Page Extraction
+ Weight Inference (new step)
# Pull funnels, metrics, segments from FS UI
funnels  = load_json("semantic/funnels.json")
metrics  = load_json("semantic/metrics.json")
segments = load_json("semantic/segments.json")

# Score each named element by reference frequency
for el in named_elements:
  if el_in_funnel_steps(el, funnels):
    weight_map[el.name] = 1.5
  elif el_in_metrics(el, metrics):
    weight_map[el.name] = 1.3
  elif el_in_segments(el, segments):
    weight_map[el.name] = 1.2
  else:
    weight_map[el.name] = 1.0

write_json(weight_map, "semantic/weight_map.json")
๐Ÿงต Phase 4 โ€” Journey String Builder reads weight_map.json
โš  Prerequisite โ€” org tuning is not optional

Without named elements, conversion funnels, and high-signal metrics in place, the weight map cannot be derived from customer intent โ€” it degrades to guessing. Clusters will still form, but they will reflect raw DOM structure and URL shape, not business behavior. The analysis becomes a technical exercise rather than an actionable one. Org tuning is the prerequisite work, not a nice-to-have enhancement.

Relationship to the semantic stack

Client-side injection (slide 03) creates named elements via DOM decoration. Server-side extraction (slide 04) enriches events with structured business variables from network traffic. Weight inference calibrates how loudly each element speaks in the journey string โ€” using the customer's own instrumentation choices as the authority on importance.

๐Ÿ’ก
Capture sources via browser DevTools XHR interception against the Fullstory UI (same technique as named elements), or via the Fullstory MCP discover_org_context tool for spot-checking. Write all three files to semantic/ before running Phase 4.
05 / 15
| Behavioral Archetype Generation 06 ยท The Pipeline
Seven phases, fully rerunnable โ€” three ways to load the data

From raw events to named archetypes

Data Access Layer โ€” choose your path
Internal ยท Demo
NDJSON Segment Export
Fullstory / Partner teams
Segment export via API v2 โ€” full event stream as gzip NDJSON. Best for POC, methodology validation, and one-shot customer analysis.
Production
Warehouse Ready-to-Analyze Views
Customer data team
SQL views in BigQuery, Snowflake, or Redshift via Fullstory Anywhere. Scheduled, incremental, SQL-native โ€” the recommended customer production path.
Cloud-native ยท Flexible
Raw Storage Bucket
Customer data team
GCS or S3 raw event files via Fullstory Anywhere. Bring your own compute, join with warehouse data, no SQL abstraction layer overhead.
All three paths converge at Phase 01
PHASE 01
๐Ÿ”
Schema Probe & Validation
Sample 500K events to confirm timestamp format, field sparsity, and event type distribution. Identify gotchas before the full scan โ€” applies regardless of data access method.
schema validated
PHASE 02
๐Ÿ”ง
Event Resolution
Noise filter (platform events excluded). Named element selector matching โ†’ element_name. Named page URL matching โ†’ page_name. Token prefix assignment.
resolved.parquet
PHASE 03
๐Ÿ“
Feature Engineering
Per-user behavioral flags: repeat buyer, high-value, deal-seeker, frustrated, mobile-dominant, full-funnel, promo user. Funnel stage scoring 1โ€“5.
features.parquet
PHASE 04
๐Ÿงต
Journey String Construction
Per-user event sequence โ†’ weighted token string. Semantic tiers applied. Token repetition encodes conversion signal strength for the embedding model.
journeys.parquet
PHASE 05
๐Ÿง 
Vector Embedding
all-MiniLM-L6-v2 encodes each journey string into a 384-dimensional vector. Local inference โ€” no API cost, no data egress. Batch size 256.
embeddings.parquet
PHASE 06
๐Ÿ”ญ
UMAP + HDBSCAN
384D โ†’ 3D via UMAP (cosine metric). HDBSCAN finds arbitrarily-shaped density clusters. Noise users explicitly labeled rather than force-assigned.
clusters.parquet
PHASE 07
โœ๏ธ
Archetype Labeling
Claude Haiku generates archetype names and descriptions from centroid user journeys + aggregate cluster metrics. JSON output patched back into parquet.
archetypes.parquet
๐Ÿ’ก
Data access is a deployment decision โ€” NDJSON export for internal POC, Warehouse Views or Storage Bucket for customer production. The pipeline itself is identical regardless of how the data arrives.
06 / 15
| Behavioral Archetype Generation 07 ยท Journey Strings
Phase 4 โ€” Journey String Construction

Sessions become sentences.

Each user's 30-day session history is flattened into a weighted token sequence โ€” a "behavioral sentence" the embedding model reads the same way it reads text. Word frequency signals importance; we exploit this by repeating high-signal tokens.

Example journey string (single user)
page:Homepage click:Deals_Nav page:Deals click:Add_to_Order_Buttonร—3 custom:order_completedร—3 page:Homepage click:Deals_Nav page:Deals click:Apply_Promo exception:payment_failed click:Add_to_Order_Buttonร—3 custom:order_completedร—3 page:Order_Menu click:Add_to_Order_Buttonร—3 ...

Cap: 120 tokens per user (most recent events). Noise events excluded: identify, log, consent, performance.

Semantic weight tiers
ร—3
Conversion-critical actions
add_to_order, place_order, checkout_btn, apple_pay
ร—2
High-intent / error signals
store_search, promo_apply, header_cart, *error*
ร—1
Standard named elements
all other labeled clicks, page views
ร—0.8
Structural noise
footer, loading, cookie_banner, spinner
Why this works

all-MiniLM-L6-v2 is a general-purpose text model. It learned from text that word frequency signals importance. Repeating click:add_to_order ร—3 in the journey string makes the model treat it as the dominant behavioral signal โ€” without retraining the model.

๐Ÿ’ก
The journey string technique is the key innovation: it converts a sequential behavioral event log into a form that pre-trained NLP embeddings can cluster on โ€” no custom model training required.
07 / 15
| Behavioral Archetype Generation 08 ยท Clustering Algorithms
Phase 5โ€“6 โ€” Reduction & Clustering

384 dimensions โ†’ 3D behavioral space

Two algorithms in sequence โ€” one to make the geometry tractable, one to find the clusters.

UMAP Dimensionality Reduction
Uniform Manifold Approximation and Projection preserves local structure while reducing 384 embedding dimensions to 3. Users who behave similarly remain close together in 3D space โ€” visualizable, rotatable, and interactive in a browser.
n_components=3  |  n_neighbors=15
min_dist=0.1  |  metric='cosine'
HDBSCAN Density Clustering
Hierarchical Density-Based Spatial Clustering finds arbitrarily-shaped clusters in the 3D space. Users below the minimum density threshold are labeled noise โ€” never force-assigned to a cluster they don't belong to.
min_cluster_size=30  |  min_samples=5
cluster_selection_epsilon=0.1  |  method='eom'
Why not k-means?
k-means requires k in advance. You don't know how many behavioral archetypes exist before running the model. HDBSCAN discovers the number of clusters from the data.
k-means assumes spherical clusters. Real behavioral groups form irregular, elongated, and concave shapes in embedding space โ€” shapes k-means merges into one centroid.
k-means forces every user into a cluster. Edge-case users with unusual journeys get assigned to the nearest centroid, polluting cluster interpretability. HDBSCAN's noise label is honest.
Tuning targets
Target noise rate 15โ€“20%
Too many micro-clusters > 30% noise
Over-merged < 10% noise
Papa Johns result 103 clusters, 18% noise
๐Ÿ’ก
100K users โ†’ 103 clusters โ†’ 18% noise. Each cluster is a real behavioral archetype, not a statistical artifact. The noise floor catches users with genuinely unique patterns โ€” neither diluting clusters nor forcing false membership.
08 / 15
| Behavioral Archetype Generation 09 ยท The Behavioral Map
Output: 3D cluster visualization

Every dot is a user.
Every cluster is an archetype.

Users are positioned by behavioral similarity โ€” the shape of their navigation across dozens of sessions. Clusters share behavioral DNA. Distance is meaningful.

Point color
Cluster assignment (archetype)
Point size
Order value (LTV proxy)
Cluster density
Behavioral cohesion (tight = strong archetype)
Noise points
Users with unique, unclassifiable journeys
Papa Johns ยท Real data ยท 103 clusters ยท ~100K users ยท Rotate to explore
๐Ÿ’ก
This is real Papa Johns data โ€” 103 named archetypes plotted in 3D behavioral space. Rotate to explore density, hover for cluster stats. Each point is a user; each cluster is a named behavioral archetype.
09 / 15
| Behavioral Archetype Generation 10 ยท Reading a Cluster
Cluster geometry as signal

The shape of a cluster tells a story.

๐Ÿ”ต
Dense & Tight
A compact, spherical cluster in 3D space. Users are very close to the centroid โ€” they follow nearly identical navigation sequences. High behavioral cohesion. Strong, reliable archetype signal.
Example: "Habitual Reorderers" โ€” same store, same items, same weekday cadence. These users are highly predictable and respond well to loyalty nudges.
๐Ÿ”ท
Elongated / Asymmetric
A stretched cluster along one axis. There is a shared behavioral core, but users diverge on a secondary dimension โ€” often a split between mobile and web, or deal-seeking vs. direct-to-cart. May warrant splitting into two archetypes.
Example: "Deal-Oriented Buyers" stretches along the deal-page visit axis โ€” one pole is coupon-first, the other is price-checking only. Both convert, but respond to different offers.
โ˜๏ธ
Diffuse / Low-Density
A loose, spread-out cluster with high internal variance. The shared signal is weak โ€” users have a behavioral theme but diverge significantly in execution. Watch these: they may be HDBSCAN catching a transitional state, not a stable archetype.
Example: "Lapsing Users" โ€” the cluster forms because they all show declining frequency, but their prior behavior was diverse. The cohesion is the lapse signal, not a shared journey shape.
๐Ÿ“
Centroid Users
The 5 users geometrically closest to the cluster center are "most representative." Their session replays are the ground truth for archetype labeling โ€” what Haiku reads to name the cluster.
๐ŸŒŠ
Cluster Boundaries
Users at the cluster edge are "behavioral neighbors" of two archetypes. These border users are often the highest-value targets for re-engagement โ€” close enough to convert but not yet stable.
๐Ÿ’ก
Cluster shape is not cosmetic โ€” it determines how confidently you can treat all cluster members identically. Tight = high confidence. Diffuse = personalize within the archetype.
10 / 15
| Behavioral Archetype Generation 11 ยท Archetype Gallery
Three archetypes from a real 103-cluster model

Narrative + properties, generated by AI from session data.

CLUSTER 12 ยท n=847 users
Habitual Loyalist
Returns weekly to the same store, navigates directly to saved favorites, and converts on the first visit with minimal browsing. High velocity, low friction.
Avg spend / visit$28.40
Sessions (30d)8.2
Full-funnel rate91%
Promo usage12%
Dead click rate3%
โ†’ Next-best action: loyalty tier nudge. These users are 1โ€“2 orders from the next reward threshold โ€” surface it at session start.
CLUSTER 34 ยท n=2,140 users
Deal-Gated Converter
Enters via Deals page on every session, applies a promo code before adding anything to cart, and abandons if no qualifying offer is found. Price-sensitive but reliably converts when the deal is right.
Avg spend / visit$18.60
Sessions (30d)4.1
Full-funnel rate58%
Promo usage88%
Deal page visits3.4/session
โ†’ Don't waste margin: this archetype converts on targeted offers. Suppress broad discounts; serve personalized 15% off at the deal page entry point.
CLUSTER 67 ยท n=312 users
Frustrated High-Value
High spend when they do convert, but session journeys contain repeated dead clicks on the Add to Order button, payment form exceptions, and 3+ checkout abandons before completing. High churn risk.
Avg spend / visit$34.20
Dead clicks4.7/session
Payment exceptions62% of users
Checkout abandons3.1 avg
Full-funnel rate34%
โ†’ Route to top-tier support automatically. Fix the payment exception surfaced in 62% of this cluster โ€” it is costing more than the entire paid acquisition budget for this cohort.
๐Ÿ’ก
These three archetypes require three completely different responses โ€” but all three are in your existing user base right now, mixed into a single "active buyers" segment most teams treat identically.
11 / 15
| Behavioral Archetype Generation 12 ยท Cross-Industry Applications
Six applications that work in every vertical

Behavioral archetypes are infrastructure, not a report.

๐Ÿ—ƒ๏ธ
CDP Enrichment
Append behavioral archetype label and flag set to every customer record. Enables segment-specific outreach that treats a "Habitual Loyalist" differently from a "Deal-Gated Converter" โ€” even when they share the same purchase history.
Real-time
๐Ÿค
CRM In-Session Personalization
Seed CRM with behavioral cluster at session start. Personalization decisions โ€” what to show, what to surface, what to suppress โ€” are informed by behavioral archetype, not just last-purchase date.
Real-time
๐Ÿค–
AI Chat Agent Context
Inject archetype label and live anomaly signals into the AI agent system prompt. The agent knows it's talking to a "Frustrated High-Value" user and responds with empathy and escalation rather than generic troubleshooting.
Real-time
๐Ÿšจ
Anomaly Detection
Individual deviation from cluster baseline is a real-time distress signal. A "Habitual Loyalist" who suddenly shows dead clicks and checkout abandons is flagging a product or payment regression โ€” before support tickets arrive.
Predictive
๐Ÿงช
A/B Test Stratification
Run experiments within archetypes, eliminating behavioral confounders. A checkout flow test on a mixed population is uninterpretable โ€” run it within "Deal-Gated Converters" and the signal is clean.
Performance
๐Ÿ“‰
Churn Prediction
Behavioral trajectory shift out of a healthy cluster is an early warning signal โ€” weeks before revenue impact. A "Habitual Loyalist" drifting toward "Lapsing" cluster geometry triggers a retention intervention automatically.
Predictive
๐Ÿ’ก
The archetype label is a portable key. Once generated, it travels with the user record into every downstream system โ€” CDP, CRM, AI agent, fraud model, A/B platform โ€” without re-running the pipeline per use case.
12 / 15
| Behavioral Archetype Generation 13 ยท Retail & Financial Services
๐Ÿ›๏ธ
Retail
Loyalty next-best-action by archetype. Deal-seeker vs. brand loyalist vs. lapsed high-LTV each warrant a different loyalty nudge โ€” a single campaign template fails all three.
Search ranking personalization. Seed the ranking model with behavioral cluster at session start. A "Direct-to-Category" archetype gets category-first results; a "Discovery Browser" gets editorial-first.
Inventory and merchandising signals. Cluster-level conversion rates by product category predict demand shape. "Mobile-First Deal Seekers" over-index on bundles โ€” restock and surface accordingly.
Customer service routing. Automatically route "Frustrated High-Value" archetype to top-tier agents โ€” before they call. Behavioral archetype as a pre-triage signal cuts handle time and churn simultaneously.
๐Ÿฆ
Financial Services
Behavioral risk profiling. Application flow behavior โ€” hesitation patterns, field corrections, session length โ€” augments credit and underwriting models with intent signals unavailable in bureau data.
Fraud detection. Significant deviation from an established behavioral archetype is a real-time anomaly flag. An "Experienced Power User" suddenly navigating like a first-time visitor is a high-confidence fraud signal.
Next-best-product recommendations. Behavioral journey through savings โ†’ investment โ†’ insurance content maps to a propensity archetype. Surface the right product at the behavioral inflection point โ€” not on a calendar schedule.
KYC and onboarding friction reduction. Low-risk behavioral archetypes (direct navigation, complete form fills, no hesitation loops) get streamlined verification flows. High-friction archetypes get guided assistance โ€” automatically.
๐Ÿ’ก
In Financial Services, the behavioral archetype is especially powerful as a non-credit risk signal โ€” it doesn't require bureau data and is available at the first session, before any transaction history exists.
13 / 15
| Behavioral Archetype Generation 14 ยท Travel & Gaming
โœˆ๏ธ
Travel & Hospitality
Upsell timing by archetype. Offer room upgrades and ancillaries to the "Impulsive Brand Loyalist" at checkout โ€” not to the "Deal-Conscious Researcher" who comparison-shops for 45 minutes before booking.
Dynamic packaging presentation. "Bundle Seekers" see package-first UX. "Itemized Control" archetypes see ร  la carte. The same inventory, presented in the format that converts each behavioral type.
Ancillary revenue targeting. Behavioral cluster predicts seat upgrade, travel insurance, and lounge access propensity โ€” surfaced at the moment of highest behavioral intent, not as a blanket post-booking email blast.
Loyalty tier nudge. Identify users whose behavioral trajectory puts them within reach of the next tier. The "Almost Platinum" archetype gets a progress bar and targeted double-miles offer โ€” before they book with a competitor.
๐ŸŽฎ
Gaming
Player retention segmentation. Casual, power, at-risk, and churning archetypes each get distinct re-engagement strategies โ€” a push notification that works for a power player who lapsed 3 days is wrong for a casual player who lapses 14.
In-game monetization timing. Surface the store offer when behavioral cluster signals peak spend propensity โ€” not on a fixed daily cadence. The "Post-Win Spender" archetype converts 3ร— better in the 90 seconds after a victory.
Live ops targeting. Determine which in-game events and content resonate with which player archetypes. "Competitive Grinders" respond to ranked-mode events; "Social Casuals" respond to squad challenges โ€” run both, target each.
Anti-churn early warning. A high-value player whose behavioral trajectory begins showing disengagement shift โ€” shorter sessions, fewer social interactions, declining spend velocity โ€” triggers an automated retention intervention before churn is confirmed.
๐Ÿ’ก
Gaming is particularly high-signal: behavioral archetypes update in near-real-time as player behavior evolves, enabling live ops decisions at the individual player level โ€” not the segment level.
14 / 15
| Behavioral Archetype Generation 15 ยท The Path Forward
From concept to running model

Seven steps from
Fullstory data to named archetypes.

1

Choose your data access method

NDJSON export (API v2) for internal POC or partner demos. Warehouse Ready-to-Analyze Views or Raw Storage Bucket for customer production pipelines.

2

Define your segment

Identify the user population: buyers, signed-in, high-session. The segment defines the behavioral space โ€” narrow it around a conversion goal.

3

Audit named elements & pages

Capture from the Fullstory UI. Ensure conversion-critical actions โ€” add to cart, place order, apply promo โ€” have clean, current selectors. Fix stale ones first.

4

Schema probe & validate

Sample 500K events to confirm timestamp format, field sparsity, and event type distribution. Applies regardless of how the data arrives.

5

Run the pipeline

Phases 1โ€“6: resolve โ†’ feature engineer โ†’ embed โ†’ cluster. DuckDB + sentence-transformers + HDBSCAN. ~2 hours on 57M events, 32GB RAM.

6

Label with Claude Haiku

5 centroid users + aggregate cluster metrics โ†’ 2โ€“4 word archetype name + one-sentence description. ~$0.80 for 103 clusters.

7

Activate downstream

Export archetype labels to CDP, CRM, or AI agent system prompt. Behavioral archetype is now a first-class field in every enterprise data system.

What you walk away with

A named, described, and quantified library of behavioral archetypes for your customer base โ€” derived from real session data, not survey responses or demographic proxies. Each archetype comes with behavioral flags, aggregate statistics, and centroid session replays you can watch in Fullstory.

Deliverables
โœ“ Interactive 3D behavioral map (Streamlit)
โœ“ Named archetype library with descriptions
โœ“ Friction hotspot map (dead clicks ร— element ร— page)
โœ“ Markov conversion lift matrix
โœ“ Rerunnable pipeline (new segment in <2h)
โœ“ Named element staleness report
Resources
Client-side injection: github.com/fullstorydev/fs-skills
Pipeline playbook: behavioral-clustering/CLAUDE.md
Reference implementation: papajohns/ (103 clusters, 100K users)
โœจ
Behavioral archetypes are not a one-time report โ€” they are a living data asset that refreshes with each export, compounds in value as downstream systems learn from it, and sharpens as semantic enrichment improves.
15 / 15