Skip to contents

This function documents the interpretation of user needs, capturing the central question and the data storytelling narrative. It represents stage 2 in the BID framework.

Usage

bid_interpret(
  previous_stage,
  central_question = NULL,
  data_story = NULL,
  user_personas = NULL
)

Arguments

previous_stage

A tibble or list output from an earlier BID stage function.

central_question

A character string representing the main question to be answered. If NULL, will be suggested based on previous stage information.

data_story

A list containing elements such as hook, context, tension, resolution, and optionally audience, metrics, and visual_approach. If NULL, elements will be suggested based on previous stage.

user_personas

Optional list of user personas to consider in the design.

Value

A tibble containing the documented information for the "Interpret" stage.

Examples

notice <- bid_notice(
  problem = "Users struggle with complex data",
  evidence = "Test results indicate delays"
)
#> Auto-suggested theory: Cognitive Load Theory (confidence: 90%)
#> Stage 1 (Notice) completed. (20% complete)
#>   - Problem: Users struggle with complex data
#>   - Theory: Cognitive Load Theory (auto-suggested)
#>   - Evidence: Test results indicate delays
#>   - Theory confidence: 90%
#>   - Next: Use bid_interpret() for Stage 2 

# Basic usage
bid_interpret(
  previous_stage = notice,
  central_question = "What drives the decline in user engagement?",
  data_story = list(
    hook = "Declining trend in engagement",
    context = "Previous high engagement levels",
    tension = "Unexpected drop",
    resolution = "Investigate new UI changes",
    audience = "Marketing team",
    metrics = c("Daily Active Users", "Session Duration"),
    visual_approach = "Comparison charts showing before/after UI change"
  )
)
#>  Created user persona 'Marketing Professional Persona' based on audience information
#> Stage 2 (Interpret) completed.
#>   - Central question: What drives the decline in user engagement?
#>   - Your data story has all key elements. Focus on making each component compelling and relevant.
#>   - Your central question is appropriately scoped.
#>   - User personas: 1 defined 
#> BID Framework - Interpret Stage
#> Generated: 2025-06-21 00:15:31 
#> Progress: 40 % (2/5) 
#> 
#> Central Question: What drives the decline in user engagement? 
#> Story Hook: Declining trend in engagement 
#> Story Completeness: 100% 
#> User Personas: 1 defined
#> 
#>  Suggestions: Your data story has all key elements. Focus on making each component compelling and relevant. Your central question is appropriately scoped. You've defined 1 persona(s). Ensure your design addresses the specific needs of each. 
#> 
#>  Use summary() for detailed information 

# Let the function suggest content based on previous stage
bid_interpret(
  previous_stage = notice
)
#>  Suggested central question: How can we reduce cognitive load to address Users struggle with complex data?
#>  Suggested data story elements based on previous stage information
#> Stage 2 (Interpret) completed.
#>   - Central question: How can we reduce cognitive load to address Users struggle w...
#>   - Your data story has all key elements. Focus on making each component compelling and relevant.
#>   - Your central question is appropriately scoped.
#>   - No user personas defined 
#> BID Framework - Interpret Stage
#> Generated: 2025-06-21 00:15:31 
#> Progress: 40 % (2/5) 
#> 
#> Central Question: How can we reduce cognitive load to address Users struggle with complex data? 
#> Story Hook: Users are experiencing problems with Users struggle with complex data 
#> Story Completeness: 100% 
#> 
#>  Suggestions: Your data story has all key elements. Focus on making each component compelling and relevant. Your central question is appropriately scoped. Consider defining specific user personas to better target your design. 
#> 
#>  Use summary() for detailed information 

# With user personas
bid_interpret(
  previous_stage = notice,
  central_question = "How can we improve data discovery?",
  data_story = list(
    hook = "Users are missing key insights",
    context = "Critical data is available but overlooked",
    tension = "Time-sensitive decisions are delayed",
    resolution = "Highlight key metrics more effectively"
  ),
  user_personas = list(
    list(
      name = "Sara, Data Analyst",
      goals = "Needs to quickly find patterns in data",
      pain_points = "Gets overwhelmed by too many visualizations",
      technical_level = "Advanced"
    ),
    list(
      name = "Marcus, Executive",
      goals = "Wants high-level insights at a glance",
      pain_points = "Limited time to analyze detailed reports",
      technical_level = "Basic"
    )
  )
)
#> Stage 2 (Interpret) completed.
#>   - Central question: How can we improve data discovery?
#>   - Your data story has all key elements. Focus on making each component compelling and relevant.
#>   - Your central question is appropriately scoped.
#>   - User personas: 2 defined 
#> BID Framework - Interpret Stage
#> Generated: 2025-06-21 00:15:31 
#> Progress: 40 % (2/5) 
#> 
#> Central Question: How can we improve data discovery? 
#> Story Hook: Users are missing key insights 
#> Story Completeness: 100% 
#> User Personas: 2 defined
#> 
#>  Suggestions: Your data story has all key elements. Focus on making each component compelling and relevant. Your central question is appropriately scoped. You've defined 2 persona(s). Ensure your design addresses the specific needs of each. 
#> 
#>  Use summary() for detailed information