Skip to contents

This function documents the validation stage, where the user tests and refines the dashboard. It represents stage 5 in the BID framework.

Usage

bid_validate(
  previous_stage,
  summary_panel = NULL,
  collaboration = NULL,
  next_steps = NULL
)

Arguments

previous_stage

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

summary_panel

A character string describing the final summary panel or key insight presentation.

collaboration

A character string describing how the dashboard enables collaboration and sharing.

next_steps

A character vector or string describing recommended next steps for implementation and iteration.

Value

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

Examples

structure_input <- bid_notice(
  problem  = "Issue with dropdown menus",
  evidence = "User testing indicated delays"
) |>
  bid_interpret(
    central_question = "How can we improve selection efficiency?",
    data_story = list(
      hook      = "Too many options",
      context   = "Excessive choices",
      tension   = "User frustration",
      resolution= "Simplify menu"
    )
  )
#> Auto-suggested theory: Hick's Law (confidence: 90%)
#> Stage 1 (Notice) completed. (20% complete)
#>   - Problem: Issue with dropdown menus
#>   - Theory: Hick's Law (auto-suggested)
#>   - Evidence: User testing indicated delays
#>   - Theory confidence: 90%
#>   - Next: Use bid_interpret() for Stage 2 
#> Stage 2 (Interpret) completed.
#>   - Central question: How can we improve selection efficiency?
#>   - 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 

structure_result <- bid_structure(
  previous_stage = structure_input,
  layout         = "dual_process",
  concepts       = c("Principle of Proximity", "Default Effect")
)
#> Rows: 41 Columns: 7
#> ── Column specification ────────────────────────────────────────────────────────
#> Delimiter: ","
#> chr (7): concept, description, category, reference, example, implementation_...
#> 
#>  Use `spec()` to retrieve the full column specification for this data.
#>  Specify the column types or set `show_col_types = FALSE` to quiet this message.
#> Returning all 41 concepts
#> 
#> ── Implementation tips for selected concepts: 
#> Rows: 41 Columns: 7
#> ── Column specification ────────────────────────────────────────────────────────
#> Delimiter: ","
#> chr (7): concept, description, category, reference, example, implementation_...
#> 
#>  Use `spec()` to retrieve the full column specification for this data.
#>  Specify the column types or set `show_col_types = FALSE` to quiet this message.
#>Principle of Proximity: Place related controls and visualizations in
#> proximity to each other.
#> Rows: 41 Columns: 7
#> ── Column specification ────────────────────────────────────────────────────────
#> Delimiter: ","
#> chr (7): concept, description, category, reference, example, implementation_...
#> 
#>  Use `spec()` to retrieve the full column specification for this data.
#>  Specify the column types or set `show_col_types = FALSE` to quiet this message.
#>Default Effect: Pre-select the most useful timeframe or metrics for initial
#> view.
#> Stage 3 (Structure) completed.
#>   - Layout: dual_process
#>   - Concepts: Principle of Proximity, Default Effect
#>   - No accessibility considerations specified 

anticipate <- bid_anticipate(
  previous_stage    = structure_result,
  bias_mitigations  = list(
    anchoring = "Provide reference points",
    framing   = "Use gain-framed messaging"
  )
)
#> Rows: 41 Columns: 7
#> ── Column specification ────────────────────────────────────────────────────────
#> Delimiter: ","
#> chr (7): concept, description, category, reference, example, implementation_...
#> 
#>  Use `spec()` to retrieve the full column specification for this data.
#>  Specify the column types or set `show_col_types = FALSE` to quiet this message.
#> Found 7 concept(s) matching 'bias|anchor|fram|confirm'
#> Automatically suggested interaction principles: progressive_disclosure, hover_effects.
#> Rows: 41 Columns: 7
#> ── Column specification ────────────────────────────────────────────────────────
#> Delimiter: ","
#> chr (7): concept, description, category, reference, example, implementation_...
#> 
#>  Use `spec()` to retrieve the full column specification for this data.
#>  Specify the column types or set `show_col_types = FALSE` to quiet this message.
#> Found partial match: Anchoring Effect
#> Rows: 41 Columns: 7
#> ── Column specification ────────────────────────────────────────────────────────
#> Delimiter: ","
#> chr (7): concept, description, category, reference, example, implementation_...
#> 
#>  Use `spec()` to retrieve the full column specification for this data.
#>  Specify the column types or set `show_col_types = FALSE` to quiet this message.
#> Found partial match: Framing & Loss Aversion
#> Stage 4 (Anticipate) completed.
#>   - Bias mitigations: 2 defined
#>   - Interaction principles: 2 defined
#>   - Key suggestions: anchoring mitigation: Always show reference points like previous period, budget, or industry average., framing mitigation: Toggle between progress (65% complete) and gap (35% remaining) framing., Consider also addressing these common biases: confirmation 

bid_validate(
  previous_stage = anticipate,
  summary_panel  = "Clear summary of key insights with action items",
  collaboration  = "Team annotation and sharing features",
  next_steps     = c(
    "Conduct user testing with target audience",
    "Implement accessibility improvements",
    "Add mobile responsiveness"
  )
)
#> Stage 5 (Validate) completed.
#>   - Summary panel: Clear summary of key insights with action items
#>   - Collaboration: Team annotation and sharing features
#>   - Next steps: 3 items defined
#>   - Validation stage is well-defined. Focus on implementation and user testing. 
#> # A tibble: 1 × 14
#>   stage    summary_panel                  collaboration next_steps previous_bias
#>   <chr>    <chr>                          <chr>         <chr>      <chr>        
#> 1 Validate Clear summary of key insights… Team annotat… Conduct u… anchoring: P…
#> # ℹ 9 more variables: previous_interaction <json>, previous_layout <chr>,
#> #   previous_concepts <chr>, previous_accessibility <chr>,
#> #   previous_central_question <chr>, previous_problem <chr>,
#> #   previous_theory <chr>, suggestions <chr>, timestamp <dttm>