To achieve a delay of variable values in the context of your timeline, you would actually only need to define an offset and the duration of your animation.
You can accomplish this by using these two values together and mapping them to a specific range of values for scaling:
- Define the offset and use it as Max value in the node
Random Value. This defines a random start frame for the animation.
- Subtract this resulting value from the current frame. So you get your offset times.
- To make this value practical, use the
Map Range node, again using your duration as the maximum value for the length of the animation and mapping the values to a range of $0 - 1$ for scaling.
Here is an overview of the Node group:
Here is the blend file: