أعتقد أن هناك مشكلة في المنطق المستخدم هنا:
فهو يفحص الإحصائيات لأي مستخدمين تم إنشاؤهم بعد بداية الشهر السابق. لذا، إذا انضم مستخدم في منتصف يونيو، فسيتم فحص إحصائياته من بداية مايو حتى منتصف يونيو. ثم يتم تعيين تاريخ created_at للشارة إلى نهاية الشهر السابق (31 مايو). هذا من شأنه أن يسمح لمستخدم تم إنشاؤه في يونيو بالحصول على شارة “المستخدم الجديد للشهر” في نهاية مايو.