Check your form. It has a massive impact on your number of reps. Keeping a tight lower body and core (good form) will help you do more reps, but so will doing partial reps (bad form). A difference in form will translate to a difference in your number of performed reps.
Check your sleep, hunger, and hydration. Getting less than seven hours of sleep the previous night, working out hungry or fasted, and working out dehydrated will all negatively impact your performance on any exercise.
Since you could only do three last time, and none this time, it's clear that a bodyweight pullup is very close to your one rep max on the exercise, so everything counts. Try doing assisted pullups with resistance bands.