[pyar] algoritmo para ads en django

Gonzalo Almeida flecox en gmail.com
Lun Jul 28 14:54:36 ART 2014


2014-07-28 14:28 GMT-03:00 Angel Java Lopez <ajlopez2000 en gmail.com>:
> Bueno, entonces, cuando entra el usuario X, y lo ultimo que vio es el aviso
> n, se le muestra el proximo (n+1, o n+2, o n+3, ect) QUE TENGA MENOS VISTAS,
> que haya sido menos visto hasta ese momento globalmente
>
> Creo que curiosamente, asi, los avisos por usuario tienden igual a no
> repetirse (a no ser que el usuario entre 1346 veces ;-)

si, hasta ahora todas las ideas que tiraron son muy buenas,
pero sufren el problema de tener que ordenar todos los productos/ads
en cada requestXad y esto es costoso no?

>
>
> 2014-07-28 14:15 GMT-03:00 Gonzalo Almeida <flecox en gmail.com>:
>
>> 2014-07-28 13:36 GMT-03:00 Angel Java Lopez <ajlopez2000 en gmail.com>:
>> > Ok, de Django no se apenas nada, y apenas Python
>> >
>> > Pero si son miles:
>> >
>> > - Mantendria una lista de los anuncios, o sus ids, en memoria
>> > - Luego, podria shuffearla o no
>> > - Digamos que son 1345 avisos
>> > - Por cada usuario, marcaria si es ya le di aviso o no
>> > - Si al usuario X, es la primera vez que viene y le doy un aviso, le
>> > asigno
>> > un numero aleatorio entre 0 y 1344, digamos n
>> > - Le muestro el aviso n
>> > - Incremento n y lo guardo por usuario. El nuevo valor es modulo 1345
>> > - Si viene un nuevo aviso, lo pongo al final de la lista en memoria.
>> > Todos
>> > los modulos ahora se toman modulo 1346
>> > - Y asi
>> >
>> > Digo que la lista inicial podria shuffearla o no, porque la distribucion
>> > pareja la daria el elegir un numero aleatorio para el primer aviso por
>> > usuario
>> >
>> > El problema de shuffearla, es que hay que mantener ese shuffleo por toda
>> > la
>> > vida, para que los usuarios no empiezen a ver algo repetido
>> >
>> > Igual, si un usuario entra 1346 veces, se le va a repetir el primer
>> > aviso
>>
>> muy la idea esta buena.
>> pero el problema es que todavía  puede pasar que a nivel global un
>> product/anuncio se puede ver varias veces y otros nunca.
>> si solucionamos esoo  aumentamos las probabilidades de que eso no
>> pase.. creo que podria andar :)
>> y al reiniciar el server por x razón perdemos la lista (si esta
>> shufleada) pero bueno, si no esta shufleada se puede reconstruir.
>>
>> gracias
>>
>>
>> >
>> > Nos leemos!
>> >
>> > Angel "Java" Lopez
>> >
>> >
>> > 2014-07-28 13:21 GMT-03:00 Gonzalo Almeida <flecox en gmail.com>:
>> >
>> >> boinas
>> >>
>> >> 2014-07-28 13:19 GMT-03:00 Daniel Moisset <dmoisset en machinalis.com>:
>> >> > cuantos avisos distintos estamos hablando? 10, 100, 1000, un millon?
>> >>
>> >> podriamos hablar en miles.. no creo que un millon
>> >>
>> >> :D
>> >> >
>> >> > D.
>> >> >
>> >> >
>> >> > 2014-07-28 12:43 GMT-03:00 Gonzalo Almeida <flecox en gmail.com>:
>> >> >>
>> >> >> Buenas,
>> >> >>
>> >> >>
>> >> >> creo que Martín pregunto algo en el chat.. pero aqui mando los
>> >> >> requerimientos completos.. a ver si a alguno se le ocurre algo:
>> >> >>
>> >> >> tenemos que implementar un sistema de "ads" que muestran productos
>> >> >> del
>> >> >> sitio.
>> >> >>
>> >> >> el tema es el siguiente:
>> >> >>
>> >> >> 1) podemos tener varios ads en la misma pagina y no tienen que
>> >> >> repetir
>> >> >> productos
>> >> >> 2) si tenemos 1000 productos tenemos que tratar de mostrarlos
>> >> >> uniformemente y no mostrar siempre los mismos 100, tratar de mostrar
>> >> >> todos.
>> >> >> 3) tenemos que tratar de no repetir por usuario.
>> >> >>
>> >> >> asi que hay que tratar de no repetir a nivel de usuario y a nivel
>> >> >> global.
>> >> >>
>> >> >> una idea era armar una lista de los 1000 ids de productos y crear
>> >> >> una
>> >> >> shuffleada para cada usuario.
>> >> >> asi cumplimos que no se repiten para cada usuario. pero si nos puede
>> >> >> pasar
>> >> >> que:
>> >> >> 1) al agregar un nuevo producto tengamos que actualizar cada lista
>> >> >> appendeando el producto al ultimo de cada una.
>> >> >> 2) puede pasar que un producto sea visto varias veces a nivel global
>> >> >> (visto por varios usuarios) y otro no se vea nunca. asi que no se
>> >> >> cumple el requerimiento de que los productos se muestren uniformes a
>> >> >> nivel global.
>> >> >>
>> >> >> el principal problema es mantener la uniformidad a nivel global y a
>> >> >> nivel usuario y hacerlo rapido.
>> >> >>
>> >> >> pre-asignar una lista no estoy seguro que sea la solución yo creo
>> >> >> que
>> >> >> deberiamos:
>> >> >> al momento de acceder a la pagina. ver  a nivel global cuales
>> >> >> productos son los "menos vistos" y de esos, mostrar los que el
>> >> >> usuario
>> >> >> todavía no vio. teniendo en cuenta todos los casos y hacerlo muy
>> >> >> rapido.
>> >> >>
>> >> >> pero no se como :P
>> >> >>
>> >> >> alguna idea?
>> >> >>
>> >> >> muchisimas gracias por su tiempo :)
>> >> >>
>> >> >> --
>> >> >> Linux user #466939
>> >> >>
>> >> >> _______________________________________________
>> >> >> pyar mailing list pyar en python.org.ar
>> >> >> http://listas.python.org.ar/listinfo/pyar
>> >> >>
>> >> >> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>> >> >>
>> >> >> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre
>> >> >> de
>> >> >> Argentina - http://www.usla.org.ar
>> >> >
>> >> >
>> >> >
>> >> > _______________________________________________
>> >> > pyar mailing list pyar en python.org.ar
>> >> > http://listas.python.org.ar/listinfo/pyar
>> >> >
>> >> > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>> >> >
>> >> > La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre
>> >> > de
>> >> > Argentina - http://www.usla.org.ar
>> >>
>> >>
>> >>
>> >> --
>> >> Linux user #466939
>> >> _______________________________________________
>> >> pyar mailing list pyar en python.org.ar
>> >> http://listas.python.org.ar/listinfo/pyar
>> >>
>> >> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>> >>
>> >> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> >> Argentina - http://www.usla.org.ar
>> >
>> >
>> >
>> > _______________________________________________
>> > pyar mailing list pyar en python.org.ar
>> > http://listas.python.org.ar/listinfo/pyar
>> >
>> > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>> >
>> > La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> > Argentina - http://www.usla.org.ar
>>
>>
>>
>> --
>> Linux user #466939
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>
>
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar



-- 
Linux user #466939


More information about the pyar mailing list