Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

324
Vistas
Algoritmo simple de productos populares/de tendencia para un sitio de comercio electrónico con Javascript

Actualmente estoy construyendo un pequeño sitio de comercio electrónico y para la página de inicio, me gustaría clasificar los productos según su popularidad. El esquema del producto tiene los siguientes datos:

 { ... noViews: Number, // Number of times a user has clicked on the product avgRating: Number, // Average star rating (1 - 5) datePosted: Date // Date the product was posted }

¿Qué es un algoritmo/código (relativamente) simple que puedo usar para implementar esto (con Node.js), donde los productos se clasificarían según su popularidad (teniendo en cuenta el tiempo para que el contenido no esté obsoleto)?

Gracias.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

En primer lugar, necesita una métrica basada en el tiempo para resolver esto.

Los productos de tendencia general no tienen mucho sentido, especialmente para una aplicación de comercio electrónico.

Digamos que desea encontrar los productos de moda para un día en particular (por ejemplo, hoy).

Ahora bien, este no es un problema fácil de resolver. Y no hay una sola forma directa de resolverlo. ¡Para cada empresa, un método funciona!

Idealmente, lo que podría ser una solución simple aquí sería crear un valor de puntaje basado en una combinación de factores. Por ejemplo, número de compras, número de vistas, número de clics, etc.

Aquí tienes el parámetro datePosted . Ahora, crea un date_score para esto. Entonces, la idea básica aquí es que un producto que se publicó ayer tiene más puntaje que el que se publicó hace una semana. Los valores que coloca deben modificarse y verificarse para la personalización de su algoritmo.

Del mismo modo, implemente una puntuación similar para avgRating y noViews .

Una vez que tenga estos puntajes listos, cree pesos para estos puntajes. Ahora el promedio ponderado de estos de 100 es el puntaje final.

Entonces, una solución de ejemplo final:

  • Fecha de publicación:

    • Si la fecha está en los últimos 3 días (puntuación = 100)
    • Si la fecha es la última semana (puntuación = 75)
    • Si Fecha en la semana anterior (puntuación = 50)
    • De lo contrario, puntuación predeterminada = 25.
  • Clasificación de estrellas:

    • (Clasificación/5 ) *100
  • numeroDeVisitas:

    • Aquí, puede usar percentiles.
    • Digamos que el máximo de vistas entre todo el producto es x.
    • Entonces, el puntaje de vista es (vistas/x) * 100

Ahora, maneje el caso de la esquina de lo que sucede cuando dos puntajes coinciden.

Después de esto, simplemente puede ordenar por el parámetro de puntuación.

Además, asegúrese de que todo lo que haga sea dinámico, ya que los umbrales estáticos generalmente no brindan un gran resultado.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda