Bandwidth test script?

Suppose a customer is complaining about internet “being slow” intermittently.

Is it feasible to run a script that will do a bandwidth test at a certain interval and then send/store the results to review?

Surely the test starts when the user needs bandwidth and will start complaining…

Yes it is very possible and worth doing. You can use the /netwatch script to run the btest / ookla speedtest container (http://forum.mikrotik.com/t/ookla-speedtest-container/163953/1) if your router supports containers.