Scribe Detection Reference
This document provides authoritative reference information on how Scribe detects, scores, and weights visitor preferences.
Activation Thresholds
Section titled “Activation Thresholds”Scribe becomes “ready” when all three conditions are met:
| Threshold | Value | Purpose |
|---|---|---|
| Session age | ≥10 minutes | Ensures visitor is genuinely browsing, not just passing through |
| Properties viewed | ≥3 properties | Provides sufficient data to detect meaningful patterns |
| Average confidence | ≥50% | Ensures preferences are reliable enough to show visitor |
Until these thresholds are met, the floating action button displays a “Start exploring” message.
Signal Sources & Confidence
Section titled “Signal Sources & Confidence”Each behavioral signal is assigned a confidence range based on its reliability:
| Signal | What It Reveals | Confidence Range | Weight |
|---|---|---|---|
| Explicit filters | Direct user intent (price, beds, location filters) | 95% | Highest |
| Return visits | Strong interest in specific properties | 90% | Very High |
| Favorites saved | Strong positive preferences | 90% | Very High |
| Properties viewed | Price range, size, property type from listings | 30-85% | Variable |
| Photo engagement | Specific amenities of interest | 30-80% | Variable |
| Search queries | Location and feature priorities from natural language | 50-85% | High |
| Quick bounces | Deal-breakers and dislikes | 30-70% | Variable |
Engagement Scoring
Section titled “Engagement Scoring”Every property interaction is scored on a 100-point scale to weight how much it influences preferences:
| Interaction | Max Points | Full Credit Threshold |
|---|---|---|
| Time on page | 30 | 5+ minutes |
| Scroll depth | 20 | 100% of page |
| Photos viewed | 20 | All photos in carousel |
| Mortgage calculator | 10 | Used calculator |
| PDF download | 10 | Downloaded flysheet |
| Tour request | 10 | Submitted request |
| Share action | 5 | Shared property |
| Favorite action | 5 | Saved to favorites |
Total possible: 100 points per property view
Scoring Formula
Section titled “Scoring Formula”engagement_score = (time_points + scroll_points + photo_points + action_points) / 100Properties with higher engagement scores have proportionally more influence on preference detection.
Partial Credit
Section titled “Partial Credit”Points are awarded proportionally:
- Time on page: Linear scale from 0-5 minutes (6 points per minute)
- Scroll depth: Linear scale from 0-100% (0.2 points per percent)
- Photos viewed: Points per photo viewed (5 points each for 4-photo carousel)
- Actions: Full points awarded for any completion
Return Visit Detection
Section titled “Return Visit Detection”When a visitor views the same property multiple times:
| Visit Count | Confidence Boost | Weight Multiplier |
|---|---|---|
| First visit | Normal (30-85%) | 1.0x |
| Return visit | Boosted to 90% | 2.0x |
| Third visit | Remains 90% | 3.0x |
| Fourth+ visit | Remains 90% | Visit count × 1.0 |
Tracking Mechanism
Section titled “Tracking Mechanism”Return visits are tracked in browser localStorage:
{ "idx_property_views": { "listing_12345": [ "2024-01-15T10:30:00Z", "2024-01-16T14:20:00Z", "2024-01-17T09:15:00Z" ] }}Timestamps persist across sessions within the same browser.
Negative Preferences
Section titled “Negative Preferences”Scribe tracks what visitors don’t want by detecting quick bounces.
Bounce Detection Criteria
Section titled “Bounce Detection Criteria”| Metric | Threshold | Meaning |
|---|---|---|
| Time on page | <5 seconds | Too quick to be interested |
| Scroll depth | <20% | Didn’t engage with content |
| Bounce count | 3+ properties | Consistent pattern detected |
Tracked Attributes
Section titled “Tracked Attributes”Negative preferences are inferred for:
- Property type (single_family, condo, townhome, etc.)
- Price bucket (under $300k, $300k-$500k, $500k-$750k, etc.)
- Specific features (HOA, no garage, no yard, etc.)
Display
Section titled “Display”Negative preferences appear with a “Not interested” label and are excluded from:
- Agent matching algorithms
- Search suggestions
- Automated property alerts
Photo Feature Detection
Section titled “Photo Feature Detection”When visitors browse property photos, Scribe tracks engagement at the photo level.
Dwell Time Tracking
Section titled “Dwell Time Tracking”| Dwell Duration | Weight | Notes |
|---|---|---|
| <500ms | 0 points | Considered a quick scroll-past |
| 500ms-2s | 1 point | Casual viewing |
| 2s-5s | 2 points | Moderate interest |
| 5s+ | 3 points | Strong interest |
Zoom Interactions
Section titled “Zoom Interactions”Zooming into a photo adds:
- +5 points to that photo’s engagement score
- +2% confidence to any features detected in that photo
Feature Recognition
Section titled “Feature Recognition”Features become preferences when:
- Viewed for 5+ seconds total across all photos
- Detected in 2+ properties
- Average confidence ≥40%
Common detected features:
- Kitchen: granite countertops, island, stainless appliances, pantry
- Bathroom: soaking tub, walk-in shower, double vanity
- Exterior: pool, covered patio, mountain views, 3-car garage
- Interior: fireplace, vaulted ceilings, hardwood floors, built-ins
Search Query Analysis
Section titled “Search Query Analysis”Natural language searches are analyzed for feature keywords.
Keyword Extraction
Section titled “Keyword Extraction”"modern home with pool near downtown" ↓ ↓ ↓ style pref feature locationConfidence Assignment
Section titled “Confidence Assignment”| Mention Count | Confidence | Example |
|---|---|---|
| 1 mention | 40% | “pool” mentioned once |
| 2 mentions | 65% | “pool” mentioned in 2 searches |
| 3+ mentions | 85% | “pool” mentioned in 3+ searches |
Keywords must appear in 2+ searches to become inferred preferences.
Feature Synonym Mapping
Section titled “Feature Synonym Mapping”The system recognizes synonyms:
- “pool” = “swimming pool” = “outdoor pool”
- “granite” = “granite counters” = “granite countertops”
- “garage” = “car garage” = “parking”
Confidence Score Ranges
Section titled “Confidence Score Ranges”Each preference includes a confidence score (0-100%):
| Confidence | Source | Display Behavior |
|---|---|---|
| 100% | User confirmed or manually added | Always shown, cannot be overridden |
| 85-95% | Explicit filter applied by user | Always shown, high priority |
| 60-85% | Return visit or strong signal | Shown with “detected” label |
| 30-70% | Inferred from passive browsing | Shown with confidence % |
| Under 30% | Insufficient evidence | Not shown to visitor |
Confidence Decay
Section titled “Confidence Decay”Preferences decay over time if contradicted by new behavior:
- Per-session decay: 2% per contradicting property view
- Minimum floor: Inferred preferences cannot decay below 20%
- User-confirmed: No decay (remains at 100%)
Example: Visitor initially viewed $400k-$500k properties (65% confidence), then viewed 5 properties at $600k-$700k. Original preference decays to 55%, new range emerges at 70%.
Match Score Calculation
Section titled “Match Score Calculation”Agent matching uses cosine similarity between embeddings:
Formula
Section titled “Formula”similarity_score = 1 - (criteria_embedding <=> preference_embedding) / 2match_percentage = similarity_score * 100Match Labels
Section titled “Match Labels”| Score | Label | Threshold |
|---|---|---|
| ≥80% | Excellent Match | Strong semantic alignment |
| ≥60% | Great Match | Good fit for preferences |
| ≥40% | Good Match | Relevant experience |
| <40% | Available | General availability |
Fallback Behavior
Section titled “Fallback Behavior”If fewer than 3 agents score ≥40%:
- Add brokerage’s primary agent with 50% score
- Fall back to first eligible agents by join date
- Return empty list only if brokerage has zero agents
Browser Storage Schema
Section titled “Browser Storage Schema”Scribe uses localStorage for client-side state:
| Key | Type | Purpose | Expiry |
|---|---|---|---|
scribe_disabled | boolean | Permanent opt-out flag | Never |
scribe_dismissed | timestamp | Temporary snooze until time | 24 hours |
idx_property_views | object | Return visit tracking | Session |
Data Format
Section titled “Data Format”{ "scribe_disabled": false, "scribe_dismissed": "2024-01-15T14:30:00Z", "idx_property_views": { "listing_12345": ["2024-01-15T10:00:00Z"] }}Session-to-Client Sync
Section titled “Session-to-Client Sync”When a visitor converts, session data syncs to CRM if confidence ≥70% or confirmed:
| Session Data | Client Field | Sync Condition |
|---|---|---|
| Price preferences | budget_min, budget_max | Confidence ≥70% or confirmed |
| Location preferences | preferred_areas | Confidence ≥70% or confirmed |
| Property types | property_types | Confidence ≥70% or confirmed |
| Bedroom preferences | beds_min | Confidence ≥70% or confirmed |
| Bathroom preferences | baths_min | Confidence ≥70% or confirmed |
| Freeform notes | notes (appended) | Always synced |
| Assigned agent | assigned_agent_id | Always synced |
Related References
Section titled “Related References”- Understanding Scribe — Conceptual overview
- Using Scribe — Practical usage guide
- Scribe API — API endpoints and integration