Skip to content

Comments

[DOI-2563] Sent / Delivered metrics#101

Merged
emoralesms merged 2 commits intomainfrom
doi-2563-sent-delivered-metrics
Dec 10, 2025
Merged

[DOI-2563] Sent / Delivered metrics#101
emoralesms merged 2 commits intomainfrom
doi-2563-sent-delivered-metrics

Conversation

@emoralesms
Copy link
Contributor

@emoralesms emoralesms commented Dec 9, 2025

Observando como trabajan los SP se realizan las siguientes modificaciones:

En lo que respecta a nuestro reporte campañas (GetSentCampaignsMetrics):
Se deja de calcular los Sent de esta forma:
SUM(RPT.[Sent]) - SUM(RPT.[Opens]) AS [Unopens] pasando a usar la columna correspondiente UnopenedMailCount

Los enviados son calculados:
ISNULL(C.[AmountSentSubscribers],0) [Subscribers]

Y los entregados:
(ISNULL(C.[DistinctOpenedMailCount],0) + ISNULL(C.[UnopenedMailCount],0)) AS [Sent]


En el caso del reporte mensual, respetando los SPs originales:
También usamos UnopenedMailCount

Uso COUNT(DISTINCT RPT.[IdCampaign]) [CampaginsCount] porque el dataset combina Campaign + Subscriber con UNION ALL, lo que genera filas duplicadas por campaña cuando hay desuscripciones/spam. Esto inflaba el conteo de campañas enviadas. El DISTINCT garantiza que cada campaña se cuente solo una vez.

Los enviados son calculados de igual forma que en el historico de campañas:
ISNULL(C.[AmountSentSubscribers],0) [Subscribers]

Y los entregados:
(ISNULL(C.AmountSentSubscribers, 0) - (ISNULL(C.HardBouncedMailCount, 0) + ISNULL(C.SoftBouncedMailCount, 0))) AS [Sent]


Llamo a debate respecto a los entregados ya que ambos SPs originalmente siempre calcularon esto de formas distintas.
[SR_CampaignsSent_HistoricalReport]:
image

[SR_SummaryByMonth_V2]:
image

Capaz esto forma parte de una decision antigua y esta bien que sea así. Quizás es hora de ajustarlo, si podemos hablarlo buenisimo.

A simple vista pareciera lo mismo, ya que en la primera imagen se toma por entregado a la suma de ABIERTOS + NO ABIERTOS. Y en la segunda imagen se calcula considerando AmountSentSubscribers (que es la suma de abiertos + no abiertos + rebotes) restandole por separado los rebotes (- (SUM(HardBouncedMailCount) + SUM(SoftBouncedMailCount)). A pesar que desde la lectura pareciera dar lo mismo, la realidad es que no.

Comparto la parte del SP [CampaignSentUpdate] donde ocurren estas sumarizaciones:

image

Se observa que para calcular UnopenedMailCount el IdDeliveryStatus tiene que ser 0
En DistinctOpenedMailCount el IdDeliveryStatus tiene que ser 100
Y el AmountSentSubscribers es todos los IdDeliveryStatus distintos de 101.

Para mi en esto último radica la diferencia más grande, porque quizás se estan sumando estados que no debería contemplarse (o si):

image

Comparto dos capturas, una de la grilla y de la exportación para que quede claro que la exportación coincide con lo que se visualiza:

SR_CampaignsSent_HistoricalReport SR_SummaryByMonth_V2

Fixes:

Checklist:

  • I have paid attention to this PR title and description
  • I have performed a self-review of my code
  • I have built it locally (or my changes does not affect the build)
  • I have checked all tests still run ok at Doppler.ReportingApiTest project
  • I have added at least one simple unit test covering the new code

@emoralesms emoralesms merged commit bc338e7 into main Dec 10, 2025
6 checks passed
@emoralesms emoralesms deleted the doi-2563-sent-delivered-metrics branch December 10, 2025 13:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants