Sample data and analysis code for a LaBrowser example study.
15 participants chose between three laptops (MacBook Pro M3, ThinkPad X1 Carbon, Dell XPS 15) while answering survey questions in LaBrowser's experiment pane. The browsing data reveals what surveys alone never could: what people say matters to them and what they actually research are often very different.
This repository contains the exported data and a Jupyter notebook that reproduces the analysis shown on the showcase page.
| File | Records | Description |
|---|---|---|
data/events.json |
~2,600 events | Raw event stream including INPUT_SUBMIT from the experiment pane survey |
data/google_search_v1.json |
~52 sessions | Derived Google search sessions (participants researching laptops) |
data/study_config.json |
1 config | Study configuration with experiment pane in URL mode |
All files use the exact export format from the LaBrowser Study Console.
- Participants who said "price was most important" spent 51% of their browsing time reading performance reviews — and only 15% comparing prices
- Participants who chose the MacBook barely looked at ThinkPad reviews despite claiming they "considered all options equally"
- Scroll depth correlates with decision confidence: participants who scrolled deeper through reviews reported higher confidence in their final choice (r = 0.82)
- This analysis is only possible with LaBrowser — no survey tool, browser extension, or screen recording gives you paired explicit + implicit data in a single timeline
# Clone and set up
git clone https://github.com/technologylab-ai/labrowser-example-product-decision
cd labrowser-example-product-decision
pip install -r requirements.txt
# Run the analysis notebook
jupyter lab analysis.ipynb
# Or run the script version
python analysis.py- Python 3.10+
- See
requirements.txtfor packages (pandas, numpy, matplotlib, seaborn, plotly, jupyter)
LaBrowser's experiment pane (URL mode) displayed a survey alongside the browser pane:
- Participants browsed freely — searching for laptop reviews, specs, and prices
- The experiment pane showed survey questions: "Which laptop would you buy?", "What was the most important factor?", etc.
- Survey responses arrived as
INPUT_SUBMITevents withservice: "experiment_pane"— in the same event stream as browsing events - The analysis pairs what participants said (survey) with what they did (browsing behavior)
Each event has:
{
"id": "uuid",
"session_id": "uuid",
"tab_id": "uuid",
"timestamp_utc": "2025-11-20T10:15:30.123Z",
"event_type": "NAVIGATE|PAGE_LOADED|CLICK|SCROLL|INPUT_SUBMIT|TAB_OPENED|...",
"page_id": "uuid",
"url": "https://...",
"payload": { }
}Survey responses are INPUT_SUBMIT events with:
{
"field_role": "survey_response",
"service": "experiment_pane",
"text": "MacBook Pro M3",
"url": "https://survey.example.com/laptop-study",
"selector": "...",
"submit_method": "form_submit"
}Each derived session has:
{
"id": "uuid",
"study_id": "uuid",
"session_id": "uuid",
"parser_id": "google_search_v1",
"type": "google_search",
"start_time": "2025-11-20T10:15:30.123Z",
"end_time": "2025-11-20T10:20:45.678Z",
"payload": {
"query": "MacBook Pro M3 review",
"serp_url": "https://www.google.com/search?q=...",
"result_clicks": [...],
"session_duration_ms": 315555
}
}LaBrowser is a dedicated research browser for behavioral studies. Participants use it instead of their normal browser — everything inside is logged as structured, typed events. Everything outside is untouched.
Learn more at labrowser.app and see the matching showcase page at labrowser.app/examples/product-decision.