As a data scientist, I can firmly say that "predict" is to infer something from known explanatory variables and doesn't necessarily mean foreseeing something in time. If I have a model and input mock data, it is also called to "predict". On the other hand, "forecast" should be related to times series. You can forecast the future value based on past trends, seasonality, and explanatory variables.
In one word, "forecast" is always related to the future, while "predict" may not.