Your comments

предложенная мною схема имеет смысл только при ежедневном снятии позиций. но если вы говорите о 15 днях, наверное, большинство пользователей сервиса снимает позиции именно с этой периодичностью - в этом случае нет необходимости делать такой функционал
например, у нас есть 10 продвигаемых фраз. в сервисе мы опредилили ежедневную стоимость нахождения каждой фразы в ТОП-10, которая будет начисляться как наш доход. причем стоимость для каждой фразы будет разная в зависимости от ценности, конкурентности фразы. по окончанию месяца делается отчет столько-то фраз было в топ-10, столько-то доход. 
Также неплохо сделать для каждой фразы возможность задавать несколько стоимостей в зависимости от места в ТОП-10, например за нахождение на 1 по 3 позиции - одна стоимость, 5-6 - вторая стоимость, 7-10 - третья.