Showing results for 
Search instead for 
Did you mean: 

Alteryx designer Discussions

Find answers, ask questions, and share expertise about Alteryx Designer.

predicting when next sales will take place


hi there, 


what i am trying to do in Alteryx is predict when a certain customer will come back and what my revenue will be from that particular sale.

i would like to see each day of the week which customers will buy based on past performance.

i am using data with purchase dates.


i have tried using Time Series and i could only predict amount of sales. 

i am thinking i should use some Predictive tool set but i couldn't quite construct the workflow as i am working with dates.


any advise will be appreciated. thank you.


Hi @tzvetelina,


This is an example of getting your question correct. What you are after in your question is the date that the customer will buy again, which doesn't quite fit into Time Series. If the customer was buying each time period , then you could use Time Series to forecast the amount that they would spend or something that fits in with the trend. Say if you had number of purchases per month, you may be able to forecast how many purchases next month etc...but if the frequency/count is really low and sporadic, then I wouldn't expect great results.


I'm going to try and give a bit of a simplified background on Time Series in order to explain how the question might be changed.

A Time Series involves taking a Series and basically breaking it down into it's components:


  • Trend
  • Seasonality
  • Error 

This is called making it stationary as the Error function should be stationary (mean, variance, Autocorrelation don't change over time). Basically, the Error Function will look consistent, thereby having a way to represent the change over time by the other components that were taken out to leave the error function. You can see somewhat of an example of this in the interactive output of the ETS Tool.


That being said, you would be trying to forecast count of transactions per day or week. If you find that you are not getting good results or that your range is rather large on the forecast, then you may want to change your question to try and look at the frequency between purchases. By analyzing the time between purchases, you may be able to build a simple Linear Regression trend to work out how long until they next transact from when they last transacted.


This kind of analysis is normally part of a larger project based on churn or demand forecasting. There is a great example of Demand Forecasting in our Predictive Analytics Starter Kit




Alteryx Partner

Hi - 

While I agree generally with the Time Series info above, there is another way to ask the question related more to the predictive tools.  If, for example, you want to make predictions for individual users and you have a good set of previous sales data to learn from for similar customers, you could find patterns and predict.


To do that, you'd need to find a target to predict - like "days until next sale".  You could feed the info you have about your customers including their personal sales history and use that to generate a model.  You would need to train / test that model on known outcomes (supervised learning) to understand how good a job of prediction compared to chance you are doing.  You could then use that model against new data to predict the future.


If this is more inline with what you are thinking (making individual consumer predictions), let me know.


- Pete


Hi Pete,


thank you for the response.


you are onto something. predicting time until next sale will be great for what i am trying to do. i do have a great data to work with including what and when clients are buying. 

after running time series i realised it is not suitable for the results i am looking for. probably i should use another predictive tool?

could you please be a bit more specific how i could go about doing that?


thank you.


Alteryx Partner

Hi tzvetelina

Sorry I didn't see this until now.


Yes, in concept what you will want to do is supervised learning.  You would set up a model based on the known results you have in your dataset.  You could certainly do this with the predictive tools in Alteryx if you have them installed.  


Not knowing your dataset at all, you might first want to predict a categorical (will they purchase again - yes / no).  And then for the yeses predict a continuous value (days to next purchase).  But that's just a guess.


Outside of Alteryx there are lots of tools (Python, R, etc.) and Alteryx has a new integration with Data Robot (though you need a Data Robot license).  Machine learning in general is a huge topic - feel free to PM me if you'd like to discuss further.




ill try using the Robot tool which seems pretty cool. 

But yes it is a categorical analysis and i figured i could use Booster Model or Forest Model.