If you think you are committed to trying mid-lane the most and love Ahri, I'd suggest playing some of Ahri's challenging opponents (champions she struggles against in the laning phase)... champs like Zed
, Talon
, Yasuo
, Anivia
, Fizz
. Learning how her opponents work will make facing them a fair bit easier.. or at least you can hopefully learn and adapt from mistakes. I'm an Ahri main, mastery 7, been playing league for around 2 years now - and learning how her opponents work is most easily achieved by playing as some of them.
[sg-ahri-1]
One of the best ways to catch an enemy off guard in League is to flash-engage on them (flash then ult immediately before they are expecting it). It can be ballsy but worth it to flash aggressively, versus saving flash to escape a bad situation.
Luckily, in Ahri's case, your ult gives you 3 free flashes, essentially. Meaning you can use your ult to sometimes scare a flash out of an enemy (as they may flash away defensively). Luckily, you have 2 more dashes, so you can keep up even if they disengage.
**When engaging on a solo enemy, I would recommend following the steps above by ulting R - then once you have a clear shot (no minions), go for the charm E. If your charm misses, you can use your ult to get a bit more damage on them, and then disengage with your 3rd dash. IF your charm hits the enemy, you can throw your Q, and activate your W in quick succession, doing a ton of damage. If you take ignite
as your second summoner spell, this would be the time to use it, if necessary.
**
Hope that answers your questions... a bit long winded. If you want some training with Ahri, feel free to add me up in League and I can help you out!
Good luck out there!