Мисля, че структурата, която сте предложили (без полето "присвоено" според коментарите) ще работи, с добавянето на допълнителна таблица, да речем "Submissions_User", съдържаща препратка към user_id и нарастващо поле за преброяване на подавания. Тогава всичко, от което се нуждаете, е „слушател на събития“ според тази публикация и мисля, че ще се настроите.
РЕДАКТИРАНЕ:За значките за постижения стартирайте слушателя на събитието при всяко подаване (само за потребителя, който изпраща, разбира се), и дайте всяка подходяща значка на място. За значките, базирани на времето, бих изпълнявал CRON задача всяка вечер. Прегледайте веднъж пълния списък с потребители и дайте значки, ако е приложимо.