I am working on a forecasting problem and came across this issue. How do I forecast sales of a brand new product? For example, a product has been introduced in the store and the store would like to know how the sales will look like.

I figured this would be similar to cold start problem in recommender systems. But still I would like to know if there are any standard approaches for such problems.

  • 3
    $\begingroup$ What data do you have? Which features do you have? $\endgroup$ Aug 24, 2016 at 9:19

3 Answers 3


You could use Bass or Gamma/Shifted Gompertz method to do that. You could use diffusion package in R.

Here an example (it is form documentation of the package) :


fitbass <- diffusion(tsChicken[, 2], type = "bass")
fitgomp <- diffusion(tsChicken[, 2], type = "gompertz")
fitgsg <- diffusion(tsChicken[, 2], type = "gsgompertz")
# Produce some plots



fc_bass <- predict(fitbass,h=20)

fc_gomp <- predict(fitgomp,h=20)

fc_gsg <- predict(fitgsg,h=20)




The only disadvantage of the methods is that they do not take care of seasonality of the sales of the products.

  • $\begingroup$ From the above I assume you are suggesting to fit a model using the sales data of a 'similar' product and then using the parameters of the model then to forecast the new product? $\endgroup$
    – TheGoat
    Feb 17, 2021 at 11:06

Without any additional data description, i would try out something along these lines:

  • Cluster the shapes of the sales curves using methods for longitudinal data clustering (K-means for longitudinal data / frechet distance...)

  • Classify your products by using the features that you have as predictors and the cluster label as response (CHAID trees / random forests...)

  • Predict class of new product will result in a probable future sales curve ?

It will highly depend on the quality of the classifier though, but I think it's worth a try. hope this helps, and let us know what did you end up doing - will be interesting to hear.


I will try below steps:

  1. Find similar existing products: Clustering the brand new product with existing products.
  2. Interpolate the predicted sales for this brand new product: Since we already found a cluster of existing products which are similar to this brand new product, we can apply predicting algorithm on the existing products and interpolate the predicted sales for the brand new product.

Hope this will help you.


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.