Why package pricing accumulates units across events instead of resetting per event
Last updated: April 22, 2026
When using the package pricing charge model, Lago aggregates units cumulatively across all events within the billing period, not per event. Each new event adds its units to the running total for the period, and that total is used to compute the package-based cost at period end. This is by design and matches how Lago handles all other aggregation-based charge models.
How package pricing aggregation works
Package pricing uses the full billing period as the unit of measurement. The aggregation resets to zero only at the start of a new billing period. There is currently no way to configure package pricing to reset the unit count after each individual event.
For example, with $10 per 100 units:
An event sending 60 units brings the running total to 60 (1 package).
A second event sending 50 units brings the total to 110 (2 packages).
A third event sending 80 units brings the total to 190 (still 2 packages).
How to resolve the issue
If you need per-event pricing, convert the package rate to a per-unit price. For example, $0.22 per 1,000,000 parameters is equivalent to $0.00000022 per parameter. Because Lago aggregates units across the billing period before applying the rate, the math produces the same result at period end. The per-unit model is simpler and more predictable when inspecting individual events.
How to prevent this from happening again
Use package pricing only when you genuinely want to charge in blocks. For example, $50 per block of 500 API calls, where a customer who uses 501 calls pays for two blocks. If your pricing is effectively a per-unit rate expressed as a bundle, use the per-unit charge model instead.
This article reflects guidance drawn from customer case resolutions. It is not officially supported documentation and may not apply to all situations.