The EventCapsule data that's present in all EventLogging schema currently only contains raw, unparsed user agent data.
It would facilitate many kinds of analyses a lot if we could store pre-parsed data derived from the user agent alongside it, as we do for the webrequest and pageview_hourly tables on Hive. They contain the very useful user_agent_map field, with the following data extracted from the raw user agent (still available as a separate field in webrequest):
device_family, browser_family, browser_major, os_family, os_major, os_minor and wmf_app_version.
I understand it is based on the ua-parser library, apart from the WMF-specific app version field. (The Analytics Engineering team has built a dashboard that uses this data and in August published a popular blog post about it.)
See als this thread on Analytics-l, where @Nuria already asserted that this should be feasible using the Python implementation of ua-parser. And there is already T121550: eventlogging user agent data should be parsed so spiders can be easily identified {flea} which I assume largely concerns the same work, but with a more specific purpose.