{% include "_privacy_meta.html" %} {% include "_dashboard_scripts.html" %} {% set page_subtitle = "Quality" %} {% set nav_current = "quality" %} {% include "_header.html" %}
{% if error %}
{{ error }}
{% endif %} {% if empty_track and not served_eval %}

CTR and conversion

No impressions yet.

How to collect them

{% if not track_enabled %} Enable [track] and POST impressions and clicks to /track from the render path. Fetching GET /recommendations is not an impression unless serve.log_impressions is on. {% else %} POST /track when the widget renders, then wait for the next job (or refresh after a job writes track_eval). {% endif %}

{% elif track_eval %}

CTR and conversion

{% if track_as_of %}

As of

{% elif track_live %}

Live from the track store.

{% endif %}
Impressions
{{ track_eval.overall.n_impressions }}
Clicks
{{ track_eval.overall.n_clicks }}
Users
{{ track_eval.overall.n_users }}
CTR
{{ track_eval.overall.ctr|as_percent }}
CVR (click)
{{ track_eval.overall.cvr_click|as_percent }}
CVR (view)
{{ track_eval.overall.cvr_view|as_percent }}
{% if track_eval.by_rank %}

By rank

{% for rank, row in track_eval.by_rank.items() %} {% endfor %}
CTR and conversion by rank
Rank Impressions Clicks Conv click Conv view CTR CVR click CVR view
{{ rank }} {{ row.n_impressions }} {{ row.n_clicks }} {{ row.n_conversions_click }} {{ row.n_conversions_view }} {{ row.ctr|as_percent }} {{ row.cvr_click|as_percent }} {{ row.cvr_view|as_percent }}
{% endif %} {% if track_eval.by_source %}

By source

{% for source, row in track_eval.by_source.items() %} {% endfor %}
CTR and conversion by source
Source Impressions Clicks Conv click Conv view CTR CVR click CVR view
{{ source }} {{ row.n_impressions }} {{ row.n_clicks }} {{ row.n_conversions_click }} {{ row.n_conversions_view }} {{ row.ctr|as_percent }} {{ row.cvr_click|as_percent }} {{ row.cvr_view|as_percent }}
{% endif %} {% if track_eval.by_variant %}

By variant

{% for variant, row in track_eval.by_variant.items() %} {% endfor %}
CTR and conversion by variant
Variant Impressions Clicks Conv click Conv view CTR CVR click CVR view
{{ variant }} {{ row.n_impressions }} {{ row.n_clicks }} {{ row.n_conversions_click }} {{ row.n_conversions_view }} {{ row.ctr|as_percent }} {{ row.cvr_click|as_percent }} {{ row.cvr_view|as_percent }}
{% endif %}
{% endif %} {% if served_eval %}

Production replay

Users scored
{{ served_eval.n_users }}
With later events
{{ served_eval.n_users_with_events }}
{% if served_eval.generated_at %}
Lists from
{% endif %}
{% if served_eval.metrics %}
{% for name, value in served_eval.metrics.items() %} {% endfor %}
Production replay ranking metrics
Metric Value
{{ name }} {{ "%.4f"|format(value) }}
{% endif %} {% if served_eval.by_source %}

Hit rate by source

{% for name in replay_metric_names %} {% endfor %} {% for source, metrics in served_eval.by_source.items() %} {% for name in replay_metric_names %} {% endfor %} {% endfor %}
Production replay hit rate by source
Source{{ name }}
{{ source }}{% if name in metrics %}{{ "%.4f"|format(metrics[name]) }}{% else %}—{% endif %}
{% endif %}
{% elif eval_enabled %}

Production replay is on; metrics appear after the next job scores the previous lists.

{% endif %}