Now that the "In theory" part is out of the way... onto the brainstorm of ideas
What about this:
play 1 game, no CD, that does not earn you any LP (loyalty points)
Play 2 games, no CD, No LP
Play 3 games, now the LP start kicking in. if the 3rd game is not a CD, then you earn 1 LP.
Continue to play any games over 3 in a row, without CD, and each 3 games earns you 1LP.
Now introduce a multiplier.
Whenever you earn an LP, it gets multiplied by a factor, depending on your current LP total.
0-10, x5
10-50, x3
50-100, x2
500+, x1
Of course, these parameters are just thoughts, the distribution of the current LP score of all active accounts must be studied to find the statistical distribution of LPs at different multiplier levels, or at different game interval levels (current example I used 3+ games ) with the goal to achive a nice bell curve. (math majors out there, please feel free to step in to correct me for incorrect assumptions)
Loss of LP follows the same formula, except that 1 CD game will cause the loss of 1LP x Current Multiplier, instead of the 3+Non-CD games it takes to earn one. (loyalty, like trust, is easier lost than gained)
With the given database of account data, and the sequence of games played, is it possible to run these formulas to calculate everones current LP score?