A Psychic Computer
Predictions already happen on a small scale - we as humans make predictions every day and need to in order to function, for example, predicting what will happen to the water in a jug when pouring the water into a glass.
A computer, however, has the potential to store a lot of data about it's environment and predict multiple outcomes - possibly more efficiently than any human can.
There are limits, though.
A computer can only predict up until a relatively short amount of time. The amount of time depends on how much of reality is attempted to be covered by the computer in it's simulation.
If something in reality that isn't covered by the computer's simulation effects something in reality that is being covered by the computer, the accuracy of the simulation drops dramatically. To use a metaphor - the dart can still hit the bull's eye - but the chances of it doing so are reduced.
There are in existence computers that can literally read the human mind - although only parts of it, and not in real-time. If a computer can do this now, I believe another computer can attempt to predict a human's decisions that effect the computer's simulation of the future.
The algorithm for predicting the future on such a large scale supposedly only exists in fiction, but what's stopping the algorithm from becoming reality?