Sobes.tech
Middle — Senior
39

Как учитывать временной промежуток между покупками для релевантности товаров?

Сұралған компаниялар
1221 Systems
AvitoAvito

AI-дан жауап

sobes.tech AI

Для учета временного промежутка между покупками при оценке релевантности товаров часто используют временные веса или decay-функции, которые уменьшают влияние более старых покупок. Например, можно применить экспоненциальное затухание, где вес покупки уменьшается с увеличением времени с момента её совершения.

Также можно использовать временные окна — учитывать только покупки за последние N дней, чтобы рекомендации отражали актуальные интересы пользователя.

В моделях машинного обучения временной фактор можно включать как дополнительную фичу (например, время с последней покупки), либо использовать рекуррентные нейронные сети или attention-механизмы, которые учитывают последовательность и временную динамику покупок.

Пример экспоненциального взвешивания:

import numpy as np

def time_decay_weight(days_ago, decay_rate=0.1):
    return np.exp(-decay_rate * days_ago)

# Пример: покупка 5 дней назад
weight = time_decay_weight(5)
print(weight)  # меньше 1, уменьшается с ростом days_ago

Таким образом, более свежие покупки получают больший вес при формировании рекомендаций.