I've attended a lot of user groups over the years. They've been data-related, developer-related, and all sorts of other topics. I've also organized a lot of user groups over the years. One problem that I fell into early on, and that I see many others falling into, is the problem of increasing depth.
User group leaders often have a very skewed view of the content that's been presented at their groups. That's because they've often seen almost every single presentation that's ever been given.
Apart from a few potential user group stalwarts, almost no-one else has done this.
So when you're trying to work out what to have presented at your group, it's really important to avoid the "seen that, seen that…" response. Otherwise, what ends up happening, is that apart from a few new topics that appear from time to time, the result is increasing specialisation. The group can easily slide further and further into deeper and deeper coverage of a narrow range of topics.
That's great for the handful of people that are always there, but imagine what happens when a new person attends.
They can quickly form an impression that the group's discussions are way over their heads. If you want to grow your group over time, you really have to avoid this.
Even if a topic has been presented a while back, a new presenter (or even the same presenter) will often have a new outlook on it.
What to do?
One option is to split your meetings into two parts, say 1/3 intro topics and 2/3 deeper topics. That way, anyone who comes/attends will probably get value from the meeting.
You'll be surprised how many of your old hands will learn something from the intro section of the meeting. Not only that, it's a low-impact way to try to develop new speakers. "Come and talk for 20 minutes on an intro-level topic" is a way easier ask for a new speaker than "Come and talk for an hour on something hard".