Except for general reasons rankings may not match with SERP there are some peculiarities in Yandex that must be taken into account while checking rankings manually.
A search location must be the same you've added to the project. A common mistake is adding a technical location to the project, e.g. the USA, and checking rankings in New York. These are different search locations, and they have different SERPs. A website's rankings in these regions may differ.
An lr parameter is responsible for a location in Yandex. It shows in which region you check rankings and you can change it to get the SERP you need. For example, location Russia has lr=225, and Moscow's lr is lr=213. Check in Settings what location you've added.
All search keywords in Yandex are checked for misspelling and typos. By default both in Topvisor and in Yandex spellchecking is enabled. If you disabled spellchecking in the project Settings, make sure you check rankings for a uncorrected keyword. For that press Cancel under the search bar.
In Yandex search settings there are 3 filter modes: Moderate filter (by default), Family mode and No filter. Make sure the filter you've chosen is the same in Yandex settings.
There's only one parameter in Yandex responsible for a location: lr. Some people check rankings with rstr parameter by pressing Advanced Search and picking a location there, but it's a mistake: rstr shows a website selection with a preference for a selected location, but it's not the location SERP itself. There must be no rstr in the browser address bar, only the lr with the location you need.
Example of the wrong SERP link for checking rankings in Moscow: https://yandex.ru/search/?text=%D0%BF%D0%B8%D1%86%D1%86%D0%B0&lr=2&rstr=‑213
Example of the right SERP link for checking rankings in Moscow: https://yandex.ru/search/?text=%D0%BF%D0%B8%D1%86%D1%86%D0%B0&lr=213
Sometimes a website rank differently in different browser sessions and, therefore, for different users. For example, your website can have the 3rd position when you check it in your browser, 20th position for your friend and 100+ position for your prospective customer from New York. And all three times the rankings are checked the right way: in the incognito mode, with the right location, without rstr.
You can reproduce this case on your own. To do so open a new window in the private mode, check rankings and close the window. Then open a new incognito window, check rankings and so on, or clear cookies after every check,
We check rankings in real time, so they are relevant at the time of checking for a session, and you see a rank Topvisor crawler got at the time it checked rankings. If a website's rankings are volatile in different sessions, they can differ if you check rankings again, because for every check a crawler "opens" a new window in the incognito mode and check rankings without personalization.
This situation can also be related to search volatility. What is SERP volatility →
But it can persist after the SERP is stable. In this can you should work more on website optimization. If the website's SEO is good and it firmly ranks in Top, its rankings will be about the same in all sessions and for all users.