Part of our iHaaS deep-dive series. New to HaaS? Start here.
Quick answer: Formal stability programs hold packed product at fixed chamber conditions, such as 25 °C/60% RH long term and 40 °C/75% RH accelerated under ICH Q1A(R2). But the product reacts to the humidity inside the pack, which depends on the seal, the film, the headspace and any humidity-control material. Measuring that micro-environment for 30 days, then fitting a model to it, gives you an auditable data package that supports your shelf-life decision. It complements a formal stability program. It doesn't replace one.
You've picked a bottle, a liner and a desiccant. The stability chamber says the product passes at 25 °C and 60% RH. So why does a lot come back clumped, soft or out of spec after a humid summer in distribution?
Usually because nobody measured what the product actually experienced. The chamber controls the air around the package. The product lives in the air inside it. At ATMOSIScience®, we make the humidity-control materials that sit in that space, and we use HaaS sensors and models to show what's happening there. Here's how packaging shelf-life testing with humidity data works, and where it fits.
What static stability conditions actually control
For drugs, the standard reference for stability storage conditions is ICH Q1A(R2), the harmonized guideline for new drug substances and products, and many teams in adjacent categories borrow its conditions. It sets the storage conditions and minimum data periods for a submission (ICH Q1A(R2)):
| Study | Storage condition (general case) | Minimum period covered at submission |
|---|---|---|
| Long term | 25 °C ±2 °C / 60% RH ±5% RH, or 30 °C ±2 °C / 65% RH ±5% RH | 12 months |
| Intermediate | 30 °C ±2 °C / 65% RH ±5% RH | 6 months |
| Accelerated | 40 °C ±2 °C / 75% RH ±5% RH | 6 months |
The guideline already recognizes that the package changes the picture. Products in impermeable containers that provide a permanent barrier to moisture can be studied under any controlled or ambient humidity. Water-based products in semi-permeable containers need to be checked for water loss as well. ICH has also endorsed a consolidated Q1 draft for public consultation (Step 2, 11 April 2025) that keeps 40 °C/75% RH as the accelerated condition (ICH Q1 Step 2 draft, as published by Japan's PMDA).
So a chamber sets the outside of the package. Everything inside is up to the packaging system.
The gap: chamber air vs the micro-environment in the pack
Inside a closed pack, three things set the humidity: the product, any humidity-control material, and whatever gets through the seal and the film. The air itself barely counts.
Worked example: how little water the headspace holds
- Take a 500 mL headspace at 25 °C and 60% RH.
- Saturated air at 25 °C holds about 23 g of water vapor per m³, so at 60% RH it holds about 13.8 g/m³.
- 500 mL is 0.0005 m³, so the headspace holds 0.0005 × 13.8 = about 0.007 g. That's 7 mg.
Seven milligrams. A product or a desiccant trading even a tenth of a gram of water with that air will set its humidity. That's why the in-pack RH follows the product's water activity and the material's behavior, not the chamber's set point. Water activity, by the way, is just the equilibrium RH of the product's own air space expressed as a fraction from 0 to 1. A food that holds a sealed jar at 60% RH has a water activity of 0.60 (UC Agriculture and Natural Resources).
Worked example: why accelerated conditions push harder
Moisture moves through a film because the vapor pressure outside is higher than inside. Suppose the pack holds 20% RH inside:
- At 25 °C/60% RH outside, the vapor pressure difference is 31.6 hPa × (0.60 − 0.20) = 12.6 hPa.
- At 40 °C/75% RH outside, it's 73.7 hPa × (0.75 − 0.20) = 40.5 hPa.
- That's about 3.2 times the driving force, before you account for any change in the film's own permeability with temperature.
That's the whole reason acceleration factors exist, and also why they have to be fitted from data rather than assumed. The film, the seal and the material all respond to temperature in their own way.
What 30 days of dynamic monitoring captures
Our packaging validation offer combines materials, sensors and model validation. Thirty days of dynamic monitoring produces an auditable data package, so the shelf-life call rests on evidence. Depending on the pack, a 30-day setup logs:
- Temperature and RH inside the pack. Our HaaS Mini is built for compact spaces, stores 260,000 records at a settable interval, and is accurate to ±0.2 °C and ±1.0% RH between 20 and 60% RH.
- Condensation risk. Where the pack sees temperature swings, a DEW sensor reads air temperature, humidity and surface temperature together.
- Material mass. A platform weighing sensor with built-in temperature and humidity tracks how much moisture the humidity-control material takes up or releases. The 20 g version reads to ±0.02 g.
- The outside conditions. So every in-pack curve has its driving force recorded next to it.
At a 10-minute logging interval, 30 days gives 30 × 24 × 6 = 4,320 records per sensor. That density is what lets a model separate a slow seal leak from a fast daily swing. You can read more about the sensor kit in Inside the HaaS Sensor Kit.
Gate 0: checking the data before any math runs
A shelf-life number is only as good as the data under it. Our Shelf-Life Validation Model starts with a check agent that runs "Gate 0," a data completeness and quality gate. It looks at:
- Parameter completeness
- Sensor availability
- Completeness rate
- Material-branch validity (for example, whether the material is treated as one-way or two-way)
- Driving-force gate preconditions
Issues come out as structured records and are written to the experiment memory, so they travel with the result. A quick example of why completeness rate matters: if one sensor delivers 4,200 of its expected 4,320 records, its completeness rate is 4,200 / 4,320 = 97.2%. Whether 97.2% is fine depends on where the missing 120 records fall. Ten-minute gaps scattered across a month are one thing. A missing 20 hours over the hottest weekend is another. Gate 0 makes that visible before anyone fits a curve.

How the model turns curves into parameters
After Gate 0, the analysis agent does deterministic numerical work, and the LLM is never invoked to alter numerical values. In order:
- Preprocessing and conversion of the raw readings.
- Calibration of k_e from a blank run, then K_m from the test run (with a separate branch for one-way materials).
- Mass attribution: where did the water go?
- ODE simulation of the pack over time.
- Capacity, condensation and RH metrics, plus t_fail candidates: the points in time where the pack could fail its target.
A reasoning agent then diagnoses the mechanism and recommends engineering changes such as sealing, water activity, dosage or moving to a long-term model. Every one of its outputs has to cite an evidence ID, and it isn't allowed to make up values. The full agent breakdown is in our HaaSMind article.
What's in the data package
A validation project produces four deliverables:
| Deliverable | What's inside | What you use it for |
|---|---|---|
| Humidity control benchmark report | RH-time curves, saturation behavior, one-way vs two-way material comparison | Seeing what the pack actually did |
| Parameter library | k_e, K_m and a_w set points, plus acceleration factor indications | Comparing materials, doses and conditions on the same fitted basis |
| Shelf-life support package | Equivalent-time interpretation and correlation with your product's functional data | Supporting the shelf-life decision in your quality records |
| Selection guide | Material type, dosage, package sealing and cost margin | Choosing the pack spec |
The report itself comes in two forms: a structured JSON report and a human-readable report, with a chart index, a six-criteria decision table, risk statements and evidence levels. The JSON is for your systems. The readable report is for the people signing off.
Equivalent time, in plain numbers
An acceleration factor (AF) says how much faster a mechanism runs at a stress condition than at your reference condition. Equivalent time is the stress time multiplied by AF. Purely as arithmetic: if a fitted AF were 4, then 30 days at the stress condition would correspond to 30 × 4 = 120 days at reference, for that mechanism only. That's why the support package pairs equivalent time with your product's own functional data. An AF is only meaningful if the product's real failure mode tracks the humidity mechanism it was fitted to.
Reading the result: the five acceptance KPIs
We judge a project against five acceptance KPIs. Here's what each one tells you and what should make you look closer:
| KPI | Question it answers | Look closer if |
|---|---|---|
| Time inside the RH target window | How much of the test did the pack hold the humidity you need? | The out-of-window time clusters in one part of the cycle |
| Maximum deviation | How far did it stray at worst? | The peak lines up with a temperature swing, which points to condensation risk |
| Saturation risk | Will the humidity-control material run out of room before end of life? | The weight curve is still climbing steeply at day 30 |
| Mass balance | Does the water add up between product, material and ingress? | Water appears or disappears with no explanation |
| Product fit and economics | Is this the right material and dose for the product and the budget? | A cheaper seal change would do more than a bigger dose |
The project process behind these KPIs, from raising the problem to establishing a standard, is laid out in From Pilot to Proof.
Where this fits next to your formal stability program
| Formal stability program | Dynamic micro-environment validation | |
|---|---|---|
| Controls | The chamber around the package | Nothing. It measures the space inside the package |
| Answers | Does the product stay in spec at defined conditions over time? | Why the pack behaves the way it does, and which material, dose and seal hold the target |
| Timescale | Months to years | 30 days of monitoring, then model fitting |
| Best used | To confirm the final product and pack | Before and alongside it, to pick the pack spec and explain results |
Run the dynamic work first and your formal studies start with a pack you already understand. Run it alongside and you have an explanation ready when a time point surprises you. Either way, the monitoring data is cloud-stored and traceable, so it supports your own quality records.
The materials side matters too. Our fiber desiccant can be made in custom shapes and sizes, which makes dosage a variable you can tune rather than a fixed sachet count. See our desiccant overview for formats.
Frequently asked questions
What are the ICH stability storage conditions?
Under ICH Q1A(R2), the general case is long term at 25 °C ±2 °C/60% RH ±5% RH (or 30 °C ±2 °C/65% RH ±5% RH), intermediate at 30 °C ±2 °C/65% RH ±5% RH, and accelerated at 40 °C ±2 °C/75% RH ±5% RH, with at least 12, 6 and 6 months of data respectively at submission.
Why measure humidity inside the package if the chamber is controlled?
Because the product responds to the air inside the pack, and that air holds very little water. In our example, a 500 mL headspace at 25 °C/60% RH holds about 7 mg of water vapor, so the product, the seal and any humidity-control material decide the in-pack humidity.
How long does packaging humidity validation take?
Our packaging validation runs 30 days of dynamic monitoring, which produces an auditable data package. Model fitting and reporting follow.
Can this replace a formal stability study?
No. It complements one. It explains the micro-environment and helps you pick the pack spec. Your formal stability program still confirms the product.
What's an acceleration factor in shelf-life testing?
It's the ratio of how fast a mechanism runs at a stress condition compared with a reference condition. Equivalent time equals stress time multiplied by the factor. Our parameter library includes acceleration factor indications derived from your test data.
Does the AI change the numbers?
No. In the shelf-life model, the numerical analysis is deterministic and the LLM is never invoked to alter values. The reasoning step has to cite an evidence ID for every output.
Put evidence behind your shelf-life call
Tell us the product, the pack and the shelf life you're aiming for. We'll scope a 30-day validation.
Prefer email? info@atmosiscience.com
Sources: ICH Q1A(R2) Stability Testing of New Drug Substances and Products (Step 4, 6 February 2003); ICH Q1 Stability Testing of Drug Substances and Drug Products, Step 2 draft endorsed 11 April 2025 (PMDA copy); UC Agriculture and Natural Resources, Water activity and its role in food preservation. Vapor pressure figures use the WMO Magnus constants; worked examples are our own calculations.