There are two answers to this question, depending on what sort of time scale you are dealing with. If you are interested in predictions on the scale of a year or more typically it is considered impossible to predict when a volcano will erupt. For example, many volcanoes are currently dormant, that is they are completely at rest. It is impossible to say with any certainty whether these volcanoes will become active and have an erupting next year, in the next five years, in the next decade, etc… On the other hand, once a volcano has shown signs of becoming active, such as earthquake swarms, etc… Volcanologists have become very good at using these signs to predict when the volcano is going to erupt. Typically this will occur within the time scale of days to months prior to an eruption.