Have you experienced this?
You go to dog training class and suddenly your dog forgets what "sit" means. Or better yet, you go to the vet and he can't seem to even remember his own name!
What happened?
Is he being spiteful to embarrass you?
Is he really as dumb as a door nail?
Are you just a total failure as a dog owner?
No, not at all!
Your dog isn't purposely trying to embarrass you. He's not dumb. And you're not a total failure. Trust me when I say, many people, including dog trainers, have found themselves in these positions. You're not the first person or the last. But knowing how to deal with this and knowing that it's a natural part of the learning process for you and your dog is half the battle.
When you teach your dog to sit in your home, whether he does it 10 times or 10,000 times, he has learned that sit means sit in your home. Once you bring him into a new environment, such as in your neighborhood, or the park, or at a dog class, you and he need to review and practice this behavior. Why?
Dogs don't generalize things the way we do. When we learn that 2+2=4 and that "exit" means to leave, we know that these things are true, no matter where we are. Dogs on the other hand, need to learn that "sit" means sit no matter the environment and circumstances.
Does this mean that you have to literally re-teach him sit in every single place for the rest of his life? No, thankfully not.
What it does mean is that when you're working on a new behavior (sit, down, recall, etc), you need to set realistic expectations. He's not going to sit during a parade if you've only practiced in your home. You want to practice the new behavior in as many different environments and circumstances as you can. As always, keep it simple – just outside in your driveway. Or in your garage right before getting into the car. Or at the vet's office. Or just a few dozen feet or yards away from home. Think of how often your dog is with you and how you can practice that behavior.
How many different places do you have to practice something before it's part of your dog's vocabulary? The answer is – there is no magic number.
But, there is a way to speed up the learning process. Start simple. Work on your dog doing the behavior anywhere, anytime in the house – when you're watching TV, folding laundry, cooking, etc. Then whenever you take him out to potty, take 10 seconds to practice it outside. Then move to your driveway, your block, etc. The more times your dog is successful with performing the new behavior, thus the more times he is rewarded for it, the more ingrained that behavior becomes and ultimately the more reliable your dog becomes with repeating it. If you jump right to bringing him to a parade or a baseball game and expect him to perform it, you're setting yourself up for failure. Starting simple and building up from there will enable you to succeed.
So don't think for a moment that your dog is dumb or being spiteful or that you aren't able to train him. You can train your dog and your dog can undoubtedly learn!
Side Note – I've been working with one of my dogs on a new agility skill. While she "knows the behavior at home", there is no doubt in my mind that she is not yet ready or able to use it during an agility run. Why? Because I need to practice this new skill in some small agility sequences on the agility field and then she'll start to fully understand it and we'll be able to use it regularly.