I manage a website for a company that offers classroom training in a niche topic. Our training page is well optimized and ranks on page 1. The page lists our upcoming sessions. We have json-ld script for both "Course" and "Event" types. Our course registrations and payment processing is handled through Eventbrite, which also ranks well. We run ads in an online trade journal which are linked to our page which, in turn, links to the Eventbrite page. All of this ranks well.
What I have noticed for some time now is that Google's results often list the outdated / expired versions of our ads and of the Eventbrite events. For example, our current line-up consists of offerings on 12/3/19, 12/5/19, 4/7/20, 8/11/20, & 12/1/20.
Yet performing a search ("api 580 course", for example) yields results in the add from Inspectioneering and the Eventbrite event both referencing the 8/13/19 session which has over for a long time. We do get an Event widget which pops up on the right, but this lists only the 12/3/19 session, which is now sold out. Browsing additional results, there are links for competitor events which have occurred some time in the past (as far back as 2015, in some cases) are in no way relevant today.
So the question is why isn't Google current on it's SERPs? One would expect it to show the more relevant offerings - the Eventbrite links for the two upcoming offerings in 12/2019, the Inspectionerring ad for the 12/2019 session, and to maybe list all upcoming sessions in the Event widget - or at least both the 12/3/19 & 12/5/19 offerings.
I read all the time about Google constantly trying to improve the relevance of their search results. I would think that displaying current events would be part of that and shouldn't be that difficult.