We’re designing a billing system for our industrial IoT platform and debating between usage aggregation (batch processing hourly/daily) versus real-time charging for device usage. Our scenario involves 5000+ connected devices generating telemetry that drives billing.
Usage aggregation logic would collect metrics over time windows and process them in batches - simpler to implement and lower system load. Real-time charging workflow would calculate charges as events arrive - more accurate but potentially higher resource consumption.
For billing engine scalability, I’m concerned about the trade-offs. Real-time gives immediate visibility but might struggle with 5000 devices sending data every minute. Batch aggregation is more efficient but creates delays in billing accuracy. What experiences have others had with SAP IoT Billing Engine at scale? Which approach provides better billing accuracy and performance in practice?
Consider a hybrid approach. Use real-time charging for high-value events (like premium API calls or special services) and usage aggregation for standard telemetry. This way you get accuracy where it matters financially while keeping system load manageable. SAP IoT Billing Engine supports both models simultaneously.
We implemented usage aggregation for 8000 devices and it works well. The key is choosing the right aggregation window - we use 15-minute intervals as a compromise. This gives near-real-time visibility without overwhelming the billing engine. Hourly aggregation was too delayed for customer expectations, but per-event charging created too much database load.
From a scalability perspective, real-time charging at 5000 devices × 60 events/hour = 300K events/hour is definitely manageable with proper architecture. The bottleneck isn’t the billing engine but the database writes. We use a message queue to buffer events and process them in micro-batches (every 30 seconds) which gives the illusion of real-time while reducing database transactions. This approach provides good billing accuracy without sacrificing performance.