Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

331
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!