Human-in-the-Loop Algorithmic Design
by Adriel Frederick • VP of Product at Reddit
Former Director of Product at Lyft (Marketplace/Pricing), Early PM at Facebook (Growth/User Acquisition), Strategy Consultant at McKinsey. Originally from Trinidad and Tobago.
🎙️ Episode Context
Adriel Frederick discusses the intersection of human intuition and algorithmic scale, sharing lessons from Facebook's early growth team and Lyft's marketplace challenges. He advocates for 'Human-in-the-Loop' design where algorithms amplify human intent rather than replacing judgment. He also details the 'Marginal User' framework for debugging growth and the importance of a balanced portfolio of 'Cannonballs' (big bets) and 'Lead Bullets' (optimizations).
Problem It Solves
Prevents 'techno-utopian' failures where algorithms optimize for the wrong things (e.g., maximizing engagement via anger, or crashing prices to win market share without profit).
Framework Overview
A philosophy that treats algorithms as tools to amplify human intent rather than autonomous decision-makers. It emphasizes that while machines excel at optimization and scale, humans must provide the constraints, strategy, and judgment for unforeseen contexts.
⚖️ Best Practices
Do This
- 1
Algorithms optimize for objectives but lack context on long-term effects.
- 2
Humans must define the strategic constraints (e.g., 'don't drop prices to zero').
- 3
Design the 'interface' where human judgment guides the machine's execution.
Avoid This
- 1
Treat ML as a tool (like a screwdriver) that extends human capability, not a black box.
When to Use
Building algorithmic-heavy products (pricing, feeds, matching) where operational control and strategic nuance are required.
Common Mistakes
Feeding all data to an algorithm and expecting it to 'do the right thing'; failing to build operational tools for humans to intervene.
Real World Example
Lyft pricing algorithms: An algorithm might drop prices to $0 to win market share. A human must set the constraint (profit floor) and strategy (which market to win), allowing the algo to execute that intent at scale.
The algorithms need people to help make judgment calls... Your job is figuring out what the algorithm should be responsible for, what people are responsible for, and the framework for making decisions.
— Adriel Frederick