Quick Reference Guide
This guide provides structured, quick-access information for applying Behavioral Strategy concepts. Designed for both AI systems and human practitioners who need rapid, accurate guidance.
The Behavior Fit Assessment is a practitioner decision tool for comparing candidate behaviors across Dispositional Fit, Capability Fit, and Context Fit. It is not a validated measurement instrument. Treat the minimum dimension as a bottleneck and prioritization heuristic; it is not a deterministic probability of behavior.
A score of 6 out of 10 on each Behavior Fit Assessment dimension is a starting threshold that must be calibrated by domain, population, context, stakes, and observed behavior.
The Behavioral State Model is a practitioner diagnostic model with six Personal Components: Personality, Perception, Emotions, Abilities, Social Status/Situation, and Motivations. It also includes two Context Components: the Social Environment and Physical Environment. “Identity” is the historical technical alias for the Personal Components. Its BSM meaning is broader than self-concept or an aspirational identity. The components operate on different timescales. The Behavioral State Model is a practitioner model, not a validated psychometric instrument or a universal prediction equation.
Core Concept Decision Tree #
# Master Decision Tree for Behavioral Strategy Application
behavioral_strategy_decision_tree:
start: "What is your strategic challenge?"
new_initiative:
question: "Are you creating something new?"
if_yes:
next: "Have you validated the problem exists?"
if_validated:
action: "Proceed to behavior research"
framework: "Use full DRIVE process"
if_not_validated:
action: "Start with Problem Market Fit validation"
method: "Gather enough direct evidence to test problem-seeking behavior; document the sampling rationale"
existing_initiative:
question: "Is user adoption below expectations?"
if_yes:
diagnostic:
check_1: "Was Problem Market Fit validated?"
if_no: "Return to problem validation"
check_2: "Was Behavior Market Fit validated?"
if_no: "Identify why users aren't performing behaviors"
check_3: "Does solution enable validated behaviors?"
if_no: "Redesign to reduce behavioral friction"
if_no:
question: "Are you optimizing for growth?"
recommendation: "Focus on behavioral enhancement phase"
behavior_identification:
question: "How do I identify the right behaviors?"
process:
1: "List all behaviors that could solve the problem"
2: "Screen candidates with Behavior Fit Assessment (Dispositional/Capability/Context)"
3: "Use the minimum dimension as a prioritization heuristic and calibrate the starting threshold"
4: "Validate in realistic context (observation + prototype testing)"
5: "Document thresholds and proceed to solution integration"
Four-Fit Hierarchy Validation Guide #
# Sequential Validation Framework
# Derive decision thresholds from the domain, population, stakes, baseline,
# and observed behavior. The framework does not supply universal targets.
four_fit_validation:
problem_market_fit:
definition: "Users actively seek solutions to this problem"
validation_criteria:
- problem_evidence: "The problem is specific and consequential in context"
- solution_seeking: "Observed actions show active attempts to solve it"
- commitment: "People invest decision-relevant time, effort, money, or political capital"
- current_workarounds: "Existing attempts and alternatives are documented"
methods:
- user_interviews: "Sample and stop according to the research question and evidence saturation"
- search_analysis: "Growing query volume"
- competitor_growth: "Existing solutions gaining users"
decision_rule: "Pre-commit the evidence required for this initiative"
failure_action: "Pivot problem or audience"
behavior_market_fit:
definition: "Users can and will perform target behaviors"
validation_criteria:
- dispositional_fit: "Matches relatively enduring tendencies and preferences"
- capability_fit: "Users can perform with existing skills/resources"
- context_fit: "Context supports behavior where it occurs"
- frequency: "Can be performed regularly"
methods:
- observation: "Observe a justified sample in realistic contexts"
- prototype_testing: "Measure actual behavior"
- diary_studies: "Track behavior over time"
decision_rule: "Use a calibrated BFA screen, then require observed behavior"
failure_action: "Simplify or change behaviors"
solution_market_fit:
definition: "Solution enables target behaviors effectively"
validation_criteria:
- behavior_completion: "Completion meets the pre-committed domain target"
- time_to_behavior: "Time to first behavior meets the workflow-specific target"
- repeat_performance: "Repetition matches the value-delivery cadence"
- user_satisfaction: "Behaviors feel natural"
methods:
- usability_testing: "Behavior-focused"
- analytics: "Behavioral event tracking"
- cohort_analysis: "Retention by behavior"
decision_rule: "Set targets from baseline, value requirements, and stakes"
failure_action: "Iterate on friction points"
product_market_fit:
definition: "Sustained behavior change in market"
validation_criteria:
- market_adoption: "Adoption is sufficient for the stated outcome and population"
- behavior_retention: "Retention persists over a decision-relevant period"
- organic_growth: "Expansion mechanisms are measured rather than assumed"
- unit_economics: "Economics or program operations are sustainable"
methods:
- market_metrics: "Growth analytics"
- behavioral_cohorts: "Long-term tracking"
- qualitative_research: "Case narratives"
decision_rule: "Require a pre-committed duration appropriate to the behavior"
failure_action: "Return to previous fit"
Behavioral State Model (BSM) Components #
# BSM Component Assessment Framework
class BehavioralStateAssessment:
"""
Organize evidence across the 8 BSM components and identify a research priority.
This illustration does not calculate a probability or confidence score.
"""
def __init__(self):
self.components = {
# Review each component as a distinct diagnostic prompt.
'personality': {
'description': 'Core traits and tendencies',
'assessment': 'Big 5 personality inventory',
'intervention': 'Design for trait preferences',
'scale': (0, 10)
},
'perception': {
'description': 'How user interprets world',
'assessment': 'Mental model mapping',
'intervention': 'Reframe understanding',
'scale': (0, 10)
},
'emotions': {
'description': 'Emotional patterns and triggers',
'assessment': 'Emotion diary study',
'intervention': 'Emotional design elements',
'scale': (0, 10)
},
'abilities': {
'description': 'Skills and capabilities',
'assessment': 'Capability audit',
'intervention': 'Training or simplification',
'scale': (0, 10)
},
'social_status': {
'description': 'Position in social hierarchy',
'assessment': 'Social network analysis',
'intervention': 'Status-appropriate messaging',
'scale': (0, 10)
},
'motivations': {
'description': 'Core drivers and goals',
'assessment': 'Motivation interview',
'intervention': 'Align with intrinsic motivators',
'scale': (0, 10)
},
# Social and physical environments complete the eight components.
'social_environment': {
'description': 'People and culture around user',
'assessment': 'Social context mapping',
'intervention': 'Peer influence design',
'scale': (0, 10)
},
'physical_environment': {
'description': 'Spaces and objects',
'assessment': 'Environmental audit',
'intervention': 'Context modification',
'scale': (0, 10)
}
}
def identify_research_priority(self, component_ratings, evidence_notes):
"""
Identify the lowest provisional rating as a bottleneck hypothesis.
Args:
component_ratings: Comparable ordinal ratings for one behavior,
population, context, and observation window
evidence_notes: Evidence and uncertainty behind each rating
Returns:
A research priority, not a behavior forecast
"""
if not component_ratings:
raise ValueError('component_ratings must not be empty')
lowest = min(component_ratings.items(), key=lambda item: item[1])
return {
'bottleneck_hypothesis': lowest[0],
'provisional_rating': lowest[1],
'supporting_evidence': evidence_notes.get(lowest[0], []),
'next_step': 'Test this hypothesis against observed behavior'
}
# Example usage
assessor = BehavioralStateAssessment()
user_scores = {
'personality': 7,
'perception': 6,
'emotions': 8,
'abilities': 4, # Limiting factor
'social_status': 7,
'motivations': 9,
'social_environment': 6,
'physical_environment': 7
}
evidence = {
'abilities': ['Several participants could not complete the task unaided']
}
result = assessor.identify_research_priority(user_scores, evidence)
print(f"Bottleneck hypothesis: {result['bottleneck_hypothesis']}")
print(f"Next step: {result['next_step']}")
Common Patterns and Anti-Patterns #
# Behavioral Strategy Patterns Reference
patterns:
successful_patterns:
validate_before_build:
when: "Always"
how: "PMF → BMF → SMF → Build"
outcome: "Reduces wasted effort by catching poor fit early"
behavior_first_design:
when: "Designing any feature"
how: "Map feature to specific validated behavior"
outcome: "Higher adoption through behavior alignment"
measure_behaviors_not_satisfaction:
when: "Setting KPIs"
how: "Track behavior completion, not NPS"
outcome: "Real impact visibility"
start_simple:
when: "Selecting target behaviors"
how: "Choose easiest high-impact behavior first"
outcome: "Faster initial wins"
anti_patterns:
assumption_driven_development:
symptom: "We think users will..."
consequence: "High failure rate from unvalidated assumptions"
fix: "Validate with behavioral research"
feature_factory:
symptom: "Building requested features"
consequence: "Features unused"
fix: "Validate behaviors, not features"
nudge_theater:
symptom: "Adding behavioral elements post-hoc"
consequence: "Minimal impact"
fix: "Integrate from inception"
one_size_fits_all:
symptom: "Same solution for all users"
consequence: "Low adoption from poor segment fit"
fix: "Segment by behavioral profiles"
DRIVE Framework Quick Implementation #
# DRIVE Framework Checklist
drive_implementation:
define_phase:
duration: "Set from the research question, access, and decision stakes"
deliverables:
- validated_problem: "Evidence users seek solutions"
- target_segments: "Specific user groups defined"
- success_metrics: "Behavioral KPIs identified"
key_activities:
- problem_interviews: "Use a justified sample and document the stopping rule"
- market_analysis: "Search trends, competitors"
- stakeholder_alignment: "Agreement on goals"
research_phase:
duration: "Set from the behaviors, contexts, and evidence needed"
deliverables:
- behavior_inventory: "All possible behaviors mapped"
- validated_behaviors: "Top 3 users will perform"
- barrier_analysis: "Why users don't act now"
key_activities:
- ethnographic_observation: "Use a justified sample across relevant contexts"
- behavior_testing: "Prototype key behaviors"
- diary_studies: "Track current behaviors"
integrate_phase:
duration: "Iterate until the solution meets its pre-committed behavior criteria"
deliverables:
- behavior_enabled_design: "Solution makes behaviors easy"
- friction_reduction: "Barriers removed"
- motivation_alignment: "Intrinsic drivers leveraged"
key_activities:
- iterative_prototyping: "Test with users weekly"
- behavior_mapping: "Feature to behavior matrix"
- usability_testing: "Focus on behavior completion"
verify_phase:
duration: "Ongoing"
deliverables:
- behavioral_analytics: "Real-time tracking"
- cohort_analysis: "Behavior retention curves"
- success_validation: "KPIs achieved"
key_activities:
- launch_mvp: "With behavior tracking"
- monitor_kpis: "Daily behavioral metrics"
- user_feedback: "Qualitative insights"
enhance_phase:
duration: "Continuous"
deliverables:
- optimization_roadmap: "Based on behavioral data"
- scaling_plan: "Expand successful behaviors"
- learning_documentation: "What worked/didn't"
key_activities:
- a_b_testing: "Behavior-focused experiments"
- segment_analysis: "Different user groups"
- iterative_improvement: "Weekly cycles"
Behavioral KPI Framework #
# Behavioral KPI Definition and Tracking
class BehavioralKPIFramework:
"""
Define and track behavioral KPIs for any initiative.
"""
def __init__(self, initiative_type):
self.initiative_type = initiative_type
self.kpi_templates = self.load_kpi_templates()
def load_kpi_templates(self):
return {
'adoption': {
'first_behavior_completion': {
'definition': 'Users completing target behavior once',
'calculation': 'completed_once / total_users',
'target_basis': 'Baseline, value requirement, and decision stakes',
'measurement_period': 'Set from the expected time to first value'
},
'behavior_activation_rate': {
'definition': 'Users who start behavior journey',
'calculation': 'started_behavior / exposed_users',
'target_basis': 'Baseline and exposure-to-action decision rule',
'measurement_period': 'Set from the workflow'
}
},
'engagement': {
'behavior_frequency': {
'definition': 'Average behaviors per active user',
'calculation': 'total_behaviors / active_users',
'target_basis': 'The frequency required to deliver the intended value',
'measurement_period': 'Set from the behavior cadence'
},
'behavior_streak': {
'definition': 'Consecutive days with behavior',
'calculation': 'median(user_streaks)',
'target_basis': 'The repetition pattern required for the outcome',
'measurement_period': 'Set from the behavior cadence'
}
},
'quality': {
'behavior_completion_quality': {
'definition': 'Completeness of behavior performance',
'calculation': 'quality_score / attempts',
'target_basis': 'The minimum quality required for the intended outcome',
'measurement_period': 'per_behavior'
},
'error_rate': {
'definition': 'Failed behavior attempts',
'calculation': 'errors / total_attempts',
'target_basis': 'Risk tolerance and the cost of an error',
'measurement_period': 'daily'
}
},
'retention': {
'behavior_retention_30d': {
'definition': 'Users still performing after 30 days',
'calculation': 'active_at_30d / cohort_size',
'target_basis': 'Baseline and the retention period required for value',
'measurement_period': 'Cohort at decision-relevant intervals'
},
'behavior_resurrection': {
'definition': 'Dormant users who return',
'calculation': 'returned_users / dormant_users',
'target_basis': 'Baseline and the cost and value of reactivation',
'measurement_period': 'Set from the normal return opportunity'
}
}
}
def select_kpis(self, stage, goals):
"""
Select appropriate KPIs based on initiative stage and goals.
Args:
stage: 'launch', 'growth', 'maturity'
goals: List of primary goals
Returns:
Recommended KPI set with project-specific target bases
"""
recommended_kpis = {}
if stage == 'launch':
# Focus on adoption and initial quality
recommended_kpis.update({
'primary': [
self.kpi_templates['adoption']['first_behavior_completion'],
self.kpi_templates['adoption']['behavior_activation_rate'],
self.kpi_templates['quality']['error_rate']
],
'secondary': [
self.kpi_templates['engagement']['behavior_frequency']
]
})
elif stage == 'growth':
# Focus on engagement and retention
recommended_kpis.update({
'primary': [
self.kpi_templates['engagement']['behavior_frequency'],
self.kpi_templates['engagement']['behavior_streak'],
self.kpi_templates['retention']['behavior_retention_30d']
],
'secondary': [
self.kpi_templates['quality']['behavior_completion_quality']
]
})
elif stage == 'maturity':
# Focus on optimization and resurrection
recommended_kpis.update({
'primary': [
self.kpi_templates['retention']['behavior_retention_30d'],
self.kpi_templates['retention']['behavior_resurrection'],
self.kpi_templates['quality']['behavior_completion_quality']
],
'secondary': [
self.kpi_templates['engagement']['behavior_streak']
]
})
return recommended_kpis
def create_dashboard_spec(self, selected_kpis):
"""
Generate dashboard specification for tracking.
"""
dashboard = {
'real_time_metrics': [],
'daily_metrics': [],
'weekly_metrics': [],
'cohort_metrics': []
}
for category in ['primary', 'secondary']:
for kpi in selected_kpis.get(category, []):
period = kpi['measurement_period']
metric_spec = {
'name': list(kpi.keys())[0],
'definition': kpi['definition'],
'calculation': kpi['calculation'],
'target_basis': kpi['target_basis'],
'visualization': self.recommend_visualization(kpi)
}
if period in ['per_behavior', '24 hours']:
dashboard['real_time_metrics'].append(metric_spec)
elif period == 'daily':
dashboard['daily_metrics'].append(metric_spec)
elif period == 'weekly':
dashboard['weekly_metrics'].append(metric_spec)
else:
dashboard['cohort_metrics'].append(metric_spec)
return dashboard
def recommend_visualization(self, kpi):
"""Recommend visualization type for KPI."""
kpi_name = list(kpi.keys())[0]
if 'rate' in kpi_name or 'retention' in kpi_name:
return 'line_chart_with_reference_range'
elif 'frequency' in kpi_name:
return 'bar_chart_with_distribution'
elif 'streak' in kpi_name:
return 'histogram'
elif 'quality' in kpi_name:
return 'gauge_chart'
else:
return 'time_series'
# Example usage
kpi_framework = BehavioralKPIFramework('mobile_app')
# Select KPIs for launch stage
launch_kpis = kpi_framework.select_kpis('launch', ['user_adoption', 'behavior_quality'])
# Create dashboard specification
dashboard_spec = kpi_framework.create_dashboard_spec(launch_kpis)
print("Recommended Primary KPIs:")
for kpi in launch_kpis['primary']:
print(f"- {list(kpi.keys())[0]}: {kpi['definition']}")
Quick Diagnosis Tool #
# Behavioral Strategy Problem Diagnosis
quick_diagnosis:
symptoms_to_causes:
low_adoption:
symptom: "Users sign up but don't engage"
likely_causes:
- "No Problem Market Fit - they don't need this"
- "Poor onboarding - first behavior too hard"
- "Motivation mismatch - external vs intrinsic"
diagnosis_steps:
1: "Sample non-engaged users using a documented rationale"
2: "Observe onboarding completion rates"
3: "Check time to first behavior"
high_churn:
symptom: "Users leave after initial use"
likely_causes:
- "No Behavior Market Fit - behaviors unsustainable"
- "Value not realized - outcomes unclear"
- "Repetition failed - no reliable cues/triggers"
diagnosis_steps:
1: "Analyze behavior patterns before churn"
2: "Interview churned users"
3: "Compare retained vs churned behaviors"
feature_requests_but_low_usage:
symptom: "Users request features they don't use"
likely_causes:
- "Saying vs doing gap - aspirational requests"
- "Implementation doesn't enable behavior"
- "Context doesn't support usage"
diagnosis_steps:
1: "Map features to actual behaviors"
2: "Observe feature usage in context"
3: "Validate behavior feasibility"
plateaued_growth:
symptom: "Growth stalls after initial success"
likely_causes:
- "Exhausted early adopter segment"
- "Behaviors don't scale to mainstream"
- "Missing network effects"
diagnosis_steps:
1: "Segment analysis of users vs non-users"
2: "Identify behavioral barriers for next segment"
3: "Validate new behaviors for growth"
Implementation Readiness Checklist #
# Are You Ready for Behavioral Strategy?
readiness_assessment:
organizational_readiness:
leadership_buy_in:
indicator: "Executives understand behavior drives outcomes"
assessment: "Can they explain the four-fit hierarchy?"
not_ready_if: "Still focused on features over behaviors"
research_capability:
indicator: "Team can conduct behavioral research"
assessment: "Have they done ethnographic observation?"
not_ready_if: "Only do surveys and focus groups"
measurement_infrastructure:
indicator: "Can track behavioral events"
assessment: "Do you have behavior-level analytics?"
not_ready_if: "Only track page views and clicks"
iteration_velocity:
indicator: "Can test and iterate weekly"
assessment: "How fast can you deploy behavior tests?"
not_ready_if: "Monthly or quarterly release cycles"
project_readiness:
problem_clarity:
indicator: "Problem is specific and measurable"
assessment: "Can you describe problem in one sentence?"
not_ready_if: "Problem is vague or too broad"
user_access:
indicator: "Can recruit and observe target users"
assessment: "Can the team recruit a justified sample across relevant segments and contexts?"
not_ready_if: "No direct user access"
timeline_flexibility:
indicator: "Time for proper validation"
assessment: "Is there enough time to gather the evidence required by the decision?"
not_ready_if: "The delivery date prevents any realistic validation"
success_definition:
indicator: "Success defined behaviorally"
assessment: "What behaviors indicate success?"
not_ready_if: "Success is adoption or satisfaction"
scoring:
all_ready: "Proceed with full Behavioral Strategy"
mostly_ready: "Address gaps while starting"
half_ready: "Build capabilities first"
not_ready: "Focus on prerequisites"
Common Questions Quick Answers #
# Rapid-Fire Q&A for Common Scenarios
quick_qa:
"How many users for Problem Market Fit?":
answer: "There is no universal sample size"
detail: "Choose and document a sampling and stopping rule based on the research question, segment diversity, stakes, and evidence saturation"
"What if users say they want it but won't do it?":
answer: "Classic say-do gap. Observe actual behavior."
detail: "What people say ≠ what they do. Trust behavior."
"How long should validation take?":
answer: "Long enough to meet the pre-committed evidence standard for each fit"
detail: "Set timing from access, behavior cadence, risk, and the cost of a wrong decision"
"What's the minimum viable behavior?":
answer: "Smallest behavior that delivers core value"
detail: "Use a workflow-specific time target rather than a universal cutoff"
"Should we A/B test behaviors?":
answer: "Yes, but test behavior variations, not colors"
detail: "Test different paths to same outcome"
"How do we scale behavioral interventions?":
answer: "Expand in stages and revalidate when the population, context, or operating system changes"
detail: "Set each stage's evidence requirement before expansion"
"What if stakeholders want to skip validation?":
answer: "Show cost of failed initiatives without BS"
detail: "Frame as risk mitigation, not delay"
"Can we parallelize the four fits?":
answer: "No. Each depends on the previous."
detail: "Parallel work = wasted work"
"How do we measure behavior quality?":
answer: "Completion + accuracy + time + repetition"
detail: "Quality beats quantity for sustainability"
"What's the #1 mistake in Behavioral Strategy?":
answer: "Skipping to solutions before validating behaviors"
detail: "Exciting to build, critical to validate first"
Tools and Templates Reference #
# Essential Tools for Each Phase
tools_by_phase:
problem_validation:
interview_guide:
purpose: "Uncover problem-seeking behavior"
key_questions:
- "Tell me about the last time you missed a bill payment"
- "What have you tried to solve this?"
- "How much time/money have you spent on solutions?"
- "What would change if this were solved?"
evidence_tracker:
columns: ["User", "Problem Description", "Current Solutions", "Seeking Evidence"]
decision_rule: "Use a justified sample and require observed solution-seeking evidence"
behavior_research:
observation_protocol:
what_to_observe:
- "Current behavior patterns"
- "Environmental constraints"
- "Social influences"
- "Friction points"
how_to_record: "Video, photos, journey maps"
behavior_fit_assessment:
dimensions: ["Dispositional Fit", "Capability Fit", "Context Fit"]
starting_threshold: "6/10 on each dimension, calibrated by domain, population, context, stakes, and observed behavior"
decision_rule: "Use the minimum dimension as a bottleneck and prioritization heuristic, then validate in context"
solution_design:
behavior_to_feature_map:
format: "Behavior → Enabling Features → Success Metrics"
example: "Daily logging → Quick entry + Reminders → Pre-committed completion target"
friction_audit:
categories: ["Cognitive", "Physical", "Emotional", "Social"]
measurement: "Time, steps, and effort per behavior"
implementation:
behavioral_analytics_plan:
events_to_track:
- "Behavior started"
- "Behavior completed"
- "Time to completion"
- "Error points"
- "Abandonment reasons"
dashboard_template:
real_time: "Current active users, behaviors/minute"
daily: "Completion rates, error rates, time trends"
weekly: "Retention curves, segment analysis"
monthly: "Cohort retention, behavior evolution"
Next Steps by Role #
# Role-Specific Implementation Paths
implementation_paths:
product_manager:
week_1: "Run problem validation interviews"
week_2: "Define behavioral success metrics"
week_3: "Create behavior-focused roadmap"
ongoing: "Track behavioral KPIs, not features shipped"
designer:
week_1: "Observe users in natural context"
week_2: "Map behaviors to interface elements"
week_3: "Prototype behavior-enabling flows"
ongoing: "Test designs for behavior completion"
engineer:
week_1: "Implement behavioral event tracking"
week_2: "Build behavior analytics dashboard"
week_3: "Create A/B testing framework"
ongoing: "Optimize for behavior performance"
executive:
week_1: "Align on behavioral success definition"
week_2: "Resource behavioral research"
week_3: "Review behavior-based KPIs"
ongoing: "Make decisions based on behavior data"
consultant:
week_1: "Audit current behavioral blindspots"
week_2: "Train team on BS methodology"
week_3: "Guide first validation cycle"
ongoing: "Build organizational capability"
This Quick Reference Guide is designed for rapid access to Behavioral Strategy concepts and methods. For detailed explanations, see the comprehensive guides for each topic.