miércoles, 28 de febrero de 2018

La estrategia del momento para el aumento de ventas en retail


Cada empresa cuenta con una serie de estrategias enfocadas al aumento de ventas, lo que involucra el retorno de clientes y el aumento del monto promedio gastado. La realidad es que las estrategias que hace un año funcionaron y generaron grandes dividendos, es probable que hoy sean obsoletas, esto debido a los cambios que se producen en los consumidores y las tecnologías segundo a segundo.

El consumidor evoluciona de forma acelerada, esto debido al gran cambio tecnológico al cual se ve inmerso en su día a día. La tecnología es y debe ser, parte fundamental de cualquier estrategia de marketing o ventas, pues su arraigo en la sociedad es indudable e irreparable.

Existe una técnica que ha tomado gran auge en los últimos años, generando grandes dividendos en empresas del tamaño de Starbucks, BBVA, Nike entre otras. La gamificación consiste en aplicar elementos de juegoobtener puntos, ganar retos, subir niveles, generar rankings, etc., y de esta forma darle un toque divertido a las tareas que resultan monótonas a consumidores y empleados. Consiste en generar una intención en el consumidor para interactuar con la marca de forma activa y repetida y de esta forma fungir como un elemento clave para ventas

En el caso particular del ticket promedio, la gamificación opera en pro de maximizar la tasa de retorno y ventas mediante mecánicas de retos y misiones orientadas al desafío que retiene a los clientes manteniéndolos motivados, generando así experiencias positivas.

Preferentemente, estas estrategias se realizan desde una aplicación móvil, lo que hace de la estrategia, una estrategia portable y accesible para el usuario en cualquier momento, lo cual es vital para incentivar la participación e interacción, tanto de clientes como de empleados.

Existe una tendencia que está sellando la relación entre la gamificación y las aplicaciones móviles, se trata de una estrategia de anticipación o de momento. Ejemplo, una persona cuenta con la app móvil de una cafetería y está caminando por una calle que se encuentra cerca de una sucursal de este establecimiento. La aplicación detecta su ubicación y le lanza una push notification o alerta, notificándole que se encuentra cerca de una sucursal que está ofreciendo una promoción atractiva. A lo mejor, en ese momento el usuario no estaba interesado en visitar el establecimiento, ni en realizar una compra, pero después de recibir esta notificación decide hacer ambas.

La gamificación tiene gran relación con los programas de lealtad, pues colabora con la misión más importante de estos sistemas; aumentar el ticket promedio. ¿Cómo se unen? ¿Qué estrategias existen?

 1-. Punch Card
El punch card es una tarjeta digital que cumple con la misma labor de las tarjetas de perforaciones que muchos establecimientos ofrecen.

Lo primero es indicar al cliente cuántos productos tiene que consumir para obtener uno a cambio. Ya sea a través del sistema de lealtad, punto de venta, ERP o de otro, se comienzan a filtrar sus transacciones, si dentro de su próximo consumo incluye el producto señalado, se perfora la tarjeta digital hasta completar el número de perforaciones requeridas. Una vez que completa las perforaciones en la tarjeta, el sistema emite una alerta de que ha obtenido su recompensa.

Ejemplo: Tus compras por $250 que incluyan un producto de la línea gourmet te premian con un viaje. ¡Cada compra por este monto es una perforación en tu punch card, si llenas tu tarjeta de perforaciones entras a la rifa de un viaje a Cancún!

2-. Comunidad

Esta estrategia colabora en la generación de pertinencia entre los empleados. La iniciativa ayuda a que todos los empleados trabajen en conjunto para una meta en común. 

Ejemplo: Si tu sucursal acumula $50,000 pesos en compras, gana un viaje en crucero por el caribe. 

Estos son algunas de ideas de cómo un negocio puede implementar la gamificación para el aumento del ticket promedio, no existe una fórmula obligada o una serie de estrategias establecidas, cada negocio es libre de implementar la que mejor le ayude a cumplir con el fin. Cada negocio es diferente y es por esto que la imaginación y creatividad juegan un papel elemental en la creación de ideas.

Cada empresa será libre de crear la estrategia que mejor le convenga y para muestra un botón; conoce las 5 empresas que utilizaron gamificación de forma exitosa.

Rompe el paradigma con tecnologías de gamification y has divertida la interacción de tu red de afiliados y empleados con tu marca impulsando el aumento del ticket promedio. Si te interesa saber más acerca de esta técnica, da click AQUÍ

miércoles, 21 de febrero de 2018

OLAP, ¿Qué es y qué relación tiene con el Big Data?

Cada día son más las empresas que optan por alinear sus estrategias al Big Data, muchas de ellas lo implementan debido a la necesidad de controlar, gestionar y administrar la cantidad de datos que se generan día con día.

Aplicar esta tecnología permite realizar predicciones y perfilar las preferencias de los clientes, entre otras.  El gran volumen de datos que manejan algunas empresas genera diversas complicaciones, como la navegación y la búsqueda de cierta información importante, es por esta razón que nace OLAP.

Online Analytical Processing, de acuerdo a Businees Intelligence Fácil, Search Data Center y Sin Nexus, es el modo de consultar grandes cantidades de datos y apreciarlos desde una determinada perspectiva.

La data debe cumplir con tres principales características, conocidas como las tres V: grandes volúmenes de datos, gran velocidad y variedad, lo que quiere decir que se trabaja con grandes cantidades de información, de distintos tipos a una gran velocidad. A través de las estructuras multidimensionales conocidas como cubos OLAP, se puede trabajar con estos volúmenes de información.

Estos cubos muestran la información de forma resumida en las diferentes bases de datos, para que su acceso y búsqueda sea más accesible y amigable para el usuario. Otro beneficio de implementar este modo de consulta es la capacidad de filtrar información de forma sencilla, así como segmentarla.
Para algunos sectores este modo de consulta supone una gran ayuda, siendo el sector retail uno de los más beneficiados, debido al análisis de ventas que se realizan durante un determinado tiempo, en determinadas tiendas de alto consumo.

El almacenamiento de información llegó a ser lineal, es decir, todos los datos registrados se guardaban en listas, las cuales dependiendo el período de análisis podían sumar miles de líneas de registro. El consultor o el analítico debía correr el sistema y hacer un barrido de todos esos registros, lo que hacía de este proceso, un proceso lento, además de que alentaba el sistema. 


Los cubos OLAP fortalecieron esta actividad, pues en un cubo con una estructura parecida a la de un cubo Rubik, contienen la información pre-cargada y pre-calculada de ese listado lineal, lo que hace que la consulta de información sea más rápida y fácil. 

Su naturaleza comercial coloca a los supermercados y tiendas de autoservicio como las principales candidatas a su implementación, pues en caso de hacerlo, los grandes volúmenes de información almacenados se convierten en eficientes y rápidos puntos de consulta para las áreas comerciales y de inteligencia de mercado. 


Con información de Informa BTL 

martes, 13 de febrero de 2018

Código Elegante

Por Iván Vázquez. 

Conozco personas que dirán que las matemáticas son la base de la programación o requisito fundamental para ser un buen programador. Otros dirán que no es imprescindible, aun así, nadie podría negar la estrecha relación que existe entre las ecuaciones matemáticas y los algoritmos lógicos.

La manera de abordar y abstraer una solución a un problema puede ser diversa y aún así llegar a un resultado correcto. Sin embargo, puede existir un algoritmo mejor que otro, si se compara algunos de los siguientes puntos: estabilidad, ejecución, mantenimiento, funcionalidad, legibilidad, compatibilidad entre otros muchos más. Está claro que para algunos casos tendrá más importancia cierto factor sobre otro.

Por ejemplo, en algunos dispositivos con recursos limitados podría tener más importancia la velocidad de ejecución sobre la compatibilidad del programa. O por el contrario, el desarrollo multi plataforma que brinda gran compatibilidad, pero podría aumentar la complejidad del código y requerir dependencias.

En cualquiera que sea el caso se pueden aplicar algunas reglas para mejorar la lógica, crear código limpio y tener buenas prácticas de programación. Por eso me gustaría compartir algunos consejos que me han ayudado y que podrían ser útiles.

1-. No copiar y pegar código.
Esto ayuda a razonar y comprender nuestro programa, también evita que dupliquemos código o que se tome código innecesario.

2-. No escribir comentarios.
Podría parecer raro pero el exceso de comentarios en el código es indicador de que el código no es muy fácil de entender. Se puede evitar escribir comentarios representando las entidades, propiedades, métodos y variables con nombres intuitivos.

Por ejemplo:
No es necesario comentar los siguientes métodos, debido a su fácil lectura.

//Código fácil de leer
User::getBy($id);
User::is($root);

3-. No indentar más de 4 llaves.
Generalmente los tabuladores surgen a partir de disyunciones en el flujo del proceso, para los humanos es más fácil seguir un flujo lineal que uno intercalado.

Ejemplo:

//Código complejo y difícil de leer
if ($condicion === true){
  if ($segunda_condicion === true){
    $result = 'A';
  }
  elseif ($segunda_condicion === false){
    $result = 'B';
  }
}else{
  $result = 'C';
}
return $resul;

//Mismo resultado con código fácil de leer
if(!$condicion){
    return 'C';
}
return $segunda_condicion ? 'A' : 'C';

Ambos segmentos de código llegan al mismo resultado, pero uno resulta más complejo que otro debido a las llaves. La intención es escribir un código "bonito", que sea más fácil de leer por humanos y de procesar por ordenadores.

4-. Evitar el Switch
En algunos casos es más difícil reemplazar un switch por un arreglo, pero siempre es más eficiente un arreglo o diccionario que la estructura de control switch ya que internamente funciona como un conjunto de ifs.

Mostraré un caso común;

//Código complejo y difícil de leer
 switch(status)
 {
  case 'new':
    $('.item').addClass('blue');
  brack;
  case 'updated':
    $('.item').addClass('green');
  brack;
  case 'canceled':
    $('.item').addClass('yellow');
  brack;
  case 'deleted':
    $('.item').addClass('red');
  brack;
 }

 // Mismo resultado con código optimizado.
 var colors={"new":"blue","updated":"green","canceled":"yellow","deleted": "red"};
 $('.item').addClass(color.status);
En ambos casos se cumple el objetivo, pero es más eficiente usando un arreglo.

5-. Evitar en php comillas dobles ""
En php las comillas dobles hacen referencia a un string que podría contener variables, esto obliga al intérprete de php a buscar intensivamente variables contenidas en su interior. Mientras que con comillas simples es reconocido como un simple string.

  $world = 'mundo';
  echo "Hola $mundo";
  echo "Hola".$mundo;
  echo 'Hola '.$mundo; // <-- Mejor resultado en tiempo de ejecución.

6-. Evitar el uso de excesivo de loops.
El hecho de intentar resolver algo común sin un ciclo, ayuda a pensar una solución mejor. Debemos evitar al máximo el uso de loops mágicos como FOR IN o EACH que son más lentos.

7-. Utilizar índices en las bases de datos.
En los gestores de bases de datos no existe un límite de registros establecido, el límite es el espacio disponible en el disco duro. De igual forma, la velocidad de lectura y escritura de registros termina siendo controlado por el sistema operativo y los mismos componentes electrónicos, el uso correcto de índices en las tablas permite trabajar con 200 o 300 millones de registros sin problemas. Típicamente se colocan los índices en los campos relacionados con otras tablas o en campos que se utilizan para filtrar.

8-. No hacer consultas con subqueries.
Al contrario que los índices, los subqueries son internamente un loop interno que afecta el performance gravemente. Esto se debe a que ejecuta un query por cada row consultado en el select principal, si se agregan 2 o 3 podría ser muy lento, incluso desbordar la memoria en tablas de pocos rows. Se debe resolver con joins, o ejecutar consultas separadas.

9-. Nivel ensamblador
Es conveniente tomar en cuenta factores de bajo nivel, el programa en lenguajes de alto nivel como Java o PHP termina traduciéndose a ensamblador y, por último, en lenguaje binario en nuestro procesador o memoria ram. Por ejemplo, una variable global requerirá memoria, mientras algún objeto haga referencia a ella. Esto debido al contexto y alcance (scope) de las funciones y objetos. 

En resumen…
Abstraer el problema y razonarlo de la manera más inteligente posible te permite crear código legible, óptimo y elegante.


Te recomendamos