# Recuperar datos de cohorte

> Recupera datos de cohorte para realizar el seguimiento de grupos de usuarios a lo largo del tiempo.
>
> Límite de tasa: 2 solicitudes por segundo.

## OpenAPI

```yaml
/api-specs/export-analytics-api.yaml post /api/v1/client-api/metrics/cohort/
openapi: 3.1.0
info:
  title: API de Exportación de Analíticas de Adapty
  version: 1.0.0
  description: |
    La API de Exportación de Analíticas de Adapty te permite exportar tus datos de analíticas en formato CSV o JSON,
    ofreciéndote la flexibilidad de profundizar en las métricas de rendimiento de tu app, personalizar informes
    y analizar tendencias a lo largo del tiempo. Con esta API puedes extraer fácilmente datos analíticos detallados,
    lo que facilita el seguimiento, la compartición y el refinamiento de tus insights de datos según sea necesario.
servers:
  - url: https://api-admin.adapty.io
    description: Servidor de producción
security:
  - apikeyAuth: []
paths:
  /api/v1/client-api/metrics/cohort/:
    post:
      summary: Recuperar datos de cohorte
      description: |-
        Recupera datos de cohorte para realizar el seguimiento de grupos de usuarios a lo largo del tiempo.

        Límite de tasa: 2 solicitudes por segundo.
      operationId: retrieveCohortData
      security:
        - apikeyAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CohortDataRequest"
            examples:
              basic:
                summary: Solicitud básica de datos de cohorte
                value:
                  filters:
                    date:
                      - "2024-04-01"
                      - "2024-09-30"
                    store:
                      - app_store
                    country:
                      - us
                  period_unit: month
                  period_type: renewals
                  value_type: absolute
                  value_field: subscriptions
      responses:
        "200":
          description: Datos de cohorte recuperados correctamente
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CohortDataResponse"
              example:
                data:
                  - segment_start_date: "2024-04-01"
                    type: total
                    title: Total
                    total_installs: 0
                    total_subscriptions: 0
                    total_paid_subscribers: 0
                    total_revenue_usd: 0
                    total_proceeds_usd: 0
                    total_net_revenue_usd: 0
                    total_anrpas_usd: 0
                    total_appas_usd: 0
                    total_arpas_usd: 0
                    total_anrppu_usd: 0
                    total_apppu_usd: 0
                    total_arppu_usd: 0
                    total_anrpu_usd: 0
                    total_appu_usd: 0
                    total_arpu_usd: 0
                    predict: null
                    values:
                      - arpas_usd: 0
                        appas_usd: 0
                        anrpas_usd: 0
                        anrppu_usd: 0
                        apppu_usd: 0
                        arppu_usd: 0
                        anrpu_usd: 0
                        appu_usd: 0
                        arpu_usd: 0
                        installs: 0
                        period: 1
                        revenue_usd: 0
                        proceeds_usd: 0
                        net_revenue_usd: 0
                        revenue_relative: 0
                        proceeds_relative: 0
                        net_revenue_relative: 0
                        subscriptions: 0
                        subscriptions_relative: 0
                        subscribers: 0
                        subscribers_relative: 0
                        currently_active_period: false
            text/csv:
              schema:
                type: string
                description: Datos de cohorte en formato CSV
        "400":
          description: Solicitud incorrecta
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
        "401":
          description: No autorizado
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedError"
        "429":
          description: Límite de tasa superado. Máximo 2 solicitudes por segundo por clave de API.
components:
  schemas:
    CohortDataRequest:
      type: object
      required:
        - filters
      properties:
        filters:
          $ref: "#/components/schemas/MetricsFilters"
        period_unit:
          type: string
          enum:
            - day
            - week
            - month
            - quarter
            - year
          description: Especifica el intervalo de tiempo para agregar los datos de analíticas
          default: month
        period_type:
          type: string
          enum:
            - renewals
            - days
          description: Analiza los datos por renovaciones o por días
          default: renewals
        value_type:
          type: string
          enum:
            - absolute
            - relative
          description: Especifica cómo se muestran los valores
          default: absolute
        value_field:
          type: string
          enum:
            - revenue
            - arppu
            - arpu
            - arpas
            - subscribers
            - subscriptions
          description: Especifica el tipo de valores que se muestran
          default: revenue
        accounting_type:
          type: string
          enum:
            - revenue
            - proceeds
            - net_revenue
          description: El método contable utilizado
          default: revenue
        renewal_days:
          type: array
          items:
            type: integer
          description: Lista de días transcurridos desde la instalación de la app para el tipo de cohorte period_type=days
        prediction_months:
          type: integer
          enum:
            - 3
            - 6
            - 9
            - 12
            - 18
            - 24
          description: Indica cuántos meses de predicción deseas
          default: 12
        format:
          type: string
          enum:
            - json
            - csv
          description: Especifica el formato del archivo de exportación
          default: json
    CohortDataResponse:
      type: object
      description: Respuesta que contiene datos de análisis de cohorte que muestran el comportamiento de los usuarios a lo largo del tiempo
      properties:
        data:
          type: array
          description: Array de segmentos de cohorte, cada uno representando un grupo de usuarios que comenzaron en el mismo período
          items:
            $ref: "#/components/schemas/CohortSegment"
    ErrorResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              source:
                type: string
              errors:
                type: array
                items:
                  type: string
        error_code:
          type: string
        status_code:
          type: integer
    UnauthorizedError:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              source:
                type: string
              errors:
                type: array
                items:
                  type: string
        error_code:
          type: string
        status_code:
          type: integer
    MetricsFilters:
      type: object
      required:
        - date
      properties:
        date:
          type: array
          items:
            type: string
          description: Introduce la fecha o el período de tiempo para el que deseas recuperar los datos del gráfico
        compare_date:
          type: array
          items:
            type: string
          description: Introduce la fecha o el período de tiempo de comparación
        store:
          type: array
          items:
            type: string
          description: Filtra por el store donde se realizó la compra
        country:
          type: array
          items:
            type: string
          description: Filtra por el código de país de 2 letras donde se realizó la compra
        store_product_id:
          type: array
          items:
            type: string
          description: Identificador único de un producto del store
        duration:
          type: array
          items:
            type: string
          description: Especifica la duración de la suscripción
        attribution_source:
          type: array
          items:
            type: string
          description: La integración de origen para la atribución
        attribution_status:
          type: array
          items:
            type: string
          description: Indica si la atribución es orgánica o no orgánica
        attribution_channel:
          type: array
          items:
            type: string
          description: Canal de marketing que originó la transacción
        attribution_campaign:
          type: array
          items:
            type: string
          description: Campaña de marketing que originó la transacción
        attribution_adgroup:
          type: array
          items:
            type: string
          description: Grupo de anuncios de atribución que originó la transacción
        attribution_adset:
          type: array
          items:
            type: string
          description: Conjunto de anuncios de atribución que originó la transacción
        attribution_creative:
          type: array
          items:
            type: string
          description: Elementos visuales o de texto específicos de un anuncio o campaña rastreados para medir la efectividad
        offer_category:
          type: array
          items:
            type: string
          description: Especifica las categorías de oferta para las que deseas recuperar datos
        offer_type:
          type: array
          items:
            type: string
          description: Especifica los tipos de oferta para los que deseas recuperar datos
        offer_id:
          type: array
          items:
            type: string
          description: Especifica las ofertas concretas para las que deseas recuperar datos
    CohortSegment:
      type: object
      description: Un segmento de cohorte que representa a usuarios que comenzaron en el mismo período
      properties:
        segment_start_date:
          type: string
          description: La fecha de inicio de este segmento de cohorte
        type:
          type: string
          description: Tipo de segmento ('total' para datos agregados, 'single' para cohorte individual)
        title:
          type: string
          description: Título de visualización para este segmento de cohorte
        total_installs:
          type: integer
          description: Número total de instalaciones de la app en esta cohorte
        total_subscriptions:
          type: integer
          description: Número total de suscripciones en esta cohorte
        total_paid_subscribers:
          type: integer
          description: Número total de suscriptores de pago en esta cohorte
        total_revenue_usd:
          type: number
          description: Ingresos totales en USD para esta cohorte
        total_proceeds_usd:
          type: number
          description: Ingresos netos totales en USD para esta cohorte (tras las comisiones del store)
        total_net_revenue_usd:
          type: number
          description: Ingresos netos totales en USD para esta cohorte
        total_anrpas_usd:
          type: number
          description: Ingresos netos medios por suscriptor activo (ANRPAS) totales en USD
        total_appas_usd:
          type: number
          description: Ingresos netos medios por suscriptor activo (APPAS) totales en USD
        total_arpas_usd:
          type: number
          description: Ingresos medios por suscriptor activo (ARPAS) totales en USD
        total_anrppu_usd:
          type: number
          description: Ingresos netos medios por usuario de pago (ANRPPU) totales en USD
        total_apppu_usd:
          type: number
          description: Ingresos netos medios por usuario de pago (APPPU) totales en USD
        total_arppu_usd:
          type: number
          description: Ingresos medios por usuario de pago (ARPPU) totales en USD
        total_anrpu_usd:
          type: number
          description: Ingresos netos medios por usuario (ANRPU) totales en USD
        total_appu_usd:
          type: number
          description: Ingresos netos medios por usuario (APPU) totales en USD
        total_arpu_usd:
          type: number
          description: Ingresos medios por usuario (ARPU) totales en USD
        predict:
          type: object
          nullable: true
          description: Datos de predicción para esta cohorte (si están disponibles)
        values:
          type: array
          description: Array de valores por período que muestran el rendimiento de la cohorte a lo largo del tiempo
          items:
            $ref: "#/components/schemas/CohortValue"
    CohortValue:
      type: object
      description: Valor de período individual dentro de un segmento de cohorte que muestra las métricas de rendimiento para un período de tiempo específico
      properties:
        arpas_usd:
          type: number
          description: Ingresos medios por suscriptor activo en USD para este período
        appas_usd:
          type: number
          description: Ingresos netos medios por suscriptor activo en USD para este período
        anrpas_usd:
          type: number
          description: Ingresos netos medios por suscriptor activo en USD para este período
        anrppu_usd:
          type: number
          description: Ingresos netos medios por usuario de pago en USD para este período
        apppu_usd:
          type: number
          description: Ingresos netos medios por usuario de pago en USD para este período
        arppu_usd:
          type: number
          description: Ingresos medios por usuario de pago en USD para este período
        anrpu_usd:
          type: number
          description: Ingresos netos medios por usuario en USD para este período
        appu_usd:
          type: number
          description: Ingresos netos medios por usuario en USD para este período
        arpu_usd:
          type: number
          description: Ingresos medios por usuario en USD para este período
        installs:
          type: integer
          description: Número de instalaciones de la app en este período
        period:
          type: integer
          description: Número de período (1 = primer período, 2 = segundo período, etc.)
        revenue_usd:
          type: number
          description: Ingresos totales en USD para este período
        proceeds_usd:
          type: number
          description: Ingresos netos totales en USD para este período (tras las comisiones del store)
        net_revenue_usd:
          type: number
          description: Ingresos netos totales en USD para este período
        revenue_relative:
          type: number
          description: Ingresos como porcentaje relativo al primer período (100% = primer período)
        proceeds_relative:
          type: number
          description: Ingresos netos como porcentaje relativo al primer período (100% = primer período)
        net_revenue_relative:
          type: number
          description: Ingresos netos como porcentaje relativo al primer período (100% = primer período)
        subscriptions:
          type: integer
          description: Número de suscripciones en este período
        subscriptions_relative:
          type: number
          description: Suscripciones como porcentaje relativo al primer período (100% = primer período)
        subscribers:
          type: integer
          description: Número de suscriptores en este período
        subscribers_relative:
          type: number
          description: Suscriptores como porcentaje relativo al primer período (100% = primer período)
        currently_active_period:
          type: boolean
          description: Indica si este es el período activo actualmente para la cohorte
  securitySchemes:
    apikeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: |
        Debes autenticar tus solicitudes a la API con tu clave de API secreta como cabecera de autorización.
        Puedes encontrarla en la Configuración de la App. El formato es `Api-Key {YOUR_SECRET_API_KEY}`,
        por ejemplo: `Api-Key secret_live_...`.
```
