Why Per-Object Math Isn't Enough
The break-even calculation tells you whether S3-INT is profitable for a single object. But in practice, you're making a bucket-level decision that applies to millions of objects with a distribution of sizes. A bucket might have 80% of its objects below 250 KB and 20% above — and that 20% might hold 95% of the total storage volume.
The Right Mental Model: Weighted Average
The question to ask is not "what is the average object size?" but rather "what percentage of my storage volume (not object count) is in objects above 250 KB?"
Consider two buckets, both containing 10 TB of data:
Bucket A — Log Archive:
- 50 million objects, average size 200 KB
- 90% of objects are below 250 KB
- Those small objects represent 60% of total volume
- Only 40% of volume is in large objects → modest savings
Bucket B — Media Archive:
- 500,000 objects, average size 20 MB
- 100% of objects are above 250 KB
- 100% of volume is eligible for tiering → strong savings
Both buckets are 10 TB. But Bucket B is a far better candidate for S3-INT.
The Fleet-Level Formula
To estimate net monthly savings for a bucket:
Monitoring Cost = (Total Object Count / 1,000) × $0.0025
Eligible Volume (GB) = Volume in objects > 250 KB
Storage Savings = Eligible Volume × $0.0105
Net Monthly Impact = Storage Savings - Monitoring Cost
If Net Monthly Impact is positive, S3-INT is worth enabling. If negative, use Lifecycle Policies instead.
Pulling the Data You Need
You can get object count and size distribution from S3 Storage Lens (AWS Console → S3 → Storage Lens) or by running an S3 Inventory report. The key metrics are:
StorageBytes— total volumeObjectCount— total object count- Size distribution histogram (available in Storage Lens dashboards)
Interviewers testing FinOps depth will ask: "How would you decide which S3 buckets to enable Intelligent-Tiering on across a fleet of 200 buckets?" The answer: use S3 Storage Lens to export size distribution data for all buckets, filter for buckets where the majority of storage volume is in objects > 250 KB, and calculate net monthly impact using the formula above. Prioritize buckets with high object counts and large average sizes. Avoid buckets with millions of small objects — apply Lifecycle expiration policies there instead.