I'm not going to rate your team. I find that doing that doesn't always help, as people have different playstyles and might face different situations more regularly.
In other words, I can't accurately tell you what you need to have a more successful team. What I can do, though, is help you with proper teambuilding, so here's a quick guide.
An offensive or balanced team should have good offensive synergy. That means if one team member can't take out a Pokemon, you should have another that can. You should always be prepared for all possible opponents.
As well as this, your team should have good defensive synergy, meaning that your team members can cover weaknesses for each other. For example, if you have a Gyarados out, and they send in an electric type to revenge-kill it, you should have an electric resist who can easily come in and threaten the opponent.
As for how to easily figure these, I like to use these tools for teambuilding:
The Database Type Coverage Checker - This lets you check the offensive coverage of a Pokemon, so you can better tell what types you will need to add to support that Pokemon offensively.
The Team Magma Teambuilder - This allows you to check the weaknesses of your team as a whole. It helps in finding what you may need to add or change to gain better defensive synergy.
The Pokemon Showdown Damage Calculator - This helps with finding just what each member of your team can handle both offensively and defensively. You can see just what EVs and Nature you will need to fulfill the roles you want for each member of your team.
I wish you luck in all your teambuilding endeavors, and I hope that this was of help to you.
If you ever need any advice, I would be glad to give it :)