If this has been suggested before, I apologize (forum search doesn't work it seems).
I think it would be more realistic if enthusiasm calculation takes in consideration final result of one or few last games. If team is in a winning streak, enthusiasm should grow faster/drop down slower and vice versa.
I'm far from an expert, but it looks like it could be easily accomplished by "tweaking" a normal enthusiasm level.
Here's an example of what I mean: if I understood well, each day enthusiasm tends to get near to the normal level (5) and speed depends on difference (enth. 15 drops faster than enth. 7). If team won last game, normal level used to calculate daily drop-down should be somewhat higher, for example 7 or 6.5. After losing, normal level should be 3 or 3.5.
Or, for more realism, add more than one game into a calculation:
NormalLevel = GameValue[-1] + 0.5*GameValue[-2] + 0.3*GameValue[-3] + ...
if Won[n]
GameValue[n] = SomeConstant
else
GameValue[n] = -SomeConstant
I don't know what would be good value for SomeConstant. Maybe 1?