
A/B Testing Memory Requirement Per-User Formula
Learn how to estimate per-user A/B testing storage from assignments, retained events, profile data, and overhead.
This formula estimates the data storage footprint for one user in an experimentation platform. It combines the event records retained across active experiments, experiment assignment records, base profile data, and a configurable storage-overhead allowance.
- 100% Free
- No Sign-Up Required
- Private & Secure
- Mobile Friendly
Estimated Per-User Memory
Where:
Add profile data, all stored experiment events, and experiment assignments for one user. Then increase that raw total by the overhead percentage.
Variables Explained
| Variable | What It Means | Unit |
|---|---|---|
| M - Estimated per-user memory | Total estimated retained storage per user after applying the overhead allowance. | bytes |
| P - Base user profile size | User-level profile data stored alongside experimentation data. | bytes |
| E - Active experiments per user | Average number of experiments in which a user is currently enrolled. | experiments |
| V - Stored events per experiment | Average number of retained event records for each experiment and user. | events |
| S - Average event record size | Average serialized size of one stored event, including its properties and metadata. | bytes |
| A - Experiment assignment size | Storage required for one experiment assignment record, such as experiment ID and variant. | bytes |
| O - Storage overhead | Allowance for indexes, record structures, serialization, and related storage overhead. | percent |
Step-by-Step Calculation
Calculate event data
Multiply experiment count, retained events per experiment, and average event size.
eventDataBytes = activeExperiments * eventsPerExperiment * bytesPerEvent
Calculate assignment data
Allocate one assignment record for each active experiment.
assignmentDataBytes = activeExperiments * assignmentBytes
Calculate raw per-user storage
Add the profile, event, and assignment components before overhead.
rawMemoryBytes = baseProfileBytes + eventDataBytes + assignmentDataBytes
Apply the overhead allowance
Increase raw storage by the selected percentage.
memoryPerUserBytes = rawMemoryBytes * (1 + overheadPercent / 100)
Convert bytes to readable units
The calculator reports kibibytes and mebibytes using binary unit conversions.
memoryPerUserKb = memoryPerUserBytes / 1024; memoryPerUserMb = memoryPerUserBytes / 1048576
Worked Example: Product Experiment Tracking
Event data
5 × 20 × 500
50,000 bytes
Assignment data
5 × 100
500 bytes
Raw storage
2,000 + 50,000 + 500
52,500 bytes
Overhead multiplier
1 + 30 / 100
1.30
Estimated per-user memory
52,500 × 1.30
68,250 bytes (66.65 KB)
Final Result
Estimated per-user storage: 68,250 bytes, or approximately 66.65 KB.
Assumptions
- ✓Each user is enrolled in the average number of active experiments entered.
- ✓Every experiment retains the same average count and size of events for a user.
- ✓The overhead percentage reasonably represents storage structures associated with the retained records.
- ✓One KB is treated as 1,024 bytes and one MB as 1,048,576 bytes.
Limitations
- !Actual database footprints can differ due to compression, indexing choices, record layout, partitioning, and storage-engine behavior.
- !Replication, backups, logs, and disaster-recovery copies may require capacity beyond this per-user estimate.
- !The calculation estimates retained storage, not application process RAM, cache size, query memory, or network traffic.
- !Event sizes and retention volumes can vary substantially across users and experiment types.
Common Mistakes to Avoid
Entering all product analytics events when only experiment-linked events are retained in the system being sized.
Using an uncompressed payload size while assuming a database will always achieve a specific compression ratio.
Treating the overhead field as a substitute for separately planning replicas, backups, and log storage.
Confusing decimal KB with the calculator's binary conversion of 1,024 bytes.
Using peak experiment enrollment as though it were the average without modeling it as a separate scenario.
Related Formulas
Frequently Asked Questions
How is A/B testing memory per user calculated?
It adds base profile data, active-experiment assignment data, and retained event data, then applies the selected overhead percentage.
What is the event-data formula per user?
Event data equals active experiments multiplied by stored events per experiment and average bytes per event.
Does the formula include experiment assignments?
Yes. It multiplies active experiments by the bytes required for one assignment record.
Why does the formula add storage overhead?
Stored records often need extra space for structures such as indexes, headers, and serialization. The percentage is an adjustable allowance.
Is the result RAM required by the application?
No. It is an estimate of retained data storage per user, not runtime RAM consumption.
Ready to calculate your result?
Use the calculator to get instant results with your own inputs.