# How do I do a change point analysis on a sparse data set in python?

So, I have some data from video game playtests, where players were allowed to play a game at home for a week, and were asked to fill out a daily survey. In particular, they were asked to rate a number of things on a 5-point Likert scale, such as how much fun they had that day, and how difficult they found the game that day. Here's an example of a data table for the fun rating (PID = Player ID):

Fun
PID 1   2   3   4   5   6   7   8   9
-------------------------------------
p02 4       5       3   3   4   3
p03 5   4   5   5   4       4   5
p05 5   4           3       1   1
p06 5   5               5   5       5
p07 4   5   3   2           3
p09 5   5   4   5   3   2   1   1   2
p11 4   3   3   4   3   3       3
p12 4   4   4   4   4   4   3   4
p13 3       3       2       4
p14 5   5   5   5   5   5   5   5


As you can see, players did not fill out the survey every day, leading to a somewhat sparse data set.

What we're looking to do is find a statistically sound method for finding the point where the mean fun rating drops off, so that we can use it as a metric to compare each game to others (i.e. "The fun rating for this game dropped off after day 4, whereas the Fun rating for other games dropped off after 5.4 days on average"). I was told by someone who knows a fair bit about stats to perhaps run a change point analysis on each player, and then run a survival analysis using the resultant change points. However, he admitted that he has very little experience with this type of analysis, and suggested that I post this question here.

So, my main questions are: (a) How should I handle the missing data points, and (b) how should I conduct the analysis?

Any help would be greatly appreciated.