perf: small improvements to suggesting algotithm

This commit is contained in:
ITQ
2025-02-22 08:43:53 +03:00
parent e680e3103c
commit 0396a3b6cc
@@ -350,6 +350,7 @@ class Campaign(BaseModel):
for campaign in campaigns: for campaign in campaigns:
has_impression = campaign.id in client_impressions has_impression = campaign.id in client_impressions
has_click = campaign.id in client_clicks has_click = campaign.id in client_clicks
campaign_impressions_count = campaign.impressions_count
if not has_impression: if not has_impression:
allow_exceed_impressions = random.choice( allow_exceed_impressions = random.choice(
@@ -361,7 +362,7 @@ class Campaign(BaseModel):
* 0.1 * 0.1
* allow_exceed_impressions * allow_exceed_impressions
) )
if campaign.impressions_count >= impressions_limit: if campaign_impressions_count >= impressions_limit:
continue continue
ml_score = cache.get( ml_score = cache.get(
@@ -377,7 +378,7 @@ class Campaign(BaseModel):
profit_values.append(profit) profit_values.append(profit)
remaining_imp = ( remaining_imp = (
campaign.impressions_limit - campaign.impressions_count campaign.impressions_limit - campaign_impressions_count
) )
capacity_ratio = ( capacity_ratio = (
remaining_imp / campaign.impressions_limit remaining_imp / campaign.impressions_limit