As weekly ranking history is not very important, is there not a shorter path like duplicating the userpoints and initializing the user points count to zero at the end of every the week, so that the counter starts from zero and the ranking will show only this week earned points ?