lunes, 23 de marzo de 2015

Next Best Action. Siguiente mejor acción de marketing


Dejamos en esta entrada un poco de lado la parte técnica y nos centramos más en algunas ideas de negocio.
Dentro del mundo del marketing y el CRM analítico hay conceptos clave que han ido surgiendo durante los últimos años y que resultan interesantes conocer, como 360-degree view of the customer,  customer lifetime value y el que tratamos ahora que es Next Best Action.

Hay muy buenas definiciones de NBA en la red, por ejemplo en wikipedia.

Buscando documentación para esta entrada yo he encontrado esta definición particularmente útil:

"best practices for proactively guiding and optimizing all offers, interactions, and experiences across all customer-facing channels, processes, and roles.".

Sin entrar a abordar términos como Customer Lifetime Value, digamos que dentro de una estrategia global de marketing, en una empresa orientada a las tomas de decisiones basadas en una analítica avanzada y no solo en el "gut feeling", es posible optimizar la calidad de la experiencia con el cliente a través de cualquier interacción a lo largo del ciclo de vida del cliente con la compañía.

Imaginemos por un momento, el caos que supondría no tener una política común de marketing, con diversos departamentos realizando acciones de marketing aisladas, sin interactuar con los demás, sin recoger el resultado de esas interacciones para alimentar nuestra "vista única del cliente".

¿Cómo se podría trabajar así en la era de google, amazon, etc.. y esperar sobrevivir?

Ejemplo: Venta de un producto de Fitness.

Centrándonos en un caso concreto para aclarar toda esta base teórica. Imaginemos un cliente al que le hemos vendido el típico producto de Fitness (Ver figura 1).
La transacción fue satisfactoria, el pago y la entrega se realizaron correctamente.
Incluso, al ser un producto de un coste superior al importe medio de nuestro negocio, podríamos haber contactado con él para hacerle un pequeño seguimiento de satisfacción de su compra.

Como hemos comentado en anteriores entradas, toda esa información debe quedar registrada lo más pronto posible, por ejemplo en un proceso automático nocturno diario, en nuestro repositorio analítico (customer signature), parte de nuestro CRM.

 Figura 1. Next Best Action para un cliente de Fitness.


De modo que abordamos ahora la cuestión clave de esta entrada: "¿Qué acciones tomamos a continuación con el cliente?"

Aclaramos nuevamente que la definición de qué es considerada una "acción" de cara al cliente debe ser consensuada dentro del marco de la estrategia global de marketing de la empresa, ejemplos habituales son (retención de clientes, recuperación de antiguos clientes, maximización de campañas de telemarketing outbound,...

La concreción de estas acciones se podrá llevar a cabo a través de:
sistemas de recomendaciones;
acciones automatizadas;
generación de ofertas personalizadas por segmentos;
generación de guiones de respuestas en función de la llamada que nos entra o que realizamos;
personalización de nuestro portal de comercio electrónico;


La ejecución de estas acciones debe ser llevada a cabo a través de un proceso que optimice la experiencia del cliente vía la realización de una analítica predictiva. 

Debemos crear una plataforma que orqueste a través de modelos las acciones de marketing a llevar a cabo tanto desde el punto de vista de la  analítica predictiva como de reglas de negocio.



Por último, yendo un paso más allá, tomando  prestada la idea del genial Chris Anderson en su famosa obra "Long Tail", una consecuencia lógica en el ciclo de vida del cliente es su evolución
de ser un usuario de un producto a uno de un servicio (Ver figura 2).  De algún modo "desmaterializar" las transacciones.

Lo que tiene sentido sí pensamos en la idea de tendencia a la personalización de la demanda de los clientes/usuarios de la que habla Anderson en su obra.

¿Ofrecemos al cliente de un banco de abdominales otro gadget? Bien, y después de adquirir x gadgets, ¿cómo puede este cliente volver a requerir/aceptar una experiencia que sienta como propia y totalmente personalizada con nosotros?

De hecho, aquí reside una de la claves de acciones de telemarketing outbound.
¿Cuando llamamos a un cliente para ofrecerle un nuevo producto, basado en su histórico de compras con nosotros y su comportamiento de compra, no será tan importante la gestión de la operadora, guiada y personalizada gracias a los modelos de predicción analítica, como la naturaleza del producto/oferta realizada(en función de los ingresos, rentabilidad, aumento del CLV,..)?

¿Deberíamos enfocar las gestiones entonces simplemente como acciones de una operadora de call center o más bien como las de una asesora de belleza, cuidado personal,...?


Figura 2. Next Best Action (servicios) para un cliente de Fitness.

Saludos.

miércoles, 18 de marzo de 2015

Planificación o budget allocation

Basándome en el patrón de PowerPivot Dax creado por Marco Russo y Alberto Ferrari, disponible en su web http://www.daxpatterns.com/budget-patterns/ he implementado este modelado para realizar una planificación de las ventas de los siguientes tres meses.

El resultado final es algo de este estilo de la imagen que muestro a continuación.
Básicamente he adaptado los cálculos hechos por Ferrari y Russo para mi negocio. Como hago siempre, he cambiado las cifras y ocultado los detalles más sensibles.


Además del cálculo del budget o cantidad presupuestada, el importe real y la variabilidad por encima o debajo, he añadido un par de sencillos cálculos extra:

Porcentaje de la venta por familia sobre el total:

PercentageOnFamily_Canal24h :=
SUM ( vw_VentasCANAL24H[ImporteTotal] )
    CALCULATE (
        SUM ( vw_VentasCANAL24H[ImporteTotal] ),
        ALL ( vw_MaestroProductos[Familia] )
    )


Porcentaje de la venta por categoría sobre el total de la familia:

PercentageOnCategory_Canal24 :=
SUM ( vw_VentasCANAL24H[ImporteTotal] )
    CALCULATE (
        SUM ( vw_VentasCANAL24H[ImporteTotal] ),
        ALL ( vw_MaestroProductos[categoria] )
    )


La clave de la funcionalidad está en la elaboración de una tabla Budget, que yo alimento con un proceso mensual donde cargo para cada familia de producto, categoria, año, trimestre y mes la cantidad que pretendemos presupuestar.

El cálculo, hecho con un procedimiento almacenado con T-SQL, proyecta los importes previstos facturar en función de una media ponderada entre lo facturado el trimestre previo a la proyección y los inmediatos últimos 15 días (por la naturaleza de el negocio en cuestión los cambios son a muy corto plazo). Como vemos nada muy sofisticado.

Además, se da otra restricción, hay categorías de productos que se descontinúan por diversos motivos:
se hicieron testeos con ellos y no superaron los rangos mínimos de rentabilidad;
no se van a emitir durante una temporada por rotura de stock;
se descontinúan definitivamente;
etc...

Para recoger esto en nuestro modelo, añadimos una tabla extra que recoge todas las categorías de productos "baneados" donde se configuran para que fuerce a que estas categorias no tengan budget, como podemos ver en el extracto de query debajo donde se configura:





De modo que ahora la cifra que proyectamos de venta basada en meses anteriores aunque hayan incluido estas categorías no se añadirá cantidad que presupuestar.

Saludos.














viernes, 27 de febrero de 2015

Dashboard con Excel PowerPivot control acciones marketing





Retomamos la idea de la BBDD analítica que nos sirva para realizar las acciones comerciales del departmento de marketing, lo que en alguna entrada hemos llamado Customer Signature o también conocido como Customer Information File (CIF), analytical file.

En el libro "Database marketing. Analyizing and managing customers". se recoge la siguiente tabla con al información del cliente agrupada por categorías de interés:

  • Datos de identificador del cliente.
  • Otras características del cliente. Datos socio-demográficos, ubicación, etc...
  • Histórico de compras de los clientes.
  • Life Time Value (LTV) como métrica para medir el potencial de crecimiento.


 


Por mi experiencia, la información más valiosa es la que procede de aquellos campos que componen la llamada "Purchase History" ya que con los campos que mejor nos permiten predecir el futuro comportamiento de compra de un cliente. Métricas como la rccencia, frecuencia de compra o el valor total gastado a lo largo de la vida de un cliente suelen ser las más útiles a la hora de realizar modelados predictivos.

Centrándonos en la sección de las respuestas a nuestras acciones de marketing, muestro a continuación como crear un modelado que nos sirva para controlar, mediante powerpivot, un sencillo cuadro de mando para medir la efectividad de las campañas de Telemarketing outbound:



Para medir la efectividad de acciones de marketing o campañas es necesario cruzar por un lado la información referente a las acciones/campañas y la información correspondiente a las transacciones realizadas por dichas acciones.
La información de las campañas y la de las transacciones se unen en una query de este estilo, teniendo como nexo de unión al operador:


El informe final será similar al que se muestra a continuación, donde las métrica de interés son los pedidos vendidos asociados a cada campaña y los filtros son variables asociadas a las campañas por una parte y por otra información que caracteriza a la información de al venta, tablas del transaccional.


Este tipo de informe nos permite realizar una primera aproximación a lo que se denomina una "data-driven marketing culture" donde no estamos haciendo aún ningún tipo de análisis avanzado sino más bien reporting. El objetivo es que esta información vaya sirviendo de base para una posterior analítica predictiva desde la que transformemos datos en bruto en auténtica ventaja competitiva para el negocio, como iremos viendo en posteriores entradas.

Saludos.

lunes, 12 de enero de 2015

Evolución ventas y uso de medias móviles con TSQL y Excel




Para analizar como está evolucionando una producto a lo largo del tiempo lo ideal es utilizar un gráfico de lineas en el que en el eje de abscisas aparezca la variable temporal y en el de ordenadas la métrica a medir (#pedidos, importe (€), rentabilidad (€),...

Visualizar la información de pedidos, importe o lo que estemos midiendo así, nos representará nuestra serie de datos con muchos altibajos que dificultarán obtener tendencias o ciclos. Esto, tanto más en negocios como la venta minorista, donde es habitual que roturas de stock, continuas acciones de marketing para reactivar la venta, repentinos cambios en los hábitos de comportamiento de los clientes,etc... nos harán observar picos hacía arriba y hacía abajo en nuestras mediciones de negocio.

Por todo ello, es interesante realizar el análisis de nuestras ventas a los largo del tiempo, mediante el uso de medias móviles (también conocidas como moving averages o rolling averages).
Mediante la media móvil nuestro conjunto de datos pasan de ser puntos individuales a series de promedios que agregan por su media aritmética los valores originales. Es decir de nuestro conjunto de datos inicial pasamos a otro que es el promedio de nuestros datos originales.

Como en varias otras entradas de este blog, voy a mostrar como realizar los cálculos que necesitamos en T-SQL y visualizar la información a través de Excel.

Antes de nada, me gustaría agradecer a Tomas Lind, por su magnífico trabajo que he utilizado como base para mi desarrollo.

Especialmente, a destacar la sección Technical Analysis (TA).

Como siempre añado parte del código y pantallazos, ocultando la información más sensible de los datos.




Cada una de las MA significan Mean Average, para 4 meses, MA4, 3 meses MA3, semestral MA6, MA12, MA18 y MA24 meses.

Realmente, estos son los campos que mostraremos en el gráfico de lineas junto con la métrica original, que en mi caso es el número de pedidos (orders).



En el gráfico se puede apreciar  que la linea azul son los pedidos por mes, es una linea que va haciendo picos en función de las circunstancias del negocio. Sin embargo, observamos que a las lineas de moving average tienden a"suavizarse" y marcan una tendencia. 

Este efecto se hace más apreciable a medida que los valores sobre los que obtenemos la media se extienden en el tiempo, como por ejemplo la linea verde que conforma la media móvil de un año.

A destacar también, que el mes de enero del 2015 presenta una caída significativa (linea azul) porque los datos están tomados del día 10 de enero (todavía faltaban 20 días más para completar el mes). Sin embargo las medias móviles suavizan nuevamente esa caída que no se corresponde con la tendencia alcista de los últimos meses del 2014.

Por último, reseñar que los datos han sido preparados para poder segmentar los datos por varios criterios de interés para el negocio, año, trimestre, mes, familia de productos, categoría de productos y canal. Estos campos se convierten en slicers sobre los que poder filtrar la información de la serie temporal.




Saludos.


lunes, 15 de diciembre de 2014

Visualización con un heatmap en Excel para evolución ventas por rango horario a lo largo del tiempo

Basándome en el libro "Data Analysis using SQL and Excel" de Gordon S. Linoff mostramos un ejemplo que, a través de un mapa de calor en Excel, nos permite visualizar información de la tendencia de venta de cada spot en distintas franjas horarias durante los últimos 15 días.

En el capítulo 8 de libro de Gordon ("Customer Purchases and other repeated events") plantea una solución para ver la evolución de las compras de los clientes en la BBDD de ejemplo del libro.
(Los 3 primeros pantallazos que adjunto están sacados de este extraordinario libro.)


El eje de las Y recoge el amount (cantidad vendida en $), las X recogen el mes y el año de la venta. Realmente más que una recta de regresión se trata de una serie temporal. El caso es que sirve para ver la evolución (creciente o decreciente) de cada cliente a lo largo del tiempo y ver si esta incrementando su gasto o disminuyéndolo.






La solución que yo planteo se basa en la lógica que acabo de describir. Necesito obtener una medida que nos resuma la evolución de los resultados de los distintos pases que emitimos a distintas horas de un determinado spot.

Para ellos tomados los últimos 15 días y para cada spot en las distintas horas en las que se ha emitido medimos en número de ventas que ha tenido el producto asociado a ese spot. Y de esto obtengo el slope o pendiente de la recta de regresión que forman los días en el eje de la X y la rentabilidad de ese spot.

La query resultante tiene un aspecto parecido a lo que muestro a continuación:



El principio básico es el mismo que para la query anterior, pero genero un slope para cada programa y para cada hora del día (cogemos emisiones desde las 7 de la mañana hasta las 23 de la noche.

Todos estos valores me los llevo a PowerPivot:

que finalmente lo representamos mediante una tabla dinámica a la que formateamos mediante una escala de color:



Observamos que además del programa, se añaden dos niveles de agregación, Categoría y si se trataba o no de una acción de marketing, con lo que las posibilidades de segmentar basados en criterios de negocio se multiplican en función de las necesidades que surjan.

Conseguimos así, el objetivo de la llamada data visualization, citando a Des Traynor,  exempleado de google y socio cofundador de Intercom:

"The purpose of a data visualisation is to highlight what can’t be otherwise seen. 
[...] In some cases it’s more important that the viewer sees the comparison, not the data."

En una sola hoja de Excel podemos analizar la situación de los resultados de una parrilla de programación.

Saludos.



miércoles, 7 de mayo de 2014

Cómo afrontar un modelado analítico. El customer signature


Una de las primeras tareas que se deben afrontar dentro de un entorno de CRM analítico (aquel que se utiliza para analizar la información de los clientes con el fin de conseguir conocerlos mejor y personalizar nuestra oferta hacia ellos) es crear un repositorio centralizado y un formateado de datos específico, habitualmente llamado customer signature.


El Customer Signature es una estructura de datos que recoge la principal información de un cliente de forma resumida, ubicándola en un único sitio. Es una vista integrada y unificada del cliente. 

Para la mayoría de las aplicaciones de minería de datos se requiere una tabla plana que recoja la información y que habitualmente está a nivel de cliente. 

En cierto modo es una especie de maestro de clientes. Es muy útil para la generación de informes y para emplazar la información resumida y agregada (en un entorno diseñado con una finalidad analítica) de un cliente, tanto socio demográfica como basada en sus hábitos de comportamiento de compra.

En un entorno de CRM – especialmente en retailing- se le suele denominar MICF (marketing customer information file) o incluso mining data mart

Estas estructuras resultan especialmente adecuadas para posteriores análisis y modelados analíticos utilizando algoritmos de estadística avanzada y de minería de datos. 

Habitualmente este tipo de información se suele recuperar de un data mart del CRM de la empresa. Pero es necesario enriquecerlo con atributos derivados y KPI’s informativos que resumen todos los aspectos de la relación de los clientes con la compañía (agregados y medias, ratios,Deltas,…). 

El customer signature se puede realizar con cualquier lenguaje de script (Perl, Python, R,…), con alguna herramienta de ETL (como SSIS, PowerCenter o Kettle), o directamente con T-SQL

Hacerlo con T-SQL tiene la ventaja a la hora de preparar los datos de que hace uso del procesado en paralelo propio de los motores de BBDD. En la mayoría de los casos en que he tenido que realizar un tipo de estructura con un simple script en T-SQL, es más que suficiente para agregar y resumir la información más importante de un cliente. 

En una entrada posterior, entraré más en detalle sobre el tipo de información que suele llevar un customer signature y añadiré algunos ejemplos en T-SQL del tipo de información que debe llevar.

martes, 5 de noviembre de 2013

Ideas para nuevas líneas de negocio

TeletiendaIdeas para nuevas líneas de negocio:




Google Analytics ha incorporado una nueva sección de “categorías e intereses” de los visitantes de un sitio web.

Esta característica es muy interesante para la gestión de un comercio electrónico.

Como podemos ver en la imagen de abajo, Google ha creado una serie de categorías con la ingente información que ha recopilado en la “Red Display*”:

  • ·         News Junkies & Avid Readers
  • ·         TV Lovers
  • ·         Music Lovers
  • ·         Travel Buffs
  • ·         Cooking Enthusiasts
  • ·         Technophiles
  • ·         Movie Lovers
  • ·         Sports Fans
  • ·         Home Decor Enthusiasts
  • ·         Shoppers/Shopaholics

* La Red Display de Google se trata de un conjunto de más de un millón de sitios web, vídeos y aplicaciones en los que pueden aparecer sus anuncios. Los sitios de esta red se han asociado con Google para mostrar anuncios de AdWords relevantes.

            Sección categorías e intereses de Google Analytics.  


Como se puede ver cada visita se puede clasificar a varias categorías.
A través de esta segmentación podemos descubrir que caracterizan a los usuarios que nos visitan y por lo tanto, extender o crear líneas de negocio que se adapten más a nuestros perfiles de usuarios/compradores.

Por ejemplo, Travel Buffs, ¿podemos intentar llegar a un acuerdo con proveedores de servicios de viajes para incluir sus productos en nuestro sitio de comercio electrónico?


Estas no son las únicas categorías. Google analytics genera otras como podemos ver a la derecha de la imagen a continuación:


          Sección categorías e intereses de Google Analytics.  

Tenemos que tener en cuenta que esta segmentación de visitantes la podemos cruzar con la segmentación que tengamos hecha de nuestra BBDD del negocio y comprobar si, a priori, tenemos oferta que ofrecer a nuestras nuevas visitas.


Este planteamiento difiere radicalmente de la típica estrategia habitual de “importar” los grandes hits de los mercados más desarrollados, como los ranking de productos que se pueden ver en jwgreensheet: http://www.jwgreensheet.com



     Saludos.