Depends on the spring M100 isn't a fixed number, there is no industry standard for airsoft. Some M100's are stronger than others. Different brands can be wildly different and you need to check the output numbers rather than assuming all are the same.
The modify spring
@Prisce lists is a 340-370 fps spring.
rocket airsoft M100 330-340 fps
ZCI 315-330 fps
If you have a weaker M100 variant and a really short or long barrel then there can also be an output fps deviance as well.
As such if you, for instance, had the ZCI spring and a 200mm short barrel like the 7" wildhog then having a 15fps drop from the stated 315fps would not be abnormal.
Likewise, a really long barrel can have a similar effect. Especially if the barrel isn't a perfect internal finish as you will have more energy loss to the barrel for friction.
It's why when you buy springs you pay attention to make and power and check the output values. If it doesn't have the output values then you avoid it unless you can find some real-world data that gives you the approximate power.
Springs do lose power over time. It depends on the gearbox as to how fast this will happen, a pre-cock, or gearbox that overruns and leaves compression in the spring will lose power faster. Steel only has so much memory and every compression will add stress to the spring and weaken it. Tool/spring steel is the best for memory retention, Stainless is the worst and stainless springs should be avoided (it's too ductile to be a good spring material). As such in industry, they would make a note of the spring material. For airsoft, however, it's a crapshoot at best, and you can never guarantee the spring material.