Sobre este documento
Ao ler este documento, você vai:
- Entenda quais estratégias criar antes de gerar relatórios de resumo.
- Conheça o Noise Lab, uma ferramenta que ajuda a entender os efeitos de vários parâmetros de ruído e permite a exploração e avaliação rápidas de várias estratégias de gerenciamento de ruído.

Envie feedback
Embora este documento resuma alguns princípios para trabalhar com relatórios de resumo, há várias abordagens de gerenciamento de ruído que não são refletidas aqui. Sugestões, adições e perguntas são bem-vindas.
- Para enviar feedback público sobre estratégias de gerenciamento de ruído, sobre a utilidade ou privacidade da API (epsilon) e para compartilhar suas observações ao simular com o Noise Lab: Comente sobre esse problema
- Para enviar feedback público no Noise Lab (fazer uma pergunta, informar um bug ou solicitar um recurso): Crie um novo problema aqui
- Para enviar feedback público sobre outro aspecto da API: Crie um novo problema aqui
Antes de começar
- Leia Relatórios de atribuição: relatórios de resumo e Visão geral do sistema completo dos Relatórios de atribuição para uma introdução.
- Leia Noções básicas sobre ruído e Noções básicas sobre chaves de agregação para aproveitar melhor este guia.
Decisões de design
Princípio de design principal
Há diferenças fundamentais entre a forma como os cookies de terceiros e os relatórios de resumo funcionam. Uma diferença importante é o ruído adicionado aos dados de medição nos relatórios de resumo. Outro é como os relatórios são programados.
Para acessar dados de medição do relatório de resumo com maiores proporções de sinal-para-ruído, as plataformas de demanda (DSPs) e os provedores de medição de anúncios vão precisar trabalhar com os anunciantes para desenvolver estratégias de gerenciamento de ruído. Para desenvolver essas estratégias, as DSPs e os provedores de medição precisam tomar decisões de design. Essas decisões giram em torno de um conceito essencial:
Embora os valores de ruído da distribuição sejam extraídos, em termos absolutos, dependem apenas de dois parâmetros⏤epsilon e o orçamento de contribuição⏤. Você tem vários outros controles à sua disposição que vão afetar as razões sinal-ruído dos dados de medição de saída.
Embora um processo iterativo leve às melhores decisões, cada variação dessas decisões leva a uma implementação um pouco diferente. Portanto, essas decisões precisam ser tomadas antes de escrever cada iteração de código (e antes de veicular anúncios).
Decisão: granularidade da dimensão
Teste no Noise Lab
- Acesse o modo avançado.
- No painel lateral "Parâmetros", procure "Seus dados de conversão".
- Observe os parâmetros padrão. Por padrão, a contagem TOTAL de conversões atribuíveis diárias é 1.000. Isso representa uma média de cerca de 40 por bucket se você usar a configuração padrão (dimensões padrão, número padrão de valores diferentes para cada dimensão, estratégia de chave A). O valor é 40 na entrada "Contagem média diária de conversões atribuíveis por bucket".
- Clique em "Simular" para executar uma simulação com os parâmetros padrão.
- No painel lateral "Parâmetros", procure "Dimensões". Renomeie Geography para City e mude o número de valores diferentes possíveis para 50.
- Observe como isso muda a contagem média de conversões atribuíveis por dia por conjunto. Agora está muito mais baixo. Isso acontece porque, se você aumentar o número de valores possíveis nessa dimensão sem mudar nada mais, vai aumentar o número total de grupos sem alterar a quantidade de eventos de conversão que vão cair em cada um deles.
- Clique em "Simular".
- Observe as proporções de ruído da simulação resultante: as proporções de ruído agora são maiores do que na simulação anterior.
Considerando o princípio de design principal, é provável que valores de resumo pequenos sejam mais ruidosos do que valores de resumo grandes. Portanto, sua escolha de configuração impacta quantos eventos de conversão atribuídos acabam em cada bucket (também referido como sua chave de agregação), e essa quantidade afeta o ruído nos relatórios finais de resumo de saída.
Uma decisão de design que afeta o número de eventos de conversão atribuídos em um único bucket é a granularidade da dimensão. Considere os seguintes exemplos de chaves de agregação e as dimensões delas:
- Abordagem 1: uma estrutura de chave com dimensões grosseiras: País x Campanha publicitária (ou o maior bucket de agregação de campanhas) x Tipo de produto (de 10 tipos de produtos possíveis)
- Abordagem 2: uma estrutura de chave com dimensões granulares: cidade x ID da peça publicitária x produto (de 100 produtos possíveis)
Cidade é uma dimensão mais granular do que País. ID da peça publicitária é mais granular do que Campanha. E Produto é mais granular do que Tipo de produto. Portanto, a abordagem 2 terá um número menor de eventos (conversões) por bucket (= por chave) na saída do relatório de resumo do que a abordagem 1. Como o ruído adicionado à saída não depende do número de eventos no bucket, os dados de medição nos relatórios de resumo vão ser mais ruidosos com a abordagem 2. Para cada anunciante, teste várias compensações de granularidade no design da chave para ter a utilidade máxima nos resultados.
Decisão: estruturas principais
Teste no Noise Lab
No modo simples, a estrutura de chave padrão é usada. No modo avançado, é possível testar diferentes estruturas de chaves. Alguns exemplos de dimensões estão incluídos e podem ser modificados.
- Acesse o modo avançado.
- No painel lateral "Parâmetros", procure a estratégia de palavras-chave. Observe que a estratégia padrão, chamada A na ferramenta, usa uma estrutura de chave granular que inclui todas as dimensões: região x ID da campanha x categoria do produto.
- Clique em "Simular".
- Observe as proporções de ruído da simulação resultante.
- Mude a estratégia de palavras-chave para B. Isso mostra controles adicionais para configurar a estrutura de chaves.
- Configure a estrutura de chaves, por exemplo:
- Número de estruturas principais: 2
- Estrutura de chave 1 = geografia x categoria de produto.
- Estrutura de chave 2 = ID da campanha x categoria do produto.
- Clique em "Simular".
- Agora você recebe dois relatórios de resumo por tipo de meta de medição (dois para a contagem de compras e dois para o valor da compra), já que está usando duas estruturas de chaves distintas. Observe as proporções de ruído.
- Você também pode fazer isso com suas próprias dimensões personalizadas. Para fazer isso, procure os dados que você quer acompanhar: dimensões. Remova as dimensões de exemplo e crie as suas usando os botões "Adicionar/Remover/Reiniciar" abaixo da última dimensão.
Outra decisão de design que vai afetar o número de eventos de conversão atribuídos em um único bucket é a das estruturas-chave que você decide usar. Confira estes exemplos de chaves de agregação:
- Uma estrutura de chave com todas as dimensões. Vamos chamar essa estratégia de chave A.
- Duas estruturas principais, cada uma com um subconjunto de dimensões. Vamos chamar essa estratégia de "Chave B".

A estratégia A é mais simples, mas talvez seja necessário agrupar (somar) os valores de resumo com ruídos incluídos nos relatórios de resumo para acessar determinados insights. Ao somar esses valores, você também está somando o ruído. Com a estratégia B, os valores de resumo expostos nos relatórios de resumo já podem fornecer as informações necessárias. Isso significa que a estratégia B provavelmente vai levar a melhores relações sinal-ruído do que a estratégia A. No entanto, o ruído já pode ser aceitável com a estratégia A. Portanto, você ainda pode decidir favorecer a estratégia A para simplificar. Saiba mais no exemplo detalhado que descreve essas duas estratégias.
O gerenciamento de chaves é um tópico complexo. Várias técnicas elaboradas podem ser consideradas para melhorar as relações sinal-ruído. Uma delas é descrita em Gerenciamento avançado de chaves.
Decisão: frequência de agrupamento
Teste no Noise Lab
- Acesse o modo simples (ou avançado, ambos funcionam da mesma forma em relação à frequência de lote).
- No painel lateral "Parâmetros", procure "Sua estratégia de agregação" > "Frequência de agrupamento". Isso se refere à frequência de lote de relatórios agregáveis que são processados com o serviço de agregação em um único job.
- Observe a frequência de agrupamento padrão: por padrão, uma frequência de agrupamento diária é simulada.
- Clique em "Simular".
- Observe as proporções de ruído da simulação resultante.
- Mude a frequência de agrupamento para semanal.
- Observe as proporções de ruído da simulação resultante: agora elas são menores (melhores) do que na simulação anterior.
Outra decisão de design que vai afetar o número de eventos de conversão atribuídos em um único bucket é a frequência de lote que você decide usar. A frequência de lote é a frequência com que você processa relatórios agregáveis.
Um relatório programado para agregação com mais frequência (por exemplo, a cada hora) vai ter menos eventos de conversão incluídos do que o mesmo relatório com uma programação de agregação menos frequente (por exemplo, a cada semana). Como resultado, o relatório por hora vai incluir mais ruído.``` tem menos eventos de conversão incluídos do que o mesmo relatório com uma programação de agregação menos frequente (por exemplo, a cada semana). Como resultado, o relatório por hora terá uma proporção de sinal-ruído menor do que o semanal, se todas as outras condições forem iguais. Teste os requisitos de relatórios em várias frequências e avalie as relações sinal-ruído de cada um.
Saiba mais em Processamento em lote e Agregação em períodos mais longos.
Decisão: variáveis da campanha que afetam as conversões atribuíveis
Teste no Noise Lab
Embora isso possa ser difícil de prever e possa ter variações significativas, além dos efeitos sazonais, tente estimar o número de conversões atribuíveis de um toque por dia para o expoente mais próximo de 10: 10, 100, 1.000 ou 10.000.
- Acesse o modo avançado.
- No painel lateral "Parâmetros", procure "Seus dados de conversão".
- Observe os parâmetros padrão. Por padrão, a contagem TOTAL de conversões atribuíveis diárias é 1.000. Isso representa uma média de cerca de 40 por bucket se você usar a configuração padrão (dimensões padrão, número padrão de valores diferentes para cada dimensão, estratégia de chave A). O valor é 40 na entrada "Contagem média diária de conversões atribuíveis por bucket".
- Clique em "Simular" para executar uma simulação com os parâmetros padrão.
- Observe as proporções de ruído da simulação resultante.
- Agora, defina a contagem TOTAL de conversões atribuíveis diárias como 100. Isso reduz o valor da contagem de conversões atribuíveis diária média POR BUCKET.
- Clique em "Simular".
- Observe que as proporções de ruído agora são maiores: isso ocorre porque, quando você tem menos conversões por bucket, mais ruído é aplicado para manter a privacidade.
Uma distinção importante é o número total de conversões possíveis para um anunciante em comparação com o número total de conversões atribuídas. O último é o que afeta o ruído nos relatórios de resumo. As conversões atribuídas são um subconjunto das conversões totais que estão sujeitas a variáveis da campanha, como orçamento de anúncios e segmentação de anúncios. Por exemplo, você espera um número maior de conversões atribuídas para uma campanha de anúncios de R $10 milhões em comparação com uma campanha de R $10 mil, considerando todos os outros fatores iguais.
Importante:
- Avalie as conversões atribuídas em relação a um modelo de atribuição de um único toque e do mesmo dispositivo, já que elas estão dentro do escopo dos relatórios de resumo coletados com a API Attribution Reporting.
- Considere uma contagem de cenário negativo e uma de cenário positivo para conversões atribuídas. Por exemplo, considerando todos os outros fatores iguais, considere os orçamentos mínimos e máximos possíveis de uma campanha para um anunciante e projete as conversões atribuíveis para os dois resultados como entradas na sua simulação.
- Se você estiver pensando em usar o Sandbox de privacidade do Android, considere as conversões atribuídas em várias plataformas no cálculo.
Decisão: usar o escalonamento
Teste no Noise Lab
- Acesse o modo avançado.
- No painel lateral "Parâmetros", procure por "Sua estratégia de agregação > Dimensionamento". Ela é definida como "Sim" por padrão.
- Para entender os efeitos positivos do escalonamento na relação de ruído, primeiro defina o escalonamento como "Não".
- Clique em "Simular".
- Observe as proporções de ruído da simulação resultante.
- Defina "Escala" como "Sim". O Noise Lab calcula automaticamente os fatores de escalonamento a serem usados com base nos intervalos (valores médios e máximos) das metas de medição do seu cenário. Em uma configuração real de teste de sistema ou origem, é necessário implementar seu próprio cálculo para fatores de escalonamento.
- Clique em "Simular".
- Observe que as proporções de ruído agora são menores (melhores) nesta segunda simulação. Isso ocorre porque você está usando o escalonamento.
Considerando o princípio de design principal, o ruído adicionado é uma função do orçamento de contribuição.
Portanto, para aumentar a relação entre sinal e ruído, você pode transformar os valores coletados durante um evento de conversão dimensionando-os em relação ao orçamento de contribuição e desfazendo a mudança de escala após a agregação. Use a escalação para aumentar as proporções sinal-ruído.
Decisão: número de metas de medição e divisão do orçamento de privacidade
Isso está relacionado à escalabilidade. Leia Como usar a escalabilidade.
Teste no Noise Lab
Uma meta de medição é um ponto de dados distinto coletado em eventos de conversão.
- Acesse o modo avançado.
- No painel lateral "Parâmetros", procure os dados que você quer acompanhar: Metas de medição. Por padrão, você tem duas metas de medição: valor da compra e contagem de compras.
- Clique em "Simular" para executar uma simulação com as metas padrão.
- Clique em "Remover". Isso vai remover a última meta de medição (contagem de compras nesse caso).
- Clique em "Simular".
- Observe que as proporções de ruído para o valor da compra agora são menores (melhores) para esta segunda simulação. Isso acontece porque você tem menos metas de medição, então uma delas recebe todo o orçamento de contribuição.
- Clique em "Redefinir". Agora você tem duas metas de medição: valor e contagem de compras. O Noise Lab calcula automaticamente os fatores de escalonamento a serem usados com base nos intervalos (valores médios e máximos) das metas de medição do seu cenário. Por padrão, o Noise Lab divide o orçamento igualmente entre as metas de medição.
- Clique em "Simular".
- Observe as proporções de ruído da simulação resultante. Anote os fatores de escalonamento exibidos na simulação.
- Agora, vamos personalizar a divisão do orçamento de privacidade para alcançar melhores proporções de sinal-ruído.
- Ajuste o percentual de orçamento atribuído a cada meta de medição. Considerando os parâmetros padrão, a meta de medição 1, ou seja, o valor da compra, tem um intervalo muito maior (entre 0 e 1.000) do que a meta de medição 2, ou seja, a contagem de compras (entre 1 e 1, ou seja, sempre igual a 1). Por isso, é necessário "mais espaço para escalar": seria ideal atribuir mais orçamento de contribuição à meta de medição 1 do que à meta de medição 2, para que ela possa ser ampliada com mais eficiência (consulte "Escalabilidade") e,
- Atribua 70% do orçamento à meta de medição 1. Atribua 30% à meta de medição 2.
- Clique em "Simular".
- Observe as proporções de ruído da simulação resultante. Para o valor da compra, as taxas de ruído agora são consideravelmente menores (melhores) do que na simulação anterior. A contagem de compras não mudou muito.
- Continue ajustando a divisão do orçamento entre as métricas. Observe como isso afeta o ruído.
É possível definir suas próprias metas de medição personalizadas com os botões "Adicionar/Remover/Reiniciar".
Se você medir um ponto de dados (meta de medição) em um evento de conversão, como a contagem de conversões, esse ponto de dados poderá receber todo o orçamento de contribuição (65536). Se você definir várias metas de medição em um evento de conversão, como contagem de conversões e valor da compra, esses pontos de dados vão precisar compartilhar o orçamento de contribuição. Isso significa que você tem menos margem para aumentar seus valores.
Portanto, quanto mais metas de medição você tiver, menor será a relação sinal-ruído.
Outra decisão a ser tomada em relação às metas de medição é a divisão do orçamento. Se você dividir o orçamento de contribuição igualmente entre dois pontos de dados, cada ponto de dados vai receber um orçamento de 65536/2 = 32768. Isso pode ou não ser ideal, dependendo do valor máximo possível para cada ponto de dados. Por exemplo, se você estiver medindo a contagem de compras com um valor máximo de 1 e o valor da compra com um mínimo de 1 e um máximo de 120, o valor da compra vai se beneficiar de ter "mais espaço" para ser aumentado, ou seja, receber uma proporção maior do orçamento de contribuição. Você vai saber se algumas metas de medição precisam ser priorizadas em relação a outras em relação ao impacto do ruído.
Decisão: gerenciamento de outliers
Teste no Noise Lab
Uma meta de medição é um ponto de dados distinto coletado em eventos de conversão.
- Acesse o modo avançado.
- No painel lateral "Parâmetros", procure por "Sua estratégia de agregação > Dimensionamento".
- Verifique se a opção "Dimensionamento" está definida como "Sim". O Noise Lab calcula automaticamente os fatores de escalonamento a serem usados com base nos intervalos (valores médios e máximos) que você forneceu para as metas de medição.
- Vamos supor que a maior compra já feita foi de US $2.000, mas que a maioria das compras acontece entre US $10 e US$ 120. Primeiro, vamos ver o que acontece se usarmos uma abordagem de escalonamento literal (não recomendada): insira US $2.000 como o valor máximo de purchaseValue.
- Clique em "Simular".
- Observe que as proporções de ruído são altas. Isso ocorre porque nosso fator de escalonamento é calculado com base em US $2.000, quando, na realidade, a maioria dos valores de compra será consideravelmente menor.
- Agora, vamos usar uma abordagem de escalonamento mais pragmática. Mude o valor máximo de compra para US $120.
- Clique em "Simular".
- Observe que as proporções de ruído são menores (melhores) nesta segunda simulação.
Para implementar o escalonamento, você normalmente calcula um fator de escalonamento com base no valor máximo possível para um determinado evento de conversão. Saiba mais neste exemplo.
No entanto, evite usar um valor máximo literal para calcular esse fator de escalonamento, porque isso pioraria a relação sinal-ruído. Em vez disso, remova os valores discrepantes e use um valor máximo pragmático.
O gerenciamento de outliers é um assunto profundo. Várias técnicas elaboradas podem ser consideradas para melhorar as relações sinal-ruído. Uma delas é descrita em Gerenciamento avançado de valores discrepantes.
Próximas etapas
Agora que você avaliou várias estratégias de gerenciamento de ruído para seu caso de uso, é hora de começar a experimentar relatórios de resumo coletando dados de medição reais com um teste de origem. Leia os guias e as dicas para testar a API.
Apêndice
Tour rápido pelo Noise Lab
O Noise Lab ajuda a avaliar e comparar rapidamente as estratégias de gerenciamento de ruído. Use-o para:
- Entenda os principais parâmetros que podem afetar o ruído e o efeito que eles têm.
- Simule o efeito do ruído nos dados de medição de saída com base em diferentes decisões de design. Ajuste os parâmetros de design até alcançar uma relação sinal-ruído que funcione para seu caso de uso.
- Compartilhe seu feedback sobre a utilidade dos relatórios de resumo: quais valores dos parâmetros de epsilon e ruído funcionam para você e quais não funcionam? Onde estão os pontos de inflexão?
Pense nisso como uma etapa de preparação. O Noise Lab gera dados de medição para simular saídas de relatórios de resumo com base na sua entrada. Ele não persiste nem compartilha dados.
Há dois modos diferentes no Noise Lab:
- Modo simples: entenda os fundamentos dos controles que você tem sobre o ruído.
- Modo avançado: teste diferentes estratégias de gerenciamento de ruído e avalie qual delas leva às melhores relações sinal-ruído para seus casos de uso.
Clique nos botões no menu superior para alternar entre os dois modos (1. na captura de tela abaixo).
Modo simples
- No modo Simples, você controla os parâmetros (encontrados no lado esquerdo ou #2. na captura de tela abaixo), como o Epsilon, e verifica como eles afetam o ruído.
- Cada parâmetro tem uma dica (um botão "?"). Clique nelas para conferir uma explicação de cada parâmetro (3. na captura de tela abaixo).
- Para começar, clique no botão "Simulate" e observe a saída. #4. na captura de tela abaixo
- Na seção "Saída", você pode conferir vários detalhes. Alguns elementos têm um "?" ao lado. Clique em cada "?" para conferir uma explicação das várias informações.
- Na seção "Saída", clique na opção "Detalhes" se quiser ver uma versão expandida da tabela (5. na captura de tela abaixo).
- Abaixo de cada tabela de dados na seção de saída, há uma opção para fazer o download da tabela para uso off-line. Além disso, no canto inferior direito, há uma opção para fazer o download de todas as tabelas de dados (6. na captura de tela abaixo).
- Teste diferentes configurações na seção "Parâmetros"
e clique em "Simular" para conferir como elas afetam a saída:
Interface do Noise Lab para o modo Simples.
Modo avançado
- No modo avançado, você tem mais controle sobre os parâmetros. É possível adicionar dimensões e metas de medição personalizadas (1. e 2. na captura de tela abaixo).
- Role para baixo na seção "Parâmetros" e confira a opção "Estratégia
principal". Isso pode ser usado para testar diferentes estruturas de chaves
(3. na captura de tela abaixo)
- Para testar diferentes estruturas de chaves, mude a estratégia de chaves para "B".
- Insira o número de estruturas de chaves diferentes que você quer usar (o padrão é "2")
- Clique em "Gerar estruturas de chaves".
- Clique nas caixas de seleção ao lado das chaves que você quer incluir em cada estrutura de chave para especificar suas estruturas de chave.
- Clique em "Simular" para conferir a saída.
Interface do Noise Lab para o modo avançado. Interface do Noise Lab para o modo avançado.
Métricas de ruído
Conceito principal
Ruídos são adicionados para proteger a privacidade do usuário individual.
Um valor de ruído alto indica que os buckets/chaves são esparsos e contêm contribuições de um número limitado de eventos sensíveis. Isso é feito automaticamente pelo Noise Lab para permitir que as pessoas "se escondam na multidão", ou seja, protege a privacidade desses indivíduos limitados com uma quantidade maior de ruído adicionado.
Um valor de ruído baixo indica que a configuração de dados foi projetada de forma que já permite que os indivíduos "se escondam na multidão". Isso significa que os buckets contêm contribuições de um número suficiente de eventos para garantir que a privacidade do usuário individual seja protegida.
Essa declaração é válida para o erro percentual médio (APE) e o RMSRE_T (erro relativo raiz-quadrado médio com um limite).
APE (erro percentual médio)
O APE é a relação entre o ruído e o sinal, ou seja, o valor real do resumo.p> Valores de APE mais baixos significam melhores relações sinal-ruído.
Fórmula
Para um determinado relatório de resumo, o APE é calculado da seguinte forma:

True é o valor real do resumo. O APE é a média do ruído em cada valor de resumo verdadeiro, com a média de todas as entradas em um relatório de resumo. No Noise Lab, esse valor é multiplicado por 100 para gerar uma porcentagem.
Prós e contras
Os buckets com tamanhos menores têm um impacto desproporcional no valor final da APE. Isso pode ser enganoso ao avaliar o ruído. Por isso, adicionamos outra métrica, RMSRE_T, que foi projetada para mitigar essa limitação da APE. Confira os exemplos para mais detalhes.
Código
Consulte o código-fonte para o cálculo do APE.
RMSRE_T (erro relativo raiz-média-quadrado com um limite)
O RMSRE_T (erro relativo raiz-quadrado-médio com um limite) é outra medida de ruído.
Como interpretar RMSRE_T
Valores RMSRE_T mais baixos significam melhores relações sinal-ruído.
Por exemplo, se uma proporção de ruído aceitável para seu caso de uso for de 20% e o RMSRE_T for 0,2, você pode ter certeza de que os níveis de ruído estão dentro do intervalo aceitável.
Fórmula
Para um determinado relatório de resumo, o RMSRE_T é calculado da seguinte maneira:

Prós e contras
O RMSRE_T é um pouco mais complexo do que o APE. No entanto, ela tem algumas vantagens que, em alguns casos, a tornam mais adequada que a APE para analisar ruídos em relatórios de resumo:
- O RMSRE_T é mais estável. "T" é um limite. "T" é usado para dar menos peso no cálculo do RMSRE_T a buckets com menos conversões e, portanto, mais sensíveis ao ruído devido ao tamanho pequeno. Com T, a métrica não tem picos em intervalos com poucas conversões. Se T for igual a 5, um valor de ruído tão pequeno quanto 1 em um bucket com 0 conversões não será mostrado como muito acima de 1. Em vez disso, ele será limitado a 0,2, o que equivale a 1/5, já que T é igual a 5. Ao dar menos peso aos buckets menores, que são mais sensíveis ao ruído, essa métrica fica mais estável e facilita a comparação de duas simulações.
- O RMSRE_T permite uma agregação fácil. Conhecer o RMSRE_T de vários buckets, junto com os respectivos valores reais, permite calcular o RMSRE_T da soma deles. Isso também permite otimizar o RMSRE_T para esses valores combinados.
Embora a agregação seja possível para APE, a fórmula é bastante complicada, já que envolve o valor absoluto da soma dos ruídos de Laplace. Isso dificulta a otimização do APE.
Código
Revise o código-fonte para o cálculo do RMSRE_T.
Exemplos
Relatório de resumo com três buckets:
- bucket_1 = ruído: 10, trueSummaryValue: 100
- bucket_2 = ruído: 20, trueSummaryValue: 100
- bucket_3 = noise: 20, trueSummaryValue: 200
APE = (0,1 + 0,2 + 0,1) / 3 = 13%
RMSRE_T = sqrt( ( (10/max(5,100))^2 + (20/max(5,100))^2 + (20/max(5,200))^2) / 3) = sqrt( (0.01 + 0.04 + 0.01) / 3) = 0.14
Relatório de resumo com três buckets:
- bucket_1 = ruído: 10, trueSummaryValue: 100
- bucket_2 = ruído: 20, trueSummaryValue: 100
- bucket_3 = noise: 20, trueSummaryValue: 20
APE = (0,1 + 0,2 + 1) / 3 = 43%
RMSRE_T = sqrt( ( (10/max(5,100))^2 + (20/max(5,100))^2 + (20/max(5,20))^2) / 3) = sqrt( (0.01 + 0.04 + 1.0) / 3) = 0.59
Relatório de resumo com três buckets:
- bucket_1 = ruído: 10, trueSummaryValue: 100
- bucket_2 = ruído: 20, trueSummaryValue: 100
- bucket_3 = noise: 20, trueSummaryValue: 0
APE = (0,1 + 0,2 + Infinity) / 3 = Infinity
RMSRE_T = sqrt( ( (10/max(5,100))^2 + (20/max(5,100))^2 + (20/max(5,0))^2) / 3) = sqrt( (0.01 + 0.04 + 16.0) / 3) = 2.31
Gerenciamento avançado de chaves
Uma DSP ou empresa de medição de anúncios pode ter milhares de clientes de publicidade globais, abrangendo vários setores, moedas e potenciais preços de compra. Isso significa que criar e gerenciar uma chave de agregação por anunciante provavelmente será muito impraticável. Além disso, será difícil selecionar um valor máximo e um orçamento de agregação que possam limitar o impacto do ruído entre esses milhares de anunciantes globais. Em vez disso, considere os seguintes cenários:
Estratégia A
O provedor de adtech decide criar e gerenciar uma chave em todos os clientes de publicidade. Em todos os anunciantes e moedas, o intervalo de compras varia de compras de alto valor com baixo volume a compras de baixo valor com alto volume. Isso resulta na seguinte chave:
Chave (várias moedas) | |
---|---|
Valor máximo agregável | 5.000.000 |
Intervalo de valor de compra | [120 - 5000000] |
Estratégia B
O provedor de adtech decide criar e gerenciar duas chaves para todos os clientes de publicidade. Ele decide separar as chaves por moeda. Em todos os anunciantes e em todas as moedas, o intervalo de compras varia de compras de baixo volume e alto nível a compras de alto volume e baixo nível. Separando por moeda, eles criam duas chaves:
Chave 1 (USD) | Tecla 2 (¥) | |
---|---|---|
Valor máximo agregável | USD 40.000 | ¥5.000.000 |
Intervalo de valor de compra | [120 - 40.000] | [15.000 - 5.000.000] |
A estratégia de chaves B vai ter menos ruído no resultado do que a estratégia de chaves A, porque os valores das moedas não são distribuídos de maneira uniforme. Por exemplo, considere como as compras denominadas em ¥ misturadas com compras denominadas em USD vão alterar os dados subjacentes e a saída ruidosa resultante.
Estratégia C das chaves
O provedor de adtech decide criar e gerenciar quatro chaves em todos os clientes de publicidade e separá-las por moeda x setor do anunciante:
Chave 1 (USD x anunciantes de joias de alto padrão) |
Chave 2 (¥ x Anunciantes de joias de alto padrão) |
Chave 3 (USD x anunciantes de varejistas de roupas) |
Chave 4 (¥ x anunciantes de varejistas de roupas) |
|
---|---|---|---|---|
Valor máximo agregável | USD 40.000 | ¥5.000.000 | US$ 500 | ¥65.000 |
Intervalo de valor de compra | [10.000 - 40.000] | [1.250.000 - 5.000.000] | [120 - 500] | [15.000 - 65.000] |
A estratégia C terá menos ruído no resultado do que a estratégia B, porque os valores de compra dos anunciantes não são distribuídos uniformemente entre eles. Por exemplo, considere como as compras de joias de alto padrão misturadas com compras de bonés de beisebol vão alterar os dados subjacentes e resultar em uma saída com ruído.
Crie valores agregados máximos e fatores de escalonamento compartilhados para elementos comuns entre vários anunciantes para reduzir o ruído na saída. Por exemplo, você pode testar as estratégias abaixo para seus anunciantes:
- Uma estratégia separada por moeda (USD, ¥, CAD etc.)
- Uma estratégia separada por setor do anunciante (seguros, automóveis, varejo etc.)
- Uma estratégia separada por intervalos de valor de compra semelhantes ([100], [1000], [10000], etc.)
Ao criar estratégias de chaves com base nas características comuns dos anunciantes, as chaves e o código correspondente ficam mais fáceis de gerenciar, e as relações sinal-ruído ficam maiores. Teste diferentes estratégias com diferentes características comuns dos anunciantes para descobrir pontos de inflexão ao maximizar o impacto do ruído em comparação com o gerenciamento do código.
Gerenciamento avançado de valores atípicos
Vamos considerar um cenário com dois anunciantes:
- Anunciante A:
- Em todos os produtos no site do Anunciante A, as possibilidades de preço de compra estão entre [$120 - $1.000] , para uma faixa de US $880.
- Os preços de compra são distribuídos uniformemente no intervalo de US $880, sem outliers fora de duas desvios padrão do preço de compra médio.
- Anunciante B:
- Em todos os produtos no site do Anunciante B, as possibilidades de preço de compra estão entre [$120 - $1.000] , com uma faixa de $880.
- Os preços de compra são fortemente distorcidos para o intervalo de US $120 a US$ 500, com apenas 5% das compras ocorrendo no intervalo de US $500 a US$ 1.000.
Considerando os requisitos de orçamento de contribuição e a metodologia com que o ruído é aplicado aos resultados finais, o Anunciante B terá, por padrão, uma saída mais ruidosa do que o Anunciante A, já que o Anunciante B tem um potencial maior de valores discrepantes para afetar os cálculos.
É possível mitigar esse problema com uma configuração de chave específica. Teste estratégias de chaves que ajudam a gerenciar dados fora da curva e distribua de maneira mais uniforme os valores de compra em todo o intervalo de compra da chave.
Para o Anunciante B, você pode criar duas chaves separadas para capturar dois intervalos de valor de compra diferentes. Neste exemplo, a adtech observou que os valores discrepantes aparecem acima do valor de compra de US $500. Tente implementar duas chaves separadas para este anunciante:
- Estrutura de chave 1 : chave que captura apenas compras entre US $120 e US$ 500 (cobrindo cerca de 95% do volume total de compras).
- Estrutura de chave 2: chave que captura apenas compras acima de US $500 (cobrindo cerca de 5% do volume total de compras).
A implementação dessa estratégia principal deve gerenciar melhor o ruído do Anunciante B e ajudar a maximizar a utilidade dele nos relatórios de resumo. Com os novos intervalos menores, as chaves A e B agora têm uma distribuição mais uniforme de dados em cada chave, em comparação com a chave única anterior. Isso vai resultar em menos impacto de ruído na saída de cada chave do que para a chave única anterior.