Tutorial: Researching Agentic Commerce Discourse¶
This tutorial walks through a complete Social Scout research project — from question formulation to reading the final report. We use "agentic commerce" (AI agents that autonomously make purchasing decisions) as a worked example.
Research question¶
How does the Reddit community perceive AI-driven autonomous purchasing agents, and what psychological and strategic implications can be drawn from their discourse?
This is a good fit for Social Scout because: - The topic is recent and active on Reddit - The discourse spans emotional reactions, technical debates, and policy concerns - We want qualitative depth, not just sentiment scores
Step 0 — Set up the project¶
scout project create agentic-commerce \
--description "Public discourse on AI autonomous purchasing agents (2025)"
Confirm it was created:
Project: agentic-commerce
Description: Public discourse on AI autonomous purchasing agents (2025)
Status: created
Created: 2026-02-21T10:00:00Z
Step 1 — Data collection strategy¶
Before collecting, think about which keywords and communities will capture the discourse you care about.
Good keywords cover synonyms and related concepts:
agentic commerce, AI shopping, autonomous purchasing, AI agent buying,
agentic AI retail, shopping agent, automated purchasing
Good communities for tech/AI discourse:
technology, futurology, singularity, MachineLearning,
artificial, ArtificialIntelligence, business, economy
Run the collection:
scout collect agentic-commerce \
--keywords "agentic commerce,AI shopping,autonomous purchasing,shopping agent" \
--communities technology,futurology,singularity,MachineLearning \
--sort top \
--time year \
--max-items 10000 \
--include-comments
Start small
For a first run, use --max-items 500 to verify results quickly. Scale up once the topic scope looks right.
After collection completes:
✓ Collected 8,432 records from 4 communities
Output: projects/agentic-commerce/raw/raw_data.ndjson
Collection time: 4m 12s
Step 2 — Preprocessing¶
The preprocessing step cleans text and optionally extracts named entities (brand names, products, people, organisations).
scout preprocess agentic-commerce \
--min-length 30 \
--extract-entities \
--entity-labels "BRAND,PRODUCT,ORG,PERSON" \
--entity-threshold 0.5
--min-length 30: discard very short posts that lack content (removes ~15% of records).
--extract-entities: GLiNER scans each document for named entities. These are stored alongside the cleaned text and used by agents to ground findings in specific real-world actors.
After preprocessing:
✓ Preprocessed 7,184 records (dropped 1,248 below min-length)
Entities extracted: 12,457 mentions (BRAND: 3,211, PRODUCT: 2,980, ORG: 4,107, PERSON: 2,159)
Output: projects/agentic-commerce/cleaned/cleaned_data.parquet
Step 3 — Topic modeling¶
BERTopic uses sentence embeddings to cluster semantically similar documents into topics. Social Scout offers seven complementary techniques.
Choosing techniques¶
| Technique | Good when you want to… |
|---|---|
basic |
Get a first map of the topic landscape |
dynamic |
See how topics grew or shrank over months |
hierarchical |
Zoom in/out between macro and micro themes |
sentiment-topic |
Know whether sentiment is positive/negative per topic |
network |
Find which topics co-occur in the same posts |
zero-shot |
Test a hypothesis (e.g., "privacy concerns") |
class-based |
Compare topics across subreddits or post types |
For a comprehensive study, run all techniques:
First run takes longer
The first run downloads a sentence-transformer model (~500 MB) and builds embeddings. Embeddings are cached at projects/agentic-commerce/topics/embeddings.npy, so subsequent technique runs are much faster.
Sample output:
✓ Topic modeling complete
Technique: basic — 23 topics discovered (outliers: 8.3%)
Technique: dynamic — 23 topics × 12 time slices
Technique: hierarchical — 6 macro-topics, 23 micro-topics
Technique: sentiment — 18/23 topics net-positive
Technique: network — 3 topic clusters identified
Technique: zero-shot — 5/6 hypothesis topics confirmed
Technique: class-based — topic distributions per subreddit
Output: projects/agentic-commerce/topics/topics.parquet
Interpreting topic names¶
BERTopic auto-labels topics from their top keywords. After modeling, inspect the topic list:
# The topics.parquet file contains columns:
# topic_id, name, count, weight, words, word_scores, representative_docs
A typical topic might look like:
Topic 3: "privacy_data_surveillance_consent_tracking"
Count: 412 documents (5.7% of corpus)
Weight: 0.068
Top words: privacy (0.82), data (0.71), surveillance (0.68), consent (0.61)
Step 4 — Multi-agent analysis¶
The analysis step deploys five AI agents that each read the topic model and produce structured findings. Each finding must cite a specific source record — uncited claims are blocked from the final report.
What happens internally¶
- Data Analyst reads
topics.parquetand writes quantitative pattern findings (frequency distributions, outlier rates, dominant themes) - Consumer Psychologist interprets the emotional and cognitive drivers behind each topic cluster
- Strategy Advisor derives stakeholder implications (what should marketers, product teams, and policymakers do?)
- Critical Reviewer challenges each finding from the other agents, flags speculative or unsupported claims
- Chief Theorist synthesizes all validated findings into a unified theoretical framework
The agents run sequentially and can reference each other's output.
LLM API usage
This step makes multiple API calls to your configured LLM provider. Gemini and Anthropic both charge per token. For a corpus of 7,000 documents with 23 topics, expect roughly 30–60k input tokens per agent run.
Step 5 — Reading the report¶
The report is structured in three sections:
Executive Summary¶
Written by the Chief Theorist, this synthesises all validated findings into 3–5 key paragraphs with an overarching theoretical interpretation.
Example excerpt:
The discourse around agentic commerce reveals a fundamental tension between efficiency optimism and autonomy anxiety. Users who embrace the technology frame it through productivity gains and information advantages. Critics cluster around three failure modes: accountability gaps when AI makes bad purchases, privacy erosion from persistent preference tracking, and erosion of consumer agency as defaults replace deliberate choice.
Key Findings by Perspective¶
Each agent's validated findings, with inline source citations:
### Data Analyst
**F001** [pattern, confidence: high]
Privacy and data-sharing concerns appear in 18.3% of all posts, making it the
second most prevalent theme after general AI enthusiasm (31.2%).
*Citations: [rec_ghi789](citation-3), [rec_abc123](citation-1)*
**F002** [pattern, confidence: high]
Dynamic topic modeling reveals a 340% increase in "accountability" discourse
between Q1 and Q3 2025, coinciding with high-profile autonomous-purchase errors.
*Citations: [rec_def456](citation-2)*
Source Citations Index¶
Numbered index of every cited source record, including the text excerpt used to support each finding.
Understanding the metadata¶
{
"id": "report-uuid-...",
"project_name": "agentic-commerce",
"created_at": "2026-02-21T10:45:32Z",
"total_findings": 18,
"total_citations": 34,
"uncited_findings": 0,
"hallucination_flags": 2,
"duration_seconds": 312.4,
"agents_used": ["Data Analyst", "Consumer Psychologist", "Strategy Advisor", "Critical Reviewer", "Chief Theorist"],
"llm_models": {
"Data Analyst": "claude-sonnet-4-6",
"Consumer Psychologist": "gemini/gemini-3.0-pro-preview",
"Strategy Advisor": "claude-sonnet-4-6",
"Critical Reviewer": "claude-sonnet-4-6",
"Chief Theorist": "gemini/gemini-3.0-pro-preview"
}
}
hallucination_flags: number of claims the Critical Reviewer flagged as inadequately supported (these are included in the report with a warning marker, not silently removed)uncited_findings: always 0 in a successfully written report — the pipeline enforces this
Tips for better results¶
Larger corpus = richer topics Aim for at least 2,000 documents. BERTopic needs sufficient documents per cluster to produce meaningful topics. Below 500 documents, topic quality degrades significantly.
Iterate on keywords
After a first run, inspect topics.parquet to see what topics emerged. If important themes are missing, add missing keywords and re-collect.
Use zero-shot to test hypotheses
If you expect a specific theme (e.g., "regulatory concern"), use --zeroshot-topics "regulatory concern,policy,legislation" to see how prevalent it is even if BERTopic didn't surface it naturally.
Rerun analysis without recollecting
If you want to try different LLM models or agent configurations, you can re-run scout analyze without redoing the expensive collection and modeling steps.