Villager is obviously very zone heavy, It's what his whole game is based around.
This is what you need to know:
He has a great neutral and advantage state due to his ability to camp
His disadvantage state is horrible. Once you break his wall and get up close, he doesnt have many options. getting him off the edge is cruicial since his recovery might be good in terms of distance but is not very safe. Droping down with bairs and catching his double jump with thunder is usually how you wanna go over edgeguarding him.
Now breaking his zone is obviously not easy. Luckily pikachu has quick attack which lets you get in quite well. I suppose you friend is propably aware of your quick attack habits and thus is able to play around it. You should try mixing it up. Maybe don't use both party. Maybe run up to him and quick attack into the ground. Make him second guess his punish.
that's all i have to say