The thing is that everyone would have different opinions about when a book for beginner ends, and the level intermediate starts, same for intermediate and advanced.
IMO beginner is when you know nothing about functional programming or just have experience with a common OOP language, I think that we all could agree here. Intermediate would be where you start to learn common libraries like Phoenix, Nerves… and using others to extend them like Überauth, Comeonin… also it is a good point to learn the basics of Erlang. Last but not least, advanced, where you learn the rest of the language’s features, like metaprogramming, OTP, NIFs, toolkits like Absinthe and Erlang in depth.
I like the levels purposed by @dimitarvp but Erlang should be included too, when I was starting with Elixir I found this website very useful: https://startlearningelixir.com/
Lastly, I’m not trying to be disrespectful with authors for its work, but I personally don’t trust courses or books published by Packt or Udemy, I did have bad experiences I’m afraid.