If you are following ICH Q1e to estimate your expiration date (crossing time) then make sure you follow it or had a good justification for not following it.
If you use JMP's Stability tool (analyze>Reliability>Degradation>Stability) JMP will calculate the a crossing time for you. Please note that this crossing time for the worst case lot uses unpooled variance, and ICH Q1e mentions using pooled variance which will give you a different crossing time, which is often later than the unpooled variance crossing time.
Fit Y by X can give you a picture of the unpooled variance crossing time but not an actual estimate.
Try using Analyze>Fit Model.
Response goes in the Y role, Time, Batch and the cross term of Time and Batch (time*batch) goes into the effects role.
From the red triangle menu in the launch dialog, turn off Centered Polynomials.
After you click run, go to the red triangle menu in the report, Estimates>inverse prediction. Enter your upper or lower spec limit in the dialog, and make sure to click the button for all your batches (left side), also change alpha to 0.1, because you need a two sided 95% CI.
In the table at the bottom on the report you'll see the the crossing times and CI for each batch. The worst case CI is the one you're looking for. This CI is based on the pooled variance, and is likely tighter than unpooled.
You can use Fit model to get the unpooled variance too. Its the same procedure, except that Only time is in the Effects role, and Batch goes into the By role.
JMP Systems Engineer, Health and Life Sciences (Pharma)