I'm into ML and data science for a while but now I started exploring time-series forecasting, and I have (lets say) a simple question: What are the features/inputs for the time-series forecasting model?

Let's say that I want to predict future sales for a specific store. These are the features that I have:

1.date (feature)
2.number of visitors (feature)
3.sales (result)

I will use this data for training the model, but my question is related to prediction. I can add dates in the future, but I can not add a number of visitors because I do not know that (I do not know how many people will visit the store in the future). That means that for time-series forecasting, the only input that I can have for future prediction is a date, am I right?

Is there any explanation for this?

For example, If I have a simple classification problem, such as predicting gender based on the weight, height, and shoe number of a person, I will use those features for training, and then I'll add weight, height, and shoe number for 'unknown' person and my model will tell me is it male or female. But for time series forecasting, I can use date and 100 different features for training, but the only feature that I have for future prediction is the date.

Can someone tell me if I'm right or wrong, and please explain to me this kind of 'anomaly'?

FYI I was thinking about starting with Prophet, NeuralProphet, ARIMA models, etc. but eventually ill make my own models with Keras

Thanks! :)

  • $\begingroup$ It seems Prophet does not give very reliable predictions. $\endgroup$
    – noe
    Jul 22, 2021 at 18:51
  • $\begingroup$ The lib is not important, Prophet, ARIMA, BERT, or some custom Keras model. My question is about the preprocessing, features, prediction $\endgroup$
    – taga
    Jul 22, 2021 at 19:33

2 Answers 2


There are not many automatic feature engineering algorithms for time series datasets. You either need domain knowledge and process the data or use something simple to start with e.g. ARIMA or some variant of ARIMA. ARIMA documentation explains what kind of preprocessing might be needed, like, the determination of parameters, p,d,q etc.

  • $\begingroup$ could you provide more information on ARIMA and how we can determine which preprocessing is required (to build a complete answer to the question)? $\endgroup$ Feb 3, 2023 at 2:50

the question you should ask is what is the problem statement? What you are trying to predict?

Once you have the target then you need to think about the entire dataset and how you are going to divide it into training and test set. Unlike other datasets, you need to divide your test sets according to the timeline, not randomly. For which dates are very important. For example, you can use data from 2011 to 2015 for training.

Now coming to your questions, you are trying to predict sales and if the number of visitors is an important feature then your test data should have this for a particular date. Your test data should be the same as the training set - you need to perform all sorts of preprocessing and fc you did on training data.


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.