Facet
Generate hundreds of AI personas with real behavioral psychology. Simulate them through your pricing page, your copy, your feature set. Watch them reason through the decision.
The verdict isn't the point. The reasoning is.

Persona #2 of 128. A 58-year-old school administrator in Omaha encounters a $49/year subscription. Her first instinct isn't to evaluate the price — it's to check the refund terms. The reasoning traces back to a home warranty claim denied on a technicality in 2011.
What This Produces
You describe a product. Facet generates a population of psychologically detailed personas — each with a specific income, decision style, existing subscriptions, and a reason they might say no. Then it runs each one through your pricing, copy, or feature decisions.
Each persona gets:
- Behavioral economics profile — reference point, loss aversion, mental accounting, subscription fatigue, status quo bias
- Decision simulation — a four-step emotional arc (gut reaction → building considerations → moment of doubt → resolution)
- Verdict — beliefs, desires, intentions, and a representative quote in their own voice
The synthesis across all personas includes confidence grading, a sycophancy audit, a pre-mortem failure narrative, and a validation plan for what to test with real users.
What This Is (and Isn't)
Facet generates hypotheses, not evidence. The output looks like a $50K research engagement — rich narratives, specific numbers, emotional arcs — but it's all generated by an LLM that has never met a real user.
Good for: Thinking through product bets before you commit resources. Identifying objections you hadn't considered. Stress-testing pricing models and copy variants. Preparing sharper questions for real user interviews.
Not good for: Final pricing decisions. Go/no-go launch calls. Feature priority rankings (LLMs care about everything equally). Non-Western or underrepresented populations.
The accuracy hierarchy is clear:
| Approach | Accuracy | Example |
|---|
| Interview-grounded agents | ~85% | Stanford, 2024 (founding team of Simile) |
| Fine-tuned on survey data | ~78-88% | Qualtrics Edge Audiences |
| Census-calibrated panels | ~75-92% | Ditto, Toluna |
| Facet + your data | ~78-85% | --calibration with internal research |
| Rich prompting | ~70-75% | Facet (default) |
| Naive LLM query | ~63% | "Hey ChatGPT, would you buy this?" |
Facet is in the fifth row by default. Feed it your own research data — past surveys, support tickets, interview transcripts, analytics — and it moves to the fourth. The Stanford research that achieved 85% did so by grounding agents in real interview data. Facet's --calibration flag does the same thing.
Free, open source, and auditable.
Quick Start
git clone https://github.com/saraswatayu/facet.git
cd facet
./setup
# 1. Generate personas for your product
./sim.sh init --config examples/superhuman-product.md --name superhuman
# 2. Run studies against those personas
./sim.sh study --panel output/superhuman/ --config examples/superhuman-pricing.md
./sim.sh study --panel output/superhuman/ --config examples/superhuman-copy.md
# 3. Check status
./sim.sh status --panel output/superhuman/
Personas are generated once and reused across studies. A pricing study and a copy study share the same persona backgrounds.
Options
| Flag | Description | Default |
|---|
--config | Product config (init) or study config (study) | required |
--name | Study name for output directory | config filename |
--panel | Path to existing panel directory | — |
--runs | Number of simulation runs for stability testing | 1 |
--concurrency | Parallel persona generations/simulations | 5 |
--calibration | Real research data to ground personas (details) | — |
--output-dir | Override base output directory | ./output/ |
Claude Code Plugin
If you use Claude Code, install Facet as a plugin for a conversational research experience:
# As a skill (personal, available in all projects)
git clone https://github.com/saraswatayu/facet.git ~/.claude/skills/facet
# Or as a plugin (for development/testing)
git clone https://github.com/saraswatayu/facet.git
claude --plugin-dir ./facet
Then ask a product question:
/facet "Should I charge $15 or $30/month for my task management app?"
The skill scans your codebase for pricing and feature data, asks 2-3 calibration questions, generates a study config, and runs the full simulation phase by phase with progress updates. When it finishes: a research panel introduction, findings with honest confidence levels, and follow-up options. You'll get a desktop notification when the study is ready.