This is often hard to master, but is an easy concept to train and obviously has many uses.
Start with your puppy in an area with minimal distractions. Have it in the “sit” or “down” position, which ever you feel will increase the chances of your dog’s success. Next, say the cue ”stay” and add an open palm signal – make sure you do not have food in the hand you are signalling with or your dog will focus on the food, rather than your cue.
Try to maintain eye contact and reinforce that your dog stay for a few seconds, even though you haven’t moved. Repeat this step a couple of times. If your dog is happy staying for a few seconds either on your left or in front of you, then you can add in some distractions. You might initially ask your dog to stay, move your arms or legs slightly and reinforce that your dog ignore the distraction.
Have them on a loose lead, ready to spring tight to stop your dog from getting up if it tries to.
Next, take a small step away from your dog, and if it does not move, step back towards it and follow with praise and reward. Then you can increase the duration to say 4 or 5 seconds and gradually increase your distance away from your dog, always returning to them to reward them.
Eventually you’ll even be able to move out of sight, and then return. If your dog is in the same position, praise and reward. This will also be helpful in training them for their mat/bed. Remember, short sessions and lots of repetitions throughout the day will help your dog master the “stay” command.