---
title: "Get Stats"
method: GET
path: "/v1/retrievers/{retriever_id}/learned-fusion/stats"
tags: ["Retriever Learned Fusion"]
---

# Get Stats

`GET /v1/retrievers/{retriever_id}/learned-fusion/stats`

Get aggregate statistics for a retriever's learned fusion system.

## Path parameters

- `retriever_id` string, required

## Response `200`

Successful Response

- LearnedFusionStatsResponse — Aggregate statistics for a retriever's learned fusion system.
  - `total_learners` integer, required — Total number of unique users with learned weights.
  - `active_learners` integer — Unique users the system is actively learning for (alias of total_learners — backs the Studio Overview 'Active Learners' card).
  - `avg_interactions_per_user` number, required — Average number of interactions per user.
  - `weight_spread` number, required — Maximum divergence of any feature weight from uniform.
  - `context_level_distribution` object, required — Count of users at each context level (personal/demographic/global).
  - `context_hit_rate` number — Fraction of learners that have reached a personalized (non-global) context — enough interactions for personal weights (0-1).
  - `enabled` boolean, required — Whether learned fusion is currently enabled for this retriever.
  - `rollout_pct` number, required — Effective percentage of traffic receiving learned fusion weights (a live override takes precedence over the configured value).
  - `rollout_override` boolean — Whether a live rollout override is active (vs the config value).
  - `config_rollout_pct` number — The retriever's configured rollout_pct (ignoring any live override).
  - `shadow_mode` boolean, required — Whether learned fusion is running in shadow mode (logging only).
  - `warning` string, nullable — Set when the response contains fallback defaults due to an internal error.
  - `hint` string, nullable — Set when learned fusion is NOT configured for this retriever — the payload is a well-formed empty state and this explains how to enable learning (BACKE-2525).

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `422` — Validation Error
- `500` — Internal Server Error

---

[API](https://skmtc.net/mixpeek/apis/mixpeek-api.md) · [All operations](https://skmtc.net/mixpeek/apis/mixpeek-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mixpeek/mixpeek-api/revisions/f507f74ec843/schema)
