Statistics

Este microservicio permite consultar e insertar estadísticas de cualquier fuente. Creado con el fin de recibir y procesar peticiones muy personalizadas.

https://statistics.service.wortise.com

Statistics es uno de los microservicios más importantes. Es esencial que se le preste mucha atención a esta documentación y sus detalles.

Estructura de la estadística

Para comenzar, es importante saber qué atributos tiene cada estadística. De esta forma se comprenderá qué datos tenemos, qué cosas pueden agruparse y cuáles son las limitaciones.

Esta es una tabla donde se especifica cada dato con su correcta nomenclatura:

AtributoNombre técnicoTipo de dato

Fecha y hora

date

String

Cuenta

account

String

Plataforma

platform

String

Categoría

category

String

Aplicación

asset

String

Unidad de anuncio

adunit

String

Tipo de unidad de anuncio

type

String

Fuente

source

String

País

country

String

Campaña

campaign

Long

Creativo

banner

Long

Red

network

String

Canal de demanda

demandChannel

String

Socio de rendimiento

partner

String

Anunciante

advertiser

String

Comprador

buyer

String

Peticiones

requests

Long

Impresiones

impressions

Long

Visibilidad

viewability

Long

Clicks

clicks

Long

Ganancia

revenue

Float

Ganancia base

baseRevenue

Float

A continuación, una explicación más profunda sobre cada dato:

Es importante leer esto con detenimiento, ya que también se especifican ciertas reglas importantes.

  • date: Almacena un datetime con el formato yyyy-MM-ddTHH:mm:ss. Hace referencia a la fecha y hora a la cual pertenece esa estadística. Es importante aclarar que actualmente la agrupación más pequeña para date es diaria. Aunque para algunas fuentes almacenemos estadísticas con rango horario, solamente damos soporte a agrupaciones desde daily, hacia grupos más grandes como, week, month, etc. Por último, recordar que Statistics, no le da importancia al timezone en el caso de que se le envíe uno. Siempre trabajará con +00:00. Esto nos brinda una organización más elevada y causa que se reduzcan confusiones entre usuarios del resto del mundo y nosotros. Claramente, esto nos lo podemos permitir porque trabajamos con base a agrupaciones diarias.

  • account: Almacena el _id del documento en Mongo que hace referencia a una cuenta (colección accounts). Dicha cuenta, es la propietaria de la aplicación a la cual pertenece la estadística.

  • platform: Almacena la plataforma en la cual se generó la estadística. Por ejemplo, Android, iOS, Web, etc.

  • category: Almacena la categoría de la aplicación.

  • asset: Almacena el _id del documento en Mongo que hace referencia a una aplicación (colección assets). La estadística pertenece a esta aplicación.

  • adunit: Almacena el _id del documento en Mongo que hace referencia a una unidad de anuncio (colección adunits). La estadística pertenece a esta unidad de anuncio.

  • type: Almacena el tipo de unidad de anuncio. Haciendo referencia al type que está guardado en el documento del adunit.

  • source: Almacena la fuente. Con esto diferenciamos si la estadística, por ejemplo, viene de alguna red de Google, nuestra demanda directa, etc.

  • country: Almacena un country ISO-2. Básicamente, hace referencia al país donde se originó la estadística.

  • campaign: Almacena el ID de la campaña a la cual corresponde la estadística. Este valor es único y exclusivo para las estadísticas provenientes de nuestros AdServers (Newton o Sinew).

  • banner: Almacena el ID del creativo del cual corresponde la estadística. Este valor es único y exclusivo para las estadísticas provenientes de nuestros AdServers (Newton o Sinew).

  • network: Almacena el código de red de la cuenta de Google Ad Manager por la cual vino la estadística.

  • demandChannel: Almacena el canal por el cual vino la estadística. Este valor es único y exclusivo para las estadísticas provenientes de Google Ad Manager.

  • partner: Almacena el socio de rendimiento por el cual vino la estadística. Este valor es único y exclusivo para las estadísticas provenientes de Google Ad Manager, mediante Open Bidding.

  • advertiser: Almacena el anunciante por el cual vino la estadística. Este valor es único y exclusivo para las estadísticas provenientes de Google Ad Manager.

  • buyer: Almacena el comprador por el cual vino la estadística. Este valor es único y exclusivo para las estadísticas provenientes de Google Ad Manager.

  • requests: Almacena la cantidad de peticiones.

  • impressions: Almacena la cantidad de impresiones.

  • viewability: Almacena la cantidad de impresiones en vista activa.

  • clicks: Almacena la cantidad de clicks.

  • revenue: Almacena la cantidad en USD de lo que le corresponde cobrar al publisher. En este valor ya vienen descontadas las comisiones correspondientes.

  • baseRevenue: Almacena el revenue original sin descontar ninguna comisión.

Generación del revenue

Las fórmulas matemáticas, que llevan a cabo la generación del revenue final, descontando comisiones, son las siguientes:

Este es un vistazo general y no contempla comisiones como AdServing fee o canal de demanda Ad Server.

br      = Base Revenue
r       = Final Revenue
fee     = Comisión Wortise
partner = Comisión Partner

1) r = br - br * (fee * -1)

2) r = r - r * (partner / 100)

Agrupaciones

Este servicio utiliza agrupaciones para consultar estadísticas a nuestras bases de datos. Este sistema es muy similar a la estructura dimensión-columna que podemos encontrar en Google Ad Manager.

Las columnas ya están configuradas y pre-seleccionadas (todas) en las consultas a este servicio. Pero en cambio, las dimensiones si son configurables.

Si tuviéramos que identificar a cada atributo de la estadística como dimensión o columna, quedaría así:

  • date

  • account (accounts)

  • platform (platforms)

  • category (categories)

  • asset (assets)

  • adunit (adunits)

  • type (types)

  • source (sources)

  • country (countries)

  • campaign (campaigns)

  • banner (banners)

  • network (networks)

  • demandChannel (demandChannels)

  • partner (partners)

  • advertiser (advertisers)

  • buyer (buyers)

Request

Ya con todos los conceptos básicos adquiridos, se puede avanzar con una consulta de ejemplo analizando su estructura:


Estadísticas Generales

POST https://statistics.service.wortise.com/pub

{
    "query": {
        "start": "2023-08-20",
        "end": "2023-08-25",
        "sources": [], // newton, sinew, gam, admob, unity, vungle
        "assets": [],
        "adunits": [],
        "types": [], // push, banner, interstitial, app_open, rewarded, native
        "countries": [],
        "categories": [],
        "accounts": [],
        "platforms": [], // android, ios, web
        "campaigns": [],
        "banners": [],
        "networks": [],
        "demandChannels": [], // Open Bidding, Ad Exchange, Ad server, Mediation, SDK Bidding
        "partners": [], // Meta, Magnite, YieldMo, AppLovin, etc.
        "advertisers": [], // Unclassified advertisers, Alibaba Group Holding, etc.
        "buyers": [] // Pangle, OneTag (EB), ScaleOut, Addictive Mobility, etc.
    },
    "interval": "day", // day, week, month, quarter, year, all
    "timezone": "America/Argentina/Buenos_Aires", // +02:00, -01:00, etc.
    "groupBy": [], // source, asset, category, adunit, country, account, campaign, banner, demandChannel, partner, advertiser, buyer
    "missing": true, // El default es false
    "monetizable": true // El default es true
}

La configuración missing, es para que las estadísticas que se analicen no tengan que obligatoriamente pertenecer a las dimensiones ingresadas (groupBy). En el caso de que la estadística no sea parte de las dimensiones seleccionadas, se devolverá como N/A.

Aunque, activar missing podría aumentar el tiempo de respuesta. Es altamente recomendable detectar en qué situaciones es necesario activarlo o no.

La configuración monetizable, tiene importancia solamente en la fuente Newton. Tenerla en true, hace que solo se traigan las estadísticas de campañas que generen revenue. Por ejemplo, evitaría que se traigan datos de campañas de Cross Promotion, los cuales tienen impresiones con revenue cero. Con esto evitamos, que por ejemplo, un publisher vea su eCPM bajo.


Información calculada por el SDK de Wortise

POST https://statistics.service.wortise.com/pub/sdk

{
    "query": {
        "start": "2023-08-20",
        "end": "2023-08-25",
        "accounts": [],
        "assets": []
    }
}

POST https://statistics.service.wortise.com/pub/v2/sdk

{
    "query": {
        "start": "2023-08-20",
        "end": "2023-08-25",
        "accounts": [],
        "assets": []
    },
    "interval": "day",
    "groupBy": [] // account, asset,
    "missing": true
}

La versión 2, ofrece agrupaciones. Pero, solo devolverá los totales de DAUs y MAUS.

Last updated