GH GambleHub

Sistemas de recomendação

Sistemas de recomendação

O sistema de recomendação não é apenas um modelo CTR. Esta é uma linha de montagem de dados candidatos classificação política ação de feedback que otimiza o valor incorporativo sob limitações reais (velocidade, capas de frequência, variedade, ética/complacência).

1) Dados, sinais e apresentações

Eventos: visualização/clique/adição/compra/depósito, dwell-time, cancelamento.
Conteúdo/catálogo: atributos (categorias/gêneros/estúdios/preço/frescura/volatilidade).
Perfis de usuário: RFM, preferências, dispositivos/canais, slots de tempo.
Contexto: hora/dia/feriado/jogos, local/TZ, local de exibição.
Qualidade: receitas point-in-time, idempotidade de eventos, deadup/antibot, camuflagem PII.
Embeddings: user/item/context em espaço compartilhado (MF/Word2Vec2Rec/transformers), multimodais (texto/imagem).

2) Arquitetura: Recall → Rank → Re-rank → Action

1. Candidate recall (200-5.000 candidatos): ANNE (FAISS/ScaNN), popularidade/tendências, filtros rule-based.
2. Ranking (20-200): LTR (GBM/NN), arquitetura tower, tarefas binárias/multiuso (click, conversion, value).
3. Policy-aware re-rank (5-30 na lista final): diversificação/novidade/serendiposidade, quotas de marcas/categorias, RG/complance, capas de frequência, fairness.
4. Action: exibição/pool/e-mail/vitrine pessoal com cooldowns e «relógios silenciosos».
5. Feedback: logs 'impression→click→action→value', feedback negativo (skip, queixa).

3) Paradigmas de modelo

Conteúdo-based: intimidade por itema e perfil; ideal para uma partida fria de items.
Filtragem de colisão: user-user/item-item pela matriz de interações.
Factorizações/embeddings: MF/BPR/NeuMF, MLP duplo (user tower x item tower).
Learning-to-Rank: pairwise/listwise (LambdaMART, RankNet), otimização NDCG @ k.
Sessão/sequência: GRU4Rec, SASRec, Transformers (T5-style) - ordem/contexto na sessão.
Bandidos contextuais: LinUCB/Thompson para adaptações on-line rápidas e criativos.
RL: SlateQ/DQN/Policy Gradiente para Prémio Multifacetado (Retenção/LTV).
Abordagens causais/uplift: recomendações que levam em conta o crescimento em vez de «CTR crua».

4) Metas, limitações e formulação da tarefa

Metas: CTR/CTCVR, rendimento/margem/LTV, retenção, satisfação, velocidade.
Limitações: diversificação, quotas de provedores/categorias, capas de frequência, RG/complance, fairness/ética, SLA p95.

Policy-aware re-rank (exemplo de escalada):
[
\textstyle Score = \alpha \cdot \hat p_{\text{click}} + \beta \cdot \text{Value}

\gamma \cdot \text{Fatigue} + \delta \cdot \text{Novelty} - \sum_j \lambda_j \cdot \text{Penalty}_j
]

onde Penalty - violações de quotas/RG/frequência/monotonia.

5) Métricas e avaliação

Offline

Relevância/classificação: AUC/PR-AUC, Recall @ k, MAP, NDCG @ k.
Negócios: eRPM/eCPM, proxy-LTV, margem prevista.
Calibragem: Brier, ECE (importante para liminares/políticas).
Списки: coverage/diversity/novelty/serendipity.

Online

A/B/testes multirraciais: CTR, CTCVR, rendimento/sessão, retenção, queixas/dispensas (guardas), latency/timeout.
Avaliação causal: CUPED, quasiexportação (DiD/controle sintético) para randomização limitada.
Plift-métricas: Qini/AUUC, uplift @ k - para recomendações treatment-aware.

6) Início frio e descarga

Novos usuários: popular @ segment, pesquisa de conteúdo, conteúdo-based no primeiro clique, bandido com inteligência ampla.
Novos itemas: metadados/embeddings de texto/imagens + look-alike por estúdio/categoria.
Pequenos domínios: transfer learning, multi-task (shared tower), cross-domain distillation.

7) Diversificação, novidade, serendipotência

Algoritmos: MMR, xQuAD, PM-2; Multas de uniformidade.
Quotas: min/max por categorias/marcas/classes de risco.
Estabilidade das listas: inércia das posições, histerese das atualizações; Não «piscem» com a emissão.

8) Infraestrutura e MLOps

Função Store: Receitas PIT, TTL para fies de sessão, paridade online/offline.
Serviços ANN: FAISS/ScaNN, charding/kesh, replicação.
Ranker: real-time fici, calibragem, assinaturas de versões.
Policy/Re-rank camada: limitações/quotas/RG/frequência/diversidade.
SLA: end-to-end p95 ≤ 100–300 мс; fallback (popular-safe) na degradação.
Observabilidade: traçados 'correlation _ id', fich-drift (PSI), métricas de qualidade online, «pare-torneira».

9) Segurança, privacidade, ética

Minimizar PII, RLS/CLS, disfarçar.
Filtros RG/Complance antes da exibição, caps de frequência, «relógios silenciosos».
Diagnóstico Fairness por segmentos; Explicabilidade das razões da exibição; O caminho do recurso.

10) Código pseudo: híbrido Recall → Rank → Re-rank

python
Recall cand_emb = ann.recall(user_embed, topk=500)
cand_rule = popular.by_segment(user.segment, k=200)
cands = dedup(cand_emb + cand_rule)

Rank features = featurize(user, cands, context)   # user/item/context scores = ranker.predict(features)        # p(click), value

Policy-aware re-rank final = rerank(
cands, scores,
constraints=dict(
diversity_min={'category': 3},
brand_quota={'A':0.3,'B':0.3},
rg_filter=True,
freq_caps=get_user_caps(user)
),
objective_weights=dict(ctr=0.6, value=0.3, novelty=0.1)
)
return final[:N]

Thompson Sampling para criativos (sketch)

python beta priors per creative: (α, β)
samples = {cr: np.random.beta(alpha[cr], beta[cr]) for cr in creatives}
chosen = max(samples, key=samples.get)
show(chosen)
update(alpha, beta, reward=click)

11) Pseudo-SQL: feedback negativo e capas de frequência

sql
-- Последний показ и флаги «скрыть/жалоба» → баним на 7 дней
WITH last_impr AS (
SELECT user_id, item_id,
MAX(ts) AS last_ts,
BOOL_OR(feedback_hide) AS hidden,
BOOL_OR(feedback_report) AS reported
FROM impressions
GROUP BY 1,2
)
SELECT i.
FROM inventory i
LEFT JOIN last_impr l ON l.user_id=:uid AND l.item_id=i.item_id
WHERE COALESCE(l.hidden,false)=false
AND COALESCE(l.reported,false)=false
AND (l.last_ts IS NULL OR l.last_ts < NOW() - INTERVAL '7 day');

12) Definição de tabela (esboço de estratégia)

CondiçãoContextoAçãoRestriçõesComentário
`new_user & low_history`onboardingpopular@segment + content-seedcaps de frequência, RGinício frio
`session_len>3 & diversity_low`sessãoMMR/xQuAD re-rankmin 3 categoriasserendiposidade
`uplift_push≥τ`offspool pessoalDo-Not-Disturb, zhaloby≤KhIncremento, não CTR
`risk_RG≥τ`qualquer umbloco de conteúdo de riscoRG/Complacênciasegurança

13) Anti-pattern

Otimizar «CTR crua» em vez de valor e incorporação.
Falta de camada de ré-rank → excesso de uniformidade, «túnel de visão».
Leques do futuro; Mistura de TZ; Definições de sinais não versadas.
Não há calibragem de probabilidades → liminares/políticas erradas.
Ignorar RG/ética/fairness → queixas/riscos/multas.
Online/offline Rashhron Fic e métrica - «engarrafamento» em venda.
Falta de fallback e de tornozeleira.

14) Folha de cheque de lançamento do recomendador

  • Passaporte do sistema: alvos, limitações, métricas, proprietários, versões
  • Recall/Rank/Re-rank divorciados; ANN aquecido, cajus configurados
  • Fici PIT, calibrado, benchmark offline (NDCG/PR-AUC) ultrapassados
  • Design A/B e guard; relatório de resolução-ready (efeito/risco)
  • Restrições: diversity/quotas/RG/caps de frequência - implementados e monitores
  • SLA p95, traçados, alertas, «pare-torneira» e popular-safe fallback
  • Documentação, runibuki, plano de melhorias incorporativas

Resultado

Um forte sistema de recomendação é uma linha de montagem policy-aware: Recall híbrido/Rank/Re-rank, que otimiza o valor incorporativo sob limites de velocidade, ética e diversidade. Adicionando bandido/RL para adaptação on-line, disciplina MLOps e avaliação causal correta, você não recebe «listas para listas», mas soluções administradas que aumentam ROMI, LTV e satisfação dos usuários - estável e seguro.

Contact

Entrar em contacto

Contacte-nos para qualquer questão ou necessidade de apoio.Estamos sempre prontos para ajudar!

Iniciar integração

O Email é obrigatório. Telegram ou WhatsApp — opcionais.

O seu nome opcional
Email opcional
Assunto opcional
Mensagem opcional
Telegram opcional
@
Se indicar Telegram — responderemos também por lá.
WhatsApp opcional
Formato: +indicativo e número (ex.: +351XXXXXXXXX).

Ao clicar, concorda com o tratamento dos seus dados.