Custom Metas are PVP IV’s most powerful feature, allowing you to personalize Rankings, 1 vs All Battles, Team Battles, and Comparison Battles based on the Pokemon you have available to you and the opponents you face. This feature is only available in the PVP IV iOS app, which can be downloaded on the App Store.
The high-level idea of Custom Metas is to convert a list of the Pokemon you battled against into rankings of which of your Pokemon or teams would have done best against them. As described in this Reddit post, I used this method to finish Season 3 top 5 on the global leaderboard. You can use this feature to:
- Build teams that do well against your localized meta.
- Choose leads that do well against the leads you faced most often.
- Customize Pokemon rankings and team alternatives based on the exact Pokemon and IVs you have available.
- Understand which Pokemon and leads you’re most likely to play against.
- (Possibly) avoid tilting by understanding how well your team actually should have done against your recent opponents, compared to other Pokemon/teams.
- Contribute to an overall snapshot of the meta posted at the end of each league to pvpiv.com (only aggregate & anonymized data is used).
All players can have one custom meta for free. You can swipe right to delete this meta and create a new one for free whenever you want. To have multiple custom metas at the same time, you can subscribe to PVP IV Pro.
Building a Custom Meta
Step 1: Navigate to the Metas tab.

Step 2: Select “Add Custom Meta” and give your Meta a name. The name will be used later to identify the Meta in Rankings, etc.

Step 3: Select your Meta from the list of Custom Metas.

Step 4: Set the Max CP for your Meta. For example, if you’re building a Meta for Great League, you would select 1500.

Step 5: Use “Add Pokemon” to enter the Pokemon you have available to you (or could have available) in this Meta. You can also import Pokemon from a standard meta to get started more quickly, but it’s best to use your actual IVs and moves to get the most accurate results!
You should see the Pokemon you add listed under the “Available Pokemon” section:

Step 6: As you battle, enter the Pokemon you face by selecting “Add Opponent”. Since you likely won’t know the opponent’s exact IVs, I recommend leaving the pre-selected IVs, which are max stat product.
Make sure to mark whether or not the opponent was in the Lead position to get additional rankings for the best leads!

Step 7: Note that if you face the same Pokemon more than once, you should re-enter it each time you battle it. This will make the ratings more accurate! For example, if you face Azumarill 3 times but Bastiodon only once, a Pokemon’s matchup against Azumarill will be weighted 3 times more heavily than its matchup against Bastiodon when creating rankings.
You can see how many times you’ve faced each opponent and lead in the “Opponent Frequencies” and “Lead Frequencies” sections of your custom meta:

Step 8: If you need to edit a Pokemon or opponent, simply click on it in the “Recent Opponents” or “Available Pokemon” section. If you need to delete a Pokemon or opponent, you can swipe left on it in the “Recent Opponents” or “Available Pokemon” section. (If you want, you can also swipe right to delete an entire custom meta, but be careful since this can’t be undone.)

Analyzing Rankings & Teams
Pokemon Rankings
Whenever you add a Pokemon or opponent in a custom meta, rankings for that meta are automatically updated. You can access these rankings from the Rankings tab in the Custom Meta or by going to Battle -> Rankings -> League and choosing your custom meta from the list that appears.

The rankings for a custom meta are created using the same ranking algorithm for standard metas – described in About Rankings. The only difference is that each opponent is weighted based on the number of times it appears (instead of giving each opponent a weight of 1).
Every ranking system has its flaws, including this one. Some of these are described in the article linked above. For example, these rankings might over-value Scrafty since they consider the possibility that the opponent shields your first two Power-Up Punches. Similarly, they might under-value Azumarill or Sableye’s ability to KO a weakened opponent with fast moves.
While custom metas are a great resource that can make you a more informed player and give you an advantage over your competition, they are only an approximate simulation based on the results of your previous battles. You shouldn’t expect that blindly building a team of the top 3 ranked Pokemon will always be a recipe for success. The meta can shift, the simulation can be a bit off compared to real battles, the top Pokemon may all fill similar roles and lack synergy with each other, etc. Above all, you still need to be familiar with your Pokemon/team and make good decisions in your actual battles; I’ve written a guide about battle strategy here.
Lead & Non-Lead Rankings
Custom metas also have a filter for Lead Rankings and Non-Lead Rankings. These are similar to the default rankings, but remove all opposing Pokemon which you did or didn’t mark as a “Lead” (the first Pokemon your opponent sent out). You can use these rankings to help decide which Pokemon is best to lead with or have in the back.
To access them, select “Leads Only” or “Non-Leads” from the “Filter” setting.

Remember that not all matchups are weighted equally; a win determined by over 10 lag turns is worth 10 times more points than a win determined by 1 turn. So, it’s theoretically possible that the #1 ranked lead wins hard against one opponent, but loses very closely to 5 or more others. This scenario is unlikely, but it’s still a good reminder that you should look at individual matchups and how many dominant wins/losses there are in addition to just the raw score when choosing the “best” lead.
Time Ranges
If you log your games for a long time and add a lot of opponents, your meta will eventually stabilize to a point where adding another set or two is unlikely to make a major difference in the rankings. This can be good because it means you have a lot of data to make decisions with.
However, it sometimes feels like the meta can shift from season to season – or even day to day. In these cases, we want to be able to see rankings for only more recent matches.
To do this, update the time range setting. Assuming you log all Pokemon you see, you can choose from:
- Infinite (all games / all sets)
- 15 (5 games / 1 set)
- 75 (25 games / 5 sets)
- 225 (75 games / 15 sets)
- A custom value you enter

Team Builder & Other Features
The above sections covered what Custom Metas can do with Stats and Rankings. But you can also apply a Custom Meta to a 1 vs All Battle, Comparison Battle, or Team Battle. In particular, for the Team Builder, this allows you to customize which Pokemon might be selected as alternatives, and form fully functional teams based only on your Custom Meta and the Pokemon available to you.
Additional Tips
Remember that the rankings and frequencies in a custom meta are for your past battles. These are often a good predictor of future rankings and frequencies, but this isn’t guaranteed. Here are some tips that might help improve the consistency and accuracy of the predictions.
- Try to play at the same time every day. Especially at a high rank where there are fewer possible opponents, the people and Pokemon you play against might change depending the time of day.
- Avoid recording matchups that are well below your “true MMR”. If it’s early in the season or league rotation and you’re winning a lot more than you’re losing every day, your rating will change dramatically. Large changes like this mean the type of opponents you play against each day are more likely to change dramatically as well.
- Don’t forfeit a game if you haven’t seen all 3 of your opponent’s Pokemon. If you don’t record their entire team, you’ll bias the results against teams including an initial 1-2 Pokemon your current team struggles against. (If opponents forfeit early against you, this also biases the results, but there’s nothing you can do about this).
- Along those lines, make sure to be consistent about recording all your opponents – win or lose! If you tend to forget some of the Pokemon your opponent had by the time the match is over, try using a screen recorder during the match.
- Maxing out your sets every day will give you more data and may improve the reliability of the results.
- Similarly, if you know other people who play at the same time of day and in the same MMR range as you, you can share data with each other. More data can improve the accuracy of the results, but only if it’s data relevant to you!
- Avoid changing your team too often, unless you’re already experienced playing with a lot of different Pokemon. Even if you have Pokemon that do well against the opponents you face, you still have to know how to use them!
If you’re doing everything as suggested but still don’t feel like the rankings you’re seeing are predicting your future battles, you can verify this by looking at how much the rankings change through different time ranges. For example, if the rankings are very different for 75 opponents vs 225, this might indicate that you’re seeing a lot of diversity and the predictions will be unreliable.
In this case, it might mean that you need to work on your fundamentals to rank up more and get to a point where the number of opponents you can face is smaller. There are a lot more Rank 9s than Rank 10s, for example. You can also see if playing at a different time of day reduces the pool. It’s also possible that people are just changing teams often and a lot of people are using unique Pokemon/teams; in this case, there’s not much you can do, besides working with other people to collect more data or waiting for a new meta.
I hope you’ll find Custom Metas useful! If you have any questions, you can contact me.