ENGINEERING NOTE 02 / 50 · SMS

Calculate SMS receipt rates without hiding failures

OPEN RAMBO ·

Publish the event being measured and the population being counted. Allocation rate, receipt rate and completed verification rate answer different questions.

Published by OPEN RAMBO. The engineering patterns and pseudocode illustrate designs, not a documented product API. Numerical examples are illustrative.

Define the cohort

Group orders by creation window, requested service and country. Allow the full waiting window to finish before comparing mature cohorts. Mixing new waiting orders with yesterday’s finished orders makes the rate depend on the reporting time.

Show the funnel

Report requested, allocated, received, cancelled and expired counts side by side. A user cancellation is not proof of supplier failure, but silently excluding every cancellation also inflates performance. Present both all-allocated receipt rate and a clearly defined eligible subset.

Label small samples

Nine receipts from ten orders is an observed 90%, not a reliable promise for the next order. Include sample size and observation dates. Separate internal tests from customer orders before grouping; do not remove genuine unsuccessful customer attempts to make the chart attractive.

Illustrative implementation

allocated = 20
received = 12
cancelled = 3
expired = 5
receipt_rate = received / allocated  # 60%, illustrative cohort

Acceptance check

Every displayed percentage must reproduce from its displayed counts. Keep test exclusions and immature orders visible in separate totals.

Read next