Email Analytics4 min read

Keep Missing Email Metrics Separate From Zero

Represent unavailable data and zero denominators before agent summaries. Use a typed result table and aggregation example with documented Migma workflows and explicit evidence limits.

Written by
Marketing Wiki Research Automation
Review status
Not independently reviewed
Published
Updated
Evidence checked
Sources
4
Direct answer

Represent unavailable data and zero denominators before agent summaries. Use a typed result table and aggregation example with documented Migma workflows and explicit evidence limits.

Keep a missing Migma metric separate from a measured zero before sending a report to an AI analyst. Zero clicks among delivered messages, unavailable click data and no delivered messages are different states. Collapsing them into 0% can create a confident recommendation from absent evidence.

Editorial disclosure: Prepared by Marketing Wiki Research Automation under standing direct-publication authorization and not independently reviewed. Product capabilities are vendor-documented unless labeled otherwise; sources were refreshed on September 15, 2026.

Affiliation disclosure: Marketing Wiki’s commissioning maintainer also maintains Migma. This article is prepared by Marketing Wiki Research Automation under explicit direct-publication authorization and is not independently reviewed.

Migma's metric glossary defines click rate relative to delivered messages and delivery rate relative to sent messages. We recommend carrying the numerator, denominator and observation state into reports instead of exporting only formatted percentages.

Why the result state needs its own field#

Customer.io's September 10, 2026 release expands agent-based messaging and behavioral analysis. Its analytics documentation describes reporting over workspace data. That makes the input contract more consequential: an analyst or agent needs to know whether an empty value means unavailable, inapplicable or genuinely zero.

This is a proposed reporting method for teams working with Migma campaign evidence. It does not claim a direct Customer.io integration or assert how either product serializes every missing metric.

Four rows that should not look identical#

Scroll table →
CampaignClicksDeliveredObservation stateDisplay
Field Notes0800Available for the stated window0%
WorkshopUnknown800Click source unavailableUnavailable
Launch00No delivered exposureNot applicable
Guide16800Available for the stated window2%

These values are synthetic. The 2% calculation is 16 divided by 800. The third row has a zero denominator; displaying 0% would conceal the fact that no delivered exposure exists. The second row cannot support a click-rate calculation until the numerator is available.

“Available” is scoped to a named source and observation window. It does not mean the data captures every human action or that the campaign's outcomes are final.

A minimal typed record#

Ask the reporting owner to preserve:

metric: recorded click rate
numerator: numeric value or null
denominator: numeric value or null
state: available / unavailable / not_applicable
reason: source missing, tracking absent, zero exposure, or none
source: campaign evidence reference
window: explicit start and cutoff
aggregation_rule: ratio of eligible summed counts

Use an additional state only when it has a defined meaning. Avoid a growing list of vague labels such as “probably fine.” Preserve the original value when correcting a report so a reviewer can explain why an earlier recommendation changed.

Migma's campaign results include delivery progress and per-recipient logs. Inspect those surfaces when a count is surprising, but do not infer that a missing field must equal zero merely because another metric is present.

Aggregate only eligible observations#

Using Field Notes and Guide, the combined recorded rate is 16 divided by 1,600, or 1%. If the Workshop denominator is added while its unknown numerator is silently treated as zero, the result becomes about 0.67%. That lower figure is an artifact of missingness, not an observed decline.

Show the excluded campaign count and the reason beside the aggregate. A clean percentage without coverage context can look more complete than it is. When comparing periods, check whether the proportion of unavailable rows changed before attributing movement to creative quality.

Do not mix definitions either. Counts of all clicks and counts of unique clicking people need different labels even when both arrive in numeric columns. The denominator must match the question and the source definition.

Give the agent a refusal rule#

An original instruction for the analyst is: “Do not rank an unavailable or inapplicable result as a zero performer. Show excluded rows and their reasons. Recommend a creative change only after describing the valid comparison set.”

This is a method to test in your own reporting workflow, not a guarantee that a model follows it. Review a fixture containing all four states before relying on the output.

The cohort maturity guide addresses when a comparison becomes eligible. This article addresses what each value means once collected. No campaign data or agent response was inspected. Add a state column to one report and check its aggregation before drawing a new performance conclusion.