To add upon user208574’s answer regarding ring colors: By toying with GamePress’s catch calculator or just by catching a lot of common Pokémon, you can get a feel for how often common Pokémon escape from certain throws. GamePress writes:
According to u/paanvaannd's extensive research, Ditto most often disguises as:
- Pidgey
- Zubat
- Rattata
- Magikarp
and
Ditto has a Base Capture Rate (BCR) of 16%, among the lowest in-game for an unevolved Pokemon. In comparison, the common Pokemon it disguises as all have BCR of 40% or 56%. This means Ditto is 3-4 times harder to catch. If you throw an excellent curved Ultra Ball and that Pidgey still breaks out, it might be a Ditto (or knowing your luck, it might not).
Baserate neglect is a common human bias, so due to the low Ditto baserate you’ll still be disappointed a lot, but for me it means that when a Pidgey escapes from my raspberry-augmentedRazz Berry–augmented curved great pokéballPoké Ball (and I’m lucky enough that it doesn’t flee), I’ll switch to raspberried ultra ballsRazz-Berried Ultra Balls just in case.