0
$\begingroup$

In my system, my users will perform a set of actions in order to accomplish a task. As each action applies a load to my server, I would like to forecast potential load spikes.

The actions will always happen in order, but the time between each action is up to the user. The same action may occur more than once in an action-set.

I would like to be able to use previous behaviour by a user to predict when they will next perform an action (and whether it will be the same action or the next in sequence) and aggregate this data to forecast total load. The first action in the set doesn't have to be predicted, but It'd be helpful if it could be.

Not being a statistician, I believe I have all the data here to make useful predictions, but I have no idea what sort of algorithm/model to use. What model would be appropriate for the information given?

$\endgroup$

1 Answer 1

0
$\begingroup$

This may be a good use case for Discrete Event Simulation (https://en.wikipedia.org/wiki/Discrete_event_simulation). I have utilized with R simmer package. You can set up a simulation where the tasks arrive according to a distribution you determine; and where the users "seize" and "release" the task according to probabilities and task times that you determine.

You could then use that as a foundation and extract data on when the actions are taking place and transform that into your expected server load.

So this would not be "predictive" per se (not taking into account some characteristics for the particular task in flight to predict when it will get worked), but it would be simulated according to the historical data you have on many of these tasks and actions.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.