schema_version: study-protocol.v2
protocol_id: road-risk-model-3.2-irish-injury-collision-study
status: frozen-before-outcome-aware-model-3.2-fitting
frozen_at: 2026-08-28T00:00:00Z
relationship_to_v1: separate_study_v1_remains_immutable
model_under_test:
  application: App V2
  candidate_model_version: 3.2.0
  comparator_model_version: 3.1.0
  geometry_protocol: geometry-protocol.v1.yaml
  predictor_role: fixed_comparative_predictor
  public_default_during_study: 2.0.0
  geometry_thresholds_may_be_tuned_to_outcomes: false
  model_constants_may_be_tuned_to_holdout: false
primary_question: >-
  Does fixed Model 3.2 add out-of-sample explanatory or ranking value for
  recorded injury-collision counts beyond traffic exposure and basic road
  characteristics, and does it improve on fixed Model 3.1?
observational_unit:
  entity: undirected-road-centreline-segment-year
  target_length_m: 100
  travel_direction_inferred: false
development_and_sensitivity_periods:
  inherited_development_years: [2016, 2017, 2018, 2019]
  pandemic_sensitivity_years: [2020]
  model_3_1_temporal_holdout_year: 2021
  model_3_2_use_of_2021: development_or_labelled_retrospective_comparison_only
untouched_holdout:
  year: null
  eligibility: finalized_calendar_year_greater_than_2021_never_inspected_for_model_3_2
  current_status: unavailable
  provisional_years_cannot_be_promotion_holdout: true
  access_policy: evaluate_once_after_protocol_pipeline_geometry_review_and_thresholds_are_frozen
  post_holdout_change_requires_new_model_version_and_future_holdout: true
outcomes:
  primary: injury_collision_count
  secondary: [fatal_or_serious_collision_count, road_user_specific_injury_collision_counts]
  descriptive_only: [road_risk_severity_weighted_count]
exposure:
  vehicle_km_formula: AADT * 365.25 * segment_length_km * counter_coverage_fraction
  count_model_offset: log_vehicle_km
  primary_tier: A_official_measured_corridor_year_exposure
  exploratory_tier: B_tagged_or_modelled_proxy
  excluded_tier: C_missing_exposure
collision_matching:
  candidate_generation: geometry_only
  candidate_generation_uses_model_output: false
  primary_threshold: manual_review_p95_capped_at_35m_frozen_before_fitting
  sensitivity_thresholds_m: [10, primary, 35]
  one_collision_to_one_segment: true
  ambiguous_junction_matches_flagged_and_excluded_from_primary: true
models:
  count_family: negative_binomial
  overdispersion_estimated_from: development_data_only
  poisson_role: benchmark
  zero_inflated_role: exploratory_not_promotion_determinative
  comparisons:
    M0: exposure_offset_plus_intercept
    M1: M0_plus_road_class_speed_context_urban_rural_and_junction_status
    M2_31: M1_plus_fixed_model_3_1_comparative_index
    M2_32: M1_plus_fixed_model_3_2_comparative_index
    M3_31: M1_plus_decomposed_model_3_1_physical_features
    M3_32: M1_plus_decomposed_model_3_2_physical_and_geometry_features
validation:
  development_cross_validation:
    folds: 5
    grouping: connected_corridor_and_10km_spatial_block_component
  untouched_temporal_holdout: required_but_currently_unavailable
  bootstrap:
    unit: corridor_spatial_block_component
    replicates: 1000
    confidence_level: 0.95
    seed: 32082026
preregistered_comparisons:
  - negative_binomial_deviance_over_M1
  - top_decile_collision_capture_over_M1
  - calibration_by_predicted_decile
  - model_3_2_minus_model_3_1_deviance
  - model_3_2_minus_model_3_1_top_decile_capture
  - performance_by_geometry_class_single_arc_compound_reverse
  - stability_by_road_class_geography_exposure_quality_and_geometry_support
promotion_gates:
  incremental_deviance_over_M1: paired_95_percent_bootstrap_interval_entirely_above_zero
  top_decile_capture_lift_over_M1: paired_95_percent_bootstrap_lower_bound_above_1
  model_3_2_vs_3_1: no_material_regression_and_declared_incremental_result_reported
  major_subgroups: no_sufficiently_powered_subgroup_with_clearly_negative_incremental_performance
  provenance_leakage_and_data_quality: all_pass
  finalized_never_inspected_post_2021_holdout: required
  publish_negative_or_inconclusive_results: true
reviews:
  geometry_method: required_and_separate
  statistical_method: required_and_separate
  road_safety_or_transport_domain: required_and_separate
change_control:
  outcome_aware_geometry_change_requires_new_model_version: true
  v1_protocol_may_be_amended_or_reinterpreted: false
