> ## Documentation Index
> Fetch the complete documentation index at: https://help.treble.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# fact_agent_daily

> Métricas de productividad pre-agregadas por agente por día.

# fact\_agent\_daily

Tabla pre-agregada con las métricas principales de productividad de cada agente por día. Útil para reportes ejecutivos sin necesidad de escribir consultas complejas.

## ¿Qué preguntas responde?

* ¿Cuántas conversaciones atendió cada agente por día?
* ¿Cuál fue el tiempo promedio de primera respuesta?
* ¿Cuántos mensajes envió cada agente?
* ¿Cuánto tiempo estuvo disponible cada agente?
* ¿Cuál fue la calificación promedio (CSAT)?

## Columnas

| Columna                      | Tipo       | Descripción                                                                 |
| ---------------------------- | ---------- | --------------------------------------------------------------------------- |
| `company_id`                 | Int32      | Identificador de la empresa (filtrado automáticamente)                      |
| `agent_id`                   | Int32      | Identificador del agente                                                    |
| `day`                        | Date       | Día calendario                                                              |
| `agent_name`                 | String     | Nombre completo del agente                                                  |
| `chats_handled`              | UInt32     | Conversaciones atendidas (agente envió al menos 1 mensaje)                  |
| `chats_resolved`             | UInt32     | Conversaciones cerradas                                                     |
| `chats_transferred_sent`     | UInt32     | Transferencias enviadas por el agente                                       |
| `chats_transferred_received` | UInt32     | Transferencias recibidas por el agente                                      |
| `messages_sent`              | UInt32     | Total de mensajes enviados por el agente                                    |
| `hsm_messages_sent`          | UInt32     | Mensajes de plantilla (HSM) enviados                                        |
| `first_message_at`           | DateTime64 | Primer mensaje del agente en el día. `NULL` si no envió mensajes            |
| `last_message_at`            | DateTime64 | Último mensaje del agente en el día                                         |
| `avg_first_response_sec`     | Float64    | Tiempo promedio de primera respuesta (en segundos). `0` si no aplica        |
| `avg_response_time_sec`      | Float64    | Tiempo promedio de respuesta entre mensajes (en segundos). `0` si no aplica |
| `avg_resolution_min`         | Float64    | Tiempo promedio de resolución (en minutos). `0` si no cerró conversaciones  |
| `csat_avg`                   | Float64    | Calificación promedio (CSAT). `0` si no hubo calificaciones                 |
| `service_level_pct`          | Float64    | Porcentaje de conversaciones con primera respuesta en menos de 120 segundos |
| `available_minutes`          | Float64    | Minutos que el agente estuvo online en el día                               |

<Note>
  Para obtener el equipo del agente, cruza esta tabla con `dim_agent_tags` usando `agent_id`.
</Note>

## Consultas de ejemplo

### Productividad semanal por agente

```sql theme={null}
SELECT
    agent_name,
    sum(chats_handled) AS chats_totales,
    sum(messages_sent) AS mensajes_totales,
    round(avg(avg_first_response_sec), 0) AS primera_respuesta_seg,
    round(avg(service_level_pct) * 100, 1) AS nivel_servicio_pct,
    round(sum(available_minutes) / 60, 1) AS horas_disponible
FROM client_analytics.fact_agent_daily
WHERE day >= today() - 7
GROUP BY agent_name
ORDER BY chats_totales DESC
```

### Productividad por equipo

```sql theme={null}
SELECT
    at.team_name,
    sum(ad.chats_handled) AS chats_totales,
    round(avg(ad.csat_avg), 2) AS csat_promedio
FROM client_analytics.fact_agent_daily ad
INNER JOIN client_analytics.dim_agent_tags at ON at.agent_id = ad.agent_id
WHERE ad.day >= today() - 30
GROUP BY at.team_name
ORDER BY chats_totales DESC
```
