¿Cuál es la mejor manera de hacer pruebas divididas en un sitio basado en Django?

Siempre hay más de una forma de pelar un gato.

La opción que elija se reduce realmente a lo que necesita a corto, mediano y largo plazo desde su solución.

He echado un vistazo a esto mientras trabajaba en un producto para ayudar a los sobrevivientes de agresión sexual, actualmente construyendo una lista de correo electrónico y comentarios en Coming Soon | .

Hay algunas opciones,

  • Django-AB https://github.com/johnboxall/dj…
  • Django-Lean http://pypi.python.org/pypi/djan…
  • Splango https://github.com/shimon/Splango
  • y como se mencionó, Optimizely (http://www.optimizely.com/),
  • Django-AB, por ejemplo, es gratuito si puede hacerlo funcionar mientras Optimizely cuesta dinero después del primer mes de uso (alrededor de 2–3k p / mes para un cliente empresarial).
  • Google Experiments también le ayuda a ejecutar pruebas AB: cómo ejecutar una prueba A / B en Google Analytics.

Actualizaré con más información cuando avance en el proceso.

(Divulgación completa: trabajo en Optimizely)

Probablemente desee realizar pruebas divididas porque desea mejorar algunas métricas comerciales, como clientes potenciales, ingresos o tasas de conversión. Como parte de su decisión, debe considerar el tiempo que lleva aprender una nueva herramienta, luego implementarla y luego obtener resultados.

La mayor propuesta de valor de Optimizely es que es increíblemente fácil ejecutar pruebas A / B con solo una línea de código colocada en su sitio web. Después de eso, utiliza nuestro editor WYSIWYG en línea para crear y ejecutar experimentos. (También puede escribir JavaScript personalizado en nuestro editor, si desea probar algo que no se puede hacer fácilmente en el editor).

La preocupación que las personas tienen con las pruebas A / B basadas en JavaScript (como Optimizely) frente a las herramientas basadas en el servidor es lo que llamamos “FOOC” (flash de contenido original). La preocupación es que la página original se cargará en un navegador antes de sobrescribirse con la variación, y que las personas verán un destello de contenido original (quizás un botón azul que se vuelve verde). Sin embargo, esto no sucede en la práctica porque:

1. Su fragmento de código Optimizely se sirve desde un CDN, en ~ 100 ms

2. Implementa el fragmento de código en su etiqueta , que se carga antes de los elementos de su página

3. El fragmento de código Optimizely se ejecuta a medida que se cargan los elementos de su página, reemplazando el contenido a medida que el navegador lo agrega a la página. Como esto sucede tan rápido, no hay FOOC perceptible.

No he probado los otros servicios que enumeró, pero todos parecen más involucrados. Tienes que preguntarte: ¿cuál es el valor de mi tiempo? Soy un ingeniero de software que usa Python / Django todos los días y ya puedo decir que implementar esos marcos y usarlos regularmente me costaría horas en comparación con la implementación de Optimizely.

Pero no confíes en mi palabra. ¿Por qué no probar Optimizely con una prueba gratuita de 30 días ( https://optimizely.appspot.com/p …)? Literalmente puede estar ejecutándose en minutos. Entonces podrá tomar una decisión bien informada para utilizar Optimizely o utilizar otra cosa.

More Interesting

¿Puedo llamar a las funciones de jQuery dentro de los métodos de solicitud de Sinatra?

¿Qué campos de entrenamiento se centran en el desarrollo de aplicaciones web JavaScript de pila completa?

¿Por qué parece que más personas eligen Python o Ruby sobre Perl?

Cómo editar el estilo de un widget de pie de página en WordPress con HTML

¿Por qué usar un servidor cuando los servicios de alojamiento proporcionan espacio en disco ilimitado?

¿Cuáles son los productos de software más demandados que se pueden construir utilizando tecnologías web?

¿Cuál es la mejor manera para que una persona no técnica cree un sitio web personal?

Entre aprender Ruby on Rails, YII2 (PHP Framework) o Django desde cero, ¿cuál debo elegir? ¿Por qué?

¿Cuál es la mejor manera de construir un índice en tiempo real que cambie con el tiempo?

¿Cómo hago regex para hacer esto (string = # one # two; todo después de # poner en la etiqueta li para la lista y antes del nuevo # o final de la cadena cerrar la etiqueta li y así sucesivamente) por JavaScript?

¿Cuál es el mejor editor para escribir código React y React-Native?

¿Por qué debería uno aprender diseño web para crear sitios web desde cero cuando hay muchas plataformas de desarrollo web disponibles como Wix?

¿Por qué los buenos programadores dicen que el framework ASP.NET es tonto?

¿El software como servicio (SaaS) llegó para quedarse?

¿Qué lenguaje de programación debemos usar para construir nuestro sitio?