Encontrar mejores análisis móviles
Publicado: 2022-03-10Al crear una aplicación móvil, un desarrollador imagina un modelo y la forma en que los usuarios utilizarán la aplicación. Un problema al que se enfrentan los desarrolladores es que los usuarios no siempre utilizan una aplicación de la forma en que la concibió el desarrollador.
¿Cómo interactúan los usuarios con la aplicación? ¿Qué hacen en la aplicación? ¿Hacen lo que el desarrollador quiere que hagan? La analítica móvil ayuda a responder estas preguntas. Los análisis permiten al desarrollador comprender lo que sucede con la aplicación en la vida real y brindan la oportunidad de ajustar y mejorar la aplicación después de ver cómo los usuarios realmente la usan. En pocas palabras, el análisis es el estudio del comportamiento del usuario.
Lectura adicional en SmashingMag:
- Priorización de dispositivos: pruebas y diseño web receptivo
- La transición de Noah a las pruebas de usabilidad móvil
- ¿Dónde están los mejores laboratorios de dispositivos abiertos del mundo?
- Una guía para la prueba de usuario móvil simple e indolora
Con este artículo, compararemos algunos de los sistemas de análisis móvil más populares. El proceso de agregar análisis a una aplicación implica la consideración de muchos detalles, y nuestro objetivo es brindarle consejos útiles sobre cómo implementar análisis. Esta información debería ayudarlo a encontrar un sistema de análisis móvil que se ajuste a sus necesidades y debería ayudarlo a implementarlo correctamente en su aplicación.
Análisis en la vida real
Usemos como ejemplo una pequeña aplicación iOS que desarrollamos. Se llama What I Eat, y su objetivo es rastrear los hábitos alimenticios del usuario.
Los usuarios pueden realizar un seguimiento de sus comidas, consultar el registro diario de comidas y cambiar de día en el calendario para revisar los registros anteriores. La aplicación tiene un banner publicitario, pero los usuarios pueden pagar para desactivarlo.
Al diseñar What I Eat, nuestro enfoque principal fue permitir que el usuario agregue fácilmente nuevos registros de comidas y revise fácilmente su historial diario de comidas. También queríamos monetizar la aplicación con una compra dentro de la aplicación para eliminar el anuncio. Para entender si hemos logrado hacer esto, rastreamos los siguientes eventos en la aplicación:
- cuando el usuario inicia la aplicación por primera vez (instalación de la aplicación),
- cuando el usuario abre la lista de comidas diarias (pantalla principal de la aplicación),
- cuando el usuario agrega un nuevo registro de comida,
- cuando el usuario realiza una compra en la aplicación para eliminar anuncios.
Más adelante en este artículo, mostraremos cómo usamos el análisis para determinar si los usuarios han comenzado a usar la aplicación y qué porcentaje de usuarios comienzan a rastrear las comidas después de instalar la aplicación.
Comparación de servicios analíticos
Hoy en día, hay muchos servicios de análisis en el mercado, que van desde sistemas conocidos como Google Analytics hasta herramientas de nicho. Analizarlos y compararlos todos llevaría una eternidad; así que, para este artículo, elegiremos solo aquellos que hemos encontrado más convenientes. Es decir, elegimos aquellos cuya interfaz de tablero y caja de herramientas de minería de datos son relativamente fáciles de entender y fáciles de usar para aquellos que no tienen mucha experiencia con análisis, como nuestros clientes. Como sistemas analíticos orientados a dispositivos móviles, también son convenientes desde una perspectiva de desarrollo porque el código analítico se puede implementar y ajustar fácilmente en una aplicación móvil. Aquí están los sistemas:
- Aluvión de Yahoo
- Respuestas de Crashlytics
- Amplitud
- panel de mezcla
Para analizar el rendimiento de What I Eat, utilizamos dos herramientas principales que casi todos los sistemas de análisis proporcionan: eventos y embudos. Los eventos describen lo que hacen los usuarios en la aplicación, mientras que los embudos permiten un análisis cualitativo de estos datos. Examinemos cómo cada uno de los sistemas implementa esto para What I Eat.
panel de mezcla
Mixpanel le permite rastrear eventos personalizados. El desarrollador puede agregar parámetros personalizados a los eventos y usar estos parámetros para segmentar los embudos de conversión.
Creamos un embudo que incluye dos eventos: "Instalar" (que indica el lanzamiento inicial de la aplicación después de la instalación) y "Agregar comida" (que rastrea cada vez que el usuario agrega una comida). Estos nos muestran qué porcentaje de usuarios no solo descargaron la aplicación sino que también comenzaron a usarla. La conversión se estima en un 65%, lo que significa que de 100 personas que instalaron la aplicación, hasta 65 comenzaron a rastrear las comidas.
A veces, un desarrollador necesita que los eventos aparezcan en el panel de análisis en tiempo real o con un retraso mínimo después de que hayan ocurrido en la aplicación. Por ejemplo, un desarrollador puede haber lanzado una campaña de marketing en redes sociales y necesita realizar un seguimiento de cómo afecta su aplicación en tiempo real. Mixpanel muestra eventos casi en tiempo real. Los embudos recién creados se calculan y visualizan casi al instante.
Amplitud
Inmediatamente después de que el desarrollador agrega el kit de desarrollo de software (SDK) de Amplitude a su proyecto, y sin ninguna configuración adicional de eventos o embudos, el software comienza a rastrear los datos de usuarios activos diarios y mensuales (DAU y MAU). Lo usamos mucho en What I Eat para comprender cuántas personas usan la aplicación cada día.
Al igual que Mixpanel, Amplitude proporciona una poderosa caja de herramientas para trabajar con eventos y embudos; el desarrollador puede crear un embudo y segmentarlo por parámetros. A diferencia de Mixpanel, Amplitude puede visualizar segmentos directamente en un gráfico de embudo, lo cual es útil cuando necesita comprender cómo un parámetro afecta la tasa de conversión. El siguiente gráfico muestra cómo la conversión de "Instalar" a "Agregar comida" varía según el idioma de la interfaz.
Como puede ver, la interfaz rusa muestra una mejor conversión que la inglesa (83% versus 66%). Por lo tanto, con nuestras próximas actualizaciones de la aplicación, es posible que debamos prestar más atención a nuestra audiencia no rusa.
Respuestas de Crashlytics
Al igual que con Amplitude, una vez que se agrega el SDK de Answers al proyecto de la aplicación, comienza a rastrear datos. Casi sin esfuerzo por parte del desarrollador, Answers proporciona una vista ordenada de algunos indicadores clave de rendimiento (KPI) de la aplicación móvil: MAU, DAU, nuevos usuarios diarios y sesiones.
El desarrollador puede definir y rastrear KPI personalizados como eventos, y Answers los visualizará de la misma manera.
Las respuestas también brindan información sobre qué tan activa es su audiencia y cuánto tiempo pasan las personas en la aplicación.
El análisis de Answers conserva los datos de los últimos 30 días y no tiene embudos. Por lo tanto, solo funciona para un análisis simple y a corto plazo del rendimiento de una aplicación.
Aluvión de Yahoo
Flurry no es tan útil como Mixpanel o Amplitude cuando necesita crear embudos y realizar análisis de cohortes.
Los usuarios de Flurry pueden crear hasta 10 segmentos y aplicarlos a un embudo. Agregar un nuevo segmento a un embudo existente requiere su recálculo, y esto puede demorar alrededor de un día. Los usuarios no pueden crear más de 10 segmentos para aplicar a sus embudos. Los cálculos de embudos recién creados pueden demorar hasta tres días.
No hemos encontrado que los eventos y embudos de Flurry sean útiles para What I Eat, y usamos principalmente Mixpanel y Amplitude.
¿Qué más es importante?
Si bien los eventos y los embudos son características clave, algunas otras cosas influyen en la elección del sistema de análisis adecuado.
Datos demográficos
Algunos de los servicios analíticos brindan información sobre la audiencia de la aplicación, incluso si no se recopila en la aplicación. Lo hacen obteniendo datos de usuario de fuentes distintas a su aplicación móvil. Esto resulta útil cuando necesita identificar a sus usuarios avanzados, pero su aplicación no recopila ningún dato sobre ellos. Por ejemplo, en la aplicación What I Eat, los usuarios no tienen que registrarse y no hay otra forma de que podamos recibir datos de usuario, pero aun así nos gustaría saber quién los usa para dirigirnos con precisión a los nuevos usuarios con la aplicación. actualizaciones
Respuestas proporciona datos sobre tu audiencia, como su sexo e intereses. ¿Te estarás preguntando cómo hace eso? Bueno, Answers está estrechamente integrado con Twitter, y debido a que Twitter sabe casi todo sobre todos los que usan la plataforma, Answers aprovecha estos datos personales.
Flurry estima los datos demográficos aproximando la información del usuario que recibe de las aplicaciones que la han compartido. La razón por la que los desarrolladores comparten esta información es porque reciben un conjunto de datos de audiencia más preciso al proporcionar datos de información a Flurry. Flurry te muestra los intereses, el rango de edad y el sexo de tus usuarios.
Con la ayuda de Flurry y Answers, podemos ver que la audiencia de What I Eat está compuesta principalmente por mujeres de mediana edad interesadas en la salud y el estado físico.
Mixpanel y Amplitude no proporcionan ningún dato demográfico.
API externa para importar y exportar datos
Los análisis permiten la importación y exportación de datos a través de API externas. La exportación permite el análisis de datos fuera del panel de análisis (es decir, con la ayuda de software de extracción de datos de terceros, como Windrush y DataHero). La importación de API le permite implementar datos en plataformas de análisis desde fuentes como servidores back-end y sistemas de seguimiento de atribuciones como AppsFlyer. Examinemos qué servicios analíticos proporcionan tales funciones:
- Amplitude proporciona una API externa tanto para la importación como para la exportación de eventos.
- Mixpanel tiene API de importación y exportación. Es compatible con JavaScript Query Language para permitir consultas de exportación complejas.
- Respuestas no tiene una API externa. Puede descargar datos de eventos como un archivo CSV desde el tablero, pero no incluye ningún parámetro de evento.
- Flurry no tiene una API de importación. Solo puede exportar datos utilizando su API de exportación.
Precio
Las empresas de análisis móvil experimentan con los precios y pueden cambiar sus tarifas con bastante frecuencia. Los siguientes datos son de julio de 2016:
- Flurry y Answers son completamente gratis.
- El plan gratuito de Amplitudes proporciona 10 millones de eventos al mes. Si espera rastrear más que eso, le costará $ 2,000 por mes. Aunque hemos usado Amplitude en bastantes proyectos, nunca hemos tenido que cambiar al nivel pago porque los límites del plan gratuito también son altos.
- Mixpanel tiene un nivel gratuito de 25,000 eventos por mes. Un millón de eventos cuesta $300 por mes. Para más de 10 millones de eventos, tendrás que pagar $1250 por mes.
Sugerencias para la implementación de análisis
Ahora que conocemos las principales diferencias entre cada sistema de análisis, profundicemos en los aspectos prácticos de la implementación de análisis.
Haz tu tarea
Si ha decidido que necesita análisis en su aplicación, codificarlo no es lo primero en lo que debe pensar. Creemos que un buen desarrollador debe comenzar con los siguientes pasos:
- Anota lo que necesitas rastrear. . Comience por redactar una lista de preguntas que desea que responda el análisis. Con base en esa lista, diseñe los eventos y los parámetros que necesita rastrear para responder las preguntas. No incluya análisis en la aplicación por el simple hecho de hacerlo.
- Reformúlelo en términos de su análisis. . Una vez que haya completado su lista de eventos, formalícela de acuerdo con la plataforma de análisis que haya seleccionado. Por ejemplo, mientras Amplitude permite eventos con cualquier conjunto de parámetros, Google Analytics tiene un conjunto predefinido de parámetros. Tenga en cuenta estos matices al implementar análisis.
- Haz una pequeña demostración. . Una buena idea sería crear una pequeña aplicación de prueba, rastrear una docena de eventos con su ayuda y luego verificar cómo se visualizan estos eventos en la plataforma de su elección y qué instrumentos de minería de datos están disponibles. Utilice este conocimiento para maximizar la funcionalidad de la plataforma seleccionada al implementar análisis en la aplicación en vivo.
Piense en grande al codificar
Diseñe el código de análisis para que sea independiente del código del proyecto y del SDK de análisis. Por lo tanto, coloque el código analítico en una clase o subsistema separado y defina métodos de interfaz que se puedan llamar desde el código de la aplicación. Por ejemplo, cuando un usuario toca un botón de menú, el código de la aplicación llamará al código de clase de análisis. Para una aplicación de iOS escrita en Swift, se vería así:
/** Application code: menu tap handler */ @IBAction func menuButtonPressed(sender: UIButton) { //Showing menu, etc... AnalyticsManager.sharedInstance.userTapMenuButton() }
La clase de análisis general llamada por el código de la aplicación recopila una lista de parámetros y envía estos datos a la clase de análisis específica.
/** General analytics class: a bridge between the application code and the specific analytics class */ class AnalyticsManager { static let sharedInstance = AnalyticsManager() private var services: [AnalyticsService] private init() { services = [AmplitudeAnalyticsService()] } func userTapMenuButton() { let name = "MenuTap" let properties: [String: AnyObject] = [/* define your properties */] for service in services { service.trackEvent(withName: name, properties: properties) } } }
La clase de análisis específica envía datos al SDK de análisis. En nuestro caso, es el SDK de Amplitude.
/** Specific analytics class. */ class AmplitudeAnalyticsService: AnalyticsService { func trackEvent(withName name: String, properties: [String : AnyObject]?) { if let propertiesToTrack = properties { Amplitude.instance().logEvent(name, withEventProperties: propertiesToTrack) } else { Amplitude.instance().logEvent(name) } } }
Con una estructura de este tipo, cada vez que decida migrar a otra plataforma de análisis o ajustar el conjunto de parámetros para realizar un seguimiento, solo necesitará cambiar el código de clase de análisis, pero no el código de la aplicación.
Analice todos sus datos
Recopile datos de todas las fuentes en la plataforma de análisis de su elección. Envíe datos no solo desde la aplicación móvil, sino también desde el back-end, utilizando una API externa. Si ejecuta una campaña publicitaria, use un sistema de seguimiento de instalación como AppsFlyer o Adjust para medir su eficiencia y comprender de dónde provienen sus usuarios. Seleccione de antemano el sistema de seguimiento de la instalación que utilizará para asegurarse de que funcione bien con su plataforma de análisis.
Controle la cantidad de SDK
Intente utilizar los SDK de las plataformas de análisis que ya están en la aplicación. Si realiza un seguimiento de los bloqueos con Crashlytics, puede usar el análisis de Answers sin ningún código adicional, ya que tanto Crashlytics como Answers están incluidos en Fabric SDK. Si su aplicación permite el registro en Facebook, entonces ya tiene el SDK que implementa el análisis móvil de Facebook, por lo que también podría usarlo.
Intente combinar diferentes sistemas de análisis, pero no abrume el binario de su aplicación con demasiados SDK.
documentarlo
Finalmente, en paralelo con la implementación de análisis para su aplicación, trabaje en su documentación: escriba qué eventos y parámetros rastrea y cómo lo hace. Para esto, generalmente usamos un archivo Readme.md
que se almacena en la carpeta principal del proyecto. Cada evento se describe con los siguientes datos:
- nombre del evento (por ejemplo, "Registro de usuario");
- cuando se realiza un seguimiento (por ejemplo, "Al registrarse con éxito un nuevo usuario");
- parámetros (por ejemplo, "Correo electrónico/Cadena");
- controlador donde se llama al código de seguimiento (por ejemplo, "SignInController").
Tales detalles son fáciles de olvidar, pero se vuelven críticos cuando desea cambiar el conjunto de datos para rastrear o cuando desea migrar a otra plataforma de análisis.
Resumiendo
Ningún servicio de análisis es perfecto; Cada uno tiene sus ventajas y desventajas. Al elegir uno, debe sopesar factores como el tipo de aplicación, la interfaz del panel de análisis, su presupuesto, etc. Incluso es posible que desee utilizar soluciones de nicho, como análisis de juegos que se han creado para analizar experiencias de usuario no lineales (por ejemplo, GameAnalytics) o análisis orientados a desarrolladores (por ejemplo, Keen IO).
Encontramos una combinación de Respuestas y Amplitud que funciona perfectamente con What I Eat y proporciona todos los análisis necesarios para la aplicación. Si bien Answers es gratuito y muestra datos demográficos y KPI de aplicaciones, Amplitude permite un análisis de cohortes de comportamiento más complejo. También hacemos un seguimiento de los bloqueos de aplicaciones con Fabric SDK de Answers.
Nos encantaría conocer la caja de herramientas de análisis que utiliza en su aplicación móvil. Por favor comparte tus ideas en los comentarios.