← {{ ui_lang.expcompare_back_link|default('Datasets & Experiments') }}

{{ ui_lang.expcompare_heading|default('Compare experiments') }}

{{ ui_lang.expcompare_lede_part1|default('Aggregate evaluator scores side by side. The first experiment is the baseline; deltas and the best value per metric are highlighted so regressions stand out. Each delta carries a') }} {{ ui_lang.expcompare_lede_strong|default('paired-bootstrap') }} {{ ui_lang.expcompare_lede_part2|default('significance badge and 95% CI — so you can tell a real change from noise.') }}

{% if experiments|length < 2 %}

{{ ui_lang.expcompare_empty|default('Select at least two experiments to compare.') }}

{% else %}
{% for e in experiments %} {% endfor %} {% for key in metric_keys %} {# precompute the best (max) value across experiments for this metric #} {% set vals = [] %} {% for e in experiments %}{% set _ = vals.append(e.aggregate_scores.get(key)) %}{% endfor %} {% set present = vals | select('ne', None) | list %} {% set best = present | max if present else None %} {% for e in experiments %} {% set v = e.aggregate_scores.get(key) %} {% set base = experiments[0].aggregate_scores.get(key) %} {% endfor %} {% endfor %} {% for e in experiments %}{% endfor %}
{{ ui_lang.expcompare_col_metric|default('Metric') }}{{ e.name or e.id }}
{{ e.dataset_name }} · {{ e.dataset_version }}{% if loop.first %} · {{ ui_lang.expcompare_baseline|default('baseline') }}{% endif %}
{{ key }} {% if v is none %} {% else %}{{ '%.3f'|format(v) }} {% if not loop.first and base is not none %} {% set d = v - base %} {{ '%+.3f'|format(d) }} {% set sig = significance.get(e.id, {}).get(key) %} {% if sig and sig.mean_diff is not none and sig.n > 1 %} {{ ui_lang.expcompare_significant|default('significant') if sig.significant else ui_lang.expcompare_not_significant|default('n.s.') }} {% if sig.lo is not none %}{{ ui_lang.expcompare_ci_label|default('95% CI') }} [{{ '%+.3f'|format(sig.lo) }}, {{ '%+.3f'|format(sig.hi) }}]{% endif %} {% endif %} {% endif %} {% endif %}
{{ ui_lang.expcompare_row_examples|default('Examples') }}{{ e.example_count }}
{% endif %}