[pyar] algoritmo para ads en django

Angel Java Lopez ajlopez2000 en gmail.com
Lun Jul 28 14:56:59 ART 2014


Si los tenes en memoria, es costoso solamente cuando levantas el servidor


2014-07-28 14:54 GMT-03:00 Gonzalo Almeida <flecox en gmail.com>:

> 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
> _______________________________________________
> 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
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140728/4899a036/attachment-0001.html>


More information about the pyar mailing list