Carlos J. Vila Vergara
Fuentes de datos para proyectos de machine learning en el entorno WEB/eCommerce

En todo proyecto basado en Inteligencia Artificial el punto de partida fundamental es disponer de suficientes datos relevantes y de calidad para poder construir y entrenar modelos cognitivos que generen predicciones de calidad basadas en los mismos. Por tanto, el primer análisis que hemos de realizar a la hora de validar la viabilidad técnica de nuestro proyecto de machine learning es verificar que en cualquier situación y para todos los casos de uso que queramos implementar, se dispondrá de un conjunto de datos adecuado a las necesidades que queremos cubrir. En este artículo revisamos las fuentes de datos de las que podemos disponer con mayor probabilidad de forma general y que, por tanto, debemos tener en cuenta a la hora de definir e implementar nuestras soluciones de machine learning en el entorno WEB/eCommerce. Estas fuentes más habituales son de dos tipos:
Datos obtenidos de herramientas comerciales ampliamente utilizadas: estas fuentes de datos (fundamentalmente analíticos) son utilizadas comúnmente por las empresas para sus procesos analíticos y los relacionados con el eCommerce y el Marketing Digital. Estas herramientas son ofrecidas por varias plataformas (por ejemplo Google, AWS, Magento o diversas soluciones de CRM). Incluir conectores de forma nativa con estas fuentes de datos se identifica como un valor diferencial al disminuir el time to market y permitir la realización de pruebas de concepto o pilotos de forma muy rápida y con mínimo esfuerzo de integración. Adicionalmente, el integrar estas fuentes de datos en nuestras soluciones de forma nativa permite desarrollar modelos basados exclusivamente en los datos disponibles de estas herramientas, lo cual permite un despliegue rápido en los clientes que dispongan de alguna de ellas (que son la inmensa mayoría) en modo Beta, y posteriormente refinar el modelo de acuerdo a la información privada relevante de que disponga el cliente para optimizar la calidad de las predicciones con un esfuerzo de integración mínimo.
Fuentes de datos específicos: fuentes de datos específicos de la implantación diseñados ad-hoc para el cliente, tales como el propio formulario de captura de información de un lead, BBDD internas del cliente, y otras fuentes de datos disponibles como datos provenientes del call center o red comercial, así como datos de gestión de eCommerce obtenidos mediante herramientas que no estén incluidos dentro de las fuentes de datos estándar.
Concepto de “tiempo real” en la disponibilidad de los datos en producción
Teniendo en cuenta los requisitos de los diferentes casos de uso e incluso el tipo de sector de actividad del cliente, se identifica que el acceso a las fuentes de datos durante la ejecución en real de los modelos cognitivos presenta diferentes requisitos en cuanto al concepto de ‘tiempo real’. Por ejemplo, para un caso de uso en el cual se quiera realizar un scoring de las cookies de los visitantes de la WEB para ejecutar acciones de remárketing, es suficiente con disponer de la información en un plazo de horas, mientras que el mismo scoring en el caso de uso de realizar una oferta mientras el usuario está en proceso de pago en el carrito en en un eCommerce requiere tiempo real absoluto.
Por tanto, tenemos que clasificar las fuentes de datos disponibles también teniendo en cuenta cuándo están disponibles para su uso, y esta distinción debe estar presente a la hora de diseñar las soluciones para los distintos casos de uso y tipologías de clientes:
Datos disponibles en medio plazo (1 – 12 horas): datos obtenidos mediante las APIs o volcados a BigQuery de Google Analytics 360 en caso del cliente disponga de esta solución (entre 1 y 6h de delay), Adwords, DoubleClick y otros. Lo mismo ocurre con el resto de las herramientas analíticas ofrecidas por el resto de los proveedores comerciales habituales. Este hecho ocasiona que este tipo de herramientas que son las más comunes y estándar, pueden utilizarse de modo general para construir y entrenar los modelos, pero en los casos que se requiera generar predicciones en tiempo real, será preciso contar con mecanismos alternativos de captura de la información.
Datos disponibles en tiempo real rabioso: en general, estos datos serán de tipo ‘datos privados del cliente’ que comentábamos anteriormente. Vendrán fundamentalmente de formularios u otros mecanismos de captura de información en la web, así como de las BBDD y herramientas privadas específicas del cliente. El problema es que este tipo de datos normalmente no son suficientes para construir modelos predictivos eficaces y su formato y tipología no es compatible ni ‘mapeable’ a la información obtenida de las herramientas analíticas, lo cual no permite su uso de forma exclusiva para la operativa.
Estrategia de captura, almacenamiento y gestión de datos
Desde el punto de vista del entrenamiento inicial del modelo, lo más eficaz es utilizar un mecanismo de entrenamiento de acuerdo con el principio de que se tenga en cuenta toda la información histórica disponible, en el caso de contar con herramientas analíticas estándar (GA360, Double click, AWS, etc). No obstante, existirán situaciones en que este tipo de herramientas no estén disponibles en el cliente, muy habitual entre los clientes de pequeño tamaño debido al coste de las herramientas premium comentados. En estos caos, deberemos realizar un procedimiento de captura de datos históricos previo al entrenamiento de los modelos para la implementación concreta.
El modelo será desarrollado y testado de forma que los procesos y algoritmos utilizados sean capaces de proporcionar predicciones con una calidad adecuada utilizando exclusivamente los datos de los que se dispondrá en cualquier caso con independencia de si el cliente dispone de fuentes adicionales de datos de pago o propietarias o no. En cada caso de implementación particular, la calidad de la predicción se tratará de ser mejorada mediante el uso del resto de datos disponibles tanto en entrenamiento como en producción. Esta filosofía permitirá alcanzar dos objetivos:
Disponer de una solución al 75% off the self para clientes que demanden poca integración.
Posibilidad de pilotaje y despliegue más rápido de la solución en proyectos de integración.
Finalmente, se definirá un formato propio de datos de salida (predicciones, recomendaciones, etc) almacenando dicha información en un repositorio. Si se necesitase un formato distinto por necesidades del cliente, se realizará la conversión de formatos / BBDD o tabla de forma adicional como parte del proyecto de integración.
Fuentes de datos analíticos estándar más habituales
GA 360: Esta herramienta de Google proporciona información analítica sobre la actividad de los usuarios (cookies) en la WEB. Es posible configurarla para que de forma automática actualice dicha información directamente sobre unas tablas de BigQuery predefinidas por dicha herramienta. La periodicidad de refresco de dicha información es de unos 10 – 12 minutos, lo cual no permite el uso de esta información para la ejecución de modelos predictivos que requieran tiempo real estricto. Si esta herramienta está disponible, vuelca de forma automática unos 6 meses de histórico de actividad, razón por la cual será utilizada siempre de forma preferente como fuente de datos para el desarrollo, personalización y entrenamiento inicial de los modelos predictivos. Se puede acceder a 250 dimensiones estándar de Analytics y a hasta 200 variables definibles por el cliente, las cuales como parte del proceso de personalización de BAIF deberán ser analizadas e incluidas en los modelos predictivos en su caso. Habitualmente la variable o variables target de los modelos predictivos serán variables privadas del cliente. Todas las dimensiones del API de Analytics en tiempo real se encuentran en la siguiente URL: https://developers.google.com/analytics/devguides/reporting/realtime/dimsmets/trafficsources?hl=es. Las dimensiones del API Estándar de reporting de Google Analytics se encuentran en la siguiente URL: https://developers.google.com/analytics/devguides/reporting/core/v4/?hl=es.
Doubleclick: Esta herramienta proporciona información analítica sobre la actividad del usuario fuera de la WEB (impresiones que ha recibido, clics realizados, etc). De manera similar a GA360, Doubleclick dispone de un mecanismo de volcado automático de la información analítica sobre BigQuery, pero presenta varias diferencias en el procedimiento actualización de la información: como mecanismo de envío de información se utiliza el servicio Data Transfer de Doubleclick, el cual debe ser contratado y configurado para realizar el volcado automático. Por otro lado, los datos se cargan con una periodicidad de entre 2 y 10 horas. Los campos disponibles en los ficheros de Data Transfer se encuentran disponibles en la siguiente url: https://developers.google.com/doubleclick-advertisers/dtv2/reference/file-format
Adwords: la información proporcionada por Adwords relativa a la interacción de los usuarios con las campañas en las redes de display y search se encuentra incluida en la información proporcionada por GA360. No obstante, en muchos casos esta opción premium no estará disponible, por lo cual si queremos utilizar esta muy relevante fuente de información en la construcción y entrenamiento de nuestros modelos deberemos implementar el mecanismo previsto por Google para este fin, el API de Google Adwords. La interfaz de programación de aplicaciones (API) de Google AdWords está diseñada para desarrolladores que representan a grandes anunciantes y otros tipos de empresas especializadas en tecnología. Entre ellas, agencias, responsables de marketing de motores de búsqueda (SEM) y otros profesionales del marketing online que gestionen diversas cuentas de clientes o grandes campañas. La API de Google AdWords nos permite interactuar directamente con el servidor de Google AdWords. La interfaz SOAP de la API de AdWords es compatible con los lenguajes de programación más populares, como Java, PHP, Python, .NET, Perl y Ruby. Más detalles sobre el API de Adwords y la definición completa de las variables y dimensiones disponible están disponibles en la documentación proporcionada por Google.
API de Facebook: Los datos en Facebook Analytics proceden de los eventos registrados en aplicación y las características del usuario. Los eventos se utilizan para describir la actividad del usuario en la aplicación, mientras que las propiedades del usuario se pueden asignar a los usuarios para admitir una mejor segmentación. Por ejemplo, en un sitio web de viajes la aplicación puede disparar un evento de ' búsqueda' siempre que una persona utiliza su función de búsqueda. Este evento se puede enriquecer con los parámetros de su elección, como ' tipo de búsqueda ' que podría ser ' Flight ', ' Hotel ', o ' Car '. Este flujo de datos y eventos se puede utilizar para ver las tendencias en el uso de la búsqueda con el tiempo y, combinado con la segmentación, podría ser utilizado para entender los datos demográficos de los usuarios que utilizan la función de búsqueda con frecuencia o utilizan un tipo de búsqueda específica con frecuencia. Los eventos de App describen algo que un usuario hizo, donde las propiedades describen un atributo del usuario. App Events Export API permite exportar y descargar 24 horas de datos de los eventos de App desde el día anterior a la consulta hasta un máximo de 30 días de histórico como un archivo comprimido gz.
Datos procedentes de herramientas de CRM más usuales
CRM (Customer Relationship Management) son las siglas de Gestión de relaciones con clientes, que se refiere a todas aquellas prácticas, estrategias y tecnologías utilizadas por las empresas para gestionar y analizar las interacciones con el cliente. Los sistemas de CRM están diseñados para recopilar la mayor cantidad de información acerca de los clientes, ya sea a través del sitio web de la empresa, a través de llamadas telefónicas, correos, medios de comunicación, etc. CRM aporta toda la información necesaria para que las empresas puedan proporcionar servicios/productos que sus clientes desean. Con esto se pretende, que las empresas puedan ofrecer mejores servicios, aportar ayuda a los equipos de ventas, atraer y retener clientes. Normalmente CRM se utiliza para la relación entre empresa y cliente (B2C), sin embargo, también es utilizado para la gestión de negocios entre empresas (B2B).
Hay varios tipos de CRM que proporcionan información a la empresa referente a sus clientes: CRM analítico (orientado al análisis de la información referente a los clientes y la administración de la empresa) y CRM operativo (utilizado para gestionar las operaciones front office que han sido definidas en el nivel analítico, fundamentalmente ventas, calidad de servicio y gestión de campañas de marketing):
Salesforce: Uno de los principales sistemas CRM en el mundo. A pesar de, muchas veces, estar relacionado a grandes corporaciones, existen también soluciones para pequeñas empresas. El sistema está basado en una nube. Algunas de las herramientas que Salesforce ofrece a sus clientes son: administración de contactos, generación de leads, administración de oportunidades – con funciones que hacen más fácil la creación y generación de presupuestos, por ejemplo -, acompañamiento de ventas en tiempo real, informes, función de comunicación interna, acceso por dispositivos móviles y automatización de flujo de trabajo, entre otros.
Insightly: Además de administrar contactos y realizar el seguimiento de negociaciones, Insightly cuenta con un aplicativo para dispositivos móviles y varios tipos de informes, no solamente de ventas. Una de sus principales ventajas es la integración con RRSS: el software encuentra perfiles tomando como base los emails en su base de datos. Es posible integrar otros aplicativos como Evernote, emails y las apps de Google como Docs, Sheets y Drive.
Hubspot CRM. Es una herramienta gratuita. Es posible usar el CRM en conjunto con los propios softwares de marketing de Hubspot. Permite que se inserte el nombre y email de un contacto y el mismo busca automáticamente más informaciones de esta persona. También es posible utilizarlo para buscar informaciones sobre una determinada empresa a través de su nombre de dominio que pueden ser guardadas y organizadas dentro del CRM. Además de las funciones citadas, puede integrarse con el email y cuenta con apps para Android e iOS.
Oracle: Parecido con Salesforce, Oracle es una de las principales organizaciones de soluciones en sistemas CRM del mundo. Además, la compañía mantiene un extenso abanico de soluciones en sistemas apenas en el área administrativa. Otra de las similitudes de Oracle con Salesforce es su plataforma en la nube, compartiendo con su competidor las mismas ventajas y desventajas de su utilización. Sin embargo, sus soluciones son más enfocadas en empresas grandes y medianas. Ofrece informes analíticos de ventas, elaboración de catálogos para ventas y la posibilidad de crear y evaluar campañas.
Zoho: Una de las principales funciones y focos de Zoho está en su integración con los más diversos tipos de canales de atención al cliente. Teléfono, email, chat en línea y medias sociales son canales que pueden ser integrados al mismo. Es posible rastrear visitantes web, además de contar con herramientas analíticas para email en su propuesta.
Datos de procedentes de herramientas de eCommerce
Al igual que con el caso de las herramientas de CRM, existe en el mercado multitud de plataformas de eCommerce comerciales que son utilizadas por las webs de venta en internet para facilitar el desarrollo de sus sistemas de venta online. Típicamente estas plataformas ofrecen los siguientes servicios:
Gestión del carrito de la compra y proceso de cobro y facturación admitiendo múltiples medios de pago (tarjetas de crédito y débito, privadas, transferencias, etc). Permiten gestionar también devoluciones y cambios, así como integrarse con los sistemas de gestión de stock.
Experiencia de usuario: todas ellas están diseñadas para que su uso sea sencillo y pueden personalizarse con el look&feel de la web de venta.
Optimización de SEO (posicionamiento en buscadores)
Disponen de una serie de templates adaptados a las necesidades de los distintos tipos de productos de venta: moda, alimentación, libros, bebidas, viajes, servicios,..
Mínimo esfuerzo de integración con la web y mínimo time to market
Estas plataformas capturan y procesan mucha información sobre la actividad de los clientes durante la compra, exitosa o no. Esta información puede ser utilizada para optimizar nuestras predicciones. Al igual que en el caso anterior no existe un estándar ni el formato de datos ni en el mecanismo de acceso a los mismos, por lo que se requiere implementar un conector con estos sistemas específico y mapear los datos al formato interno de nuestra solución.
En la siguiente tabla se detallan las herramientas de uso más común que debemos plantarnos integrar con nuestras soluciones:

#eCommerce #WEB #Internet #MachineLearning #DatosAnaliticos #MarketinDigital #CasosDeUsoML #InteligenciaArtificial