Demographic descriptions of the Ukraine seem to employ some rather odd categories.
The category of Ukrainian speakers as distinct from Russian speakers is at least clear in principle — though I bet there’s a lot of dialect smear, as there is with the Romance dialects; travel south from Paris and every town sounds closer to Catalan.
But the thing that really seems problematic is the “ethnic” category: supposedly there are people who are ethnically Russian and others who are ethnically Ukrainian, and there are Ukrainians who speak Russian and Russians who speak Ukrainian…
This all seems like a desperate muddle. If you had a good ear for dialects you could probably tell whose speech was closer to (normative) Russian and whose closer to (normative) Ukrainian, but how on earth, in a place like this, can you tell who’s “ethnically” Russian and who Ukrainian? Facial features? DNA? I doubt it; people have been moving around and mixing it up in this part of the world for a long time. So I can only assume it’s self-reporting.
Which is to say that people have a fancied ethnicity in their heads and continue to reproduce it on the ideological plane. I’m becoming increasingly convinced that “ethnicity” is a useless concept, except in very specific contexts. For example, in the US, there were people who were “ethnically” Irish or Italian, simply because they were the children or grandchildren of people who recently arrived from Ireland or Italy. After a few generations, though, this becomes pretty insignificant; and it always was a purely social category.
On the map above, one thing missing is the Orthodox/Catholic distinction. But of course including that would have required more colors than humans can see.