Suggestion on algorithm for forecasting a time series I have the following data available with me.
DayOfWeek  |  #fruitsSold(in kilos)

Monday     |  25
Tuesday    |  32
Wednesday  |  18 
Thursday   |  31
Friday     |  30
Saturday   |  55
Sunday     |  48
Monday     |  20
Tuesday    |  35
Wednesday  |  15
Thursday   |  26
Friday     |  50
Saturday   |  34
Sunday     |  15
Monday     |  22
Tuesday    |  40
Wednesday  |  25
Thursday   |  32
Friday     |  44
Saturday   |  45
Sunday     |  54
Monday     |  24
Tuesday    |  33
Wednesday  |  22
Thursday   |  34
Friday     |  38
Saturday   |  58
Sunday     |  12

I want to predict #fruits sold for each day of the next week. That is, currently we have 4 weeks data (#fruits_sold/day) available with us and we need to predict #fruits_sold/day for each day of 5th week.
Also due to memory constraints, when predicting for 6th week, only recent 4 weeks may be taken into consideration. There may be noise/out of bound values (like 0 when shop closed or 98 due to a non-relevant event only on one particular day). These extremes may be ignored for simplicity.
Can anyone please suggest a relevant algorithm(s) which can provide prediction with promising accuracy? (Planning to implement in python)
 A: Retail sales typically exhibit day-of-week seasonality. (Plus price effects and yearly seasonality, but let's not worry about those, especially since you can't detect yearly seasonality with only four weeks of data.) In such a case, seasonal exponential smoothing is probably your best bet. In R, you could use ets() in the forecast package like this:
sales <- structure(c(25, 32, 18, 31, 30, 55, 48, 20, 35, 15, 26, 50, 34, 
  15, 22, 40, 25, 32, 44, 45, 54, 24, 33, 22, 34, 38, 58, 12),
  .Tsp = c(1, 4.85714285714286, 7), class = "ts")
library(forecast)
plot(forecast(ets(sales,model="ANA"),h=7),xlab="Week")


A Python implementation should be straightforward. I recommend Forecasting: principles and practice for an introduction, especially Chapter 7 on smoothing, or Chapter 6 in my recent book.
For the outlier or invalid values you mention, you would need to do some preprocessing by hand - smoothing really doesn't like missing values, so you would need to interpolate, perhaps using the same day of week in previous and later weeks.
