I’ve been collecting data on analyst vacancies for about a year. If you are an analyst, or are still interested in this career — you probably have already encountered similar research. For example, from NewHR or Revealthedata. The same rules are published for other professions.
hh.ru have an api and upon request, they granted me access to it. Very kind of them. Every day I collect fresh vacancies, save them directly in json format, and then upload them to BigQuery. I search for vacancies based on key queries related to analytical positions and skills.
I’ve always wondered why these studies put such an emphasis on wages, but when I started to understand the data, I realized that it was justified. Only a quarter of employers publicly announce their salaries, and according to NewHR research, these are mostly vacancies from the lower 2/3 of the career ladder. Therefore, in order for people to have at least some information about “pricing” in the industry, I will still give some data on salaries.
However, my main goal is to study “career growth”. What skills are required? Which ones are more appreciated? In what order should we develop them?
I will try to describe trends, not specific figures. Collecting data for about a year, I had the opportunity to see firsthand that the salary, working conditions and requirements of employers are quite capable of changing quite noticeably even in 6 months.
Classification
Since not all vacancies with the word “analyst” in the title fall into my area of interest, I filtered out those that were not interesting to me. Without system, business, financial, invest, risk, etc. analysts, i ended up with this list:
- Data Engineer
- Data Scientist
- ML Engineer
- UX analyst
- Analyst
- BI Analyst
- Data Analyst
- Web Analyst
- Marketing Analyst
- Product Analyst
Out of 60,000 + vacancies, I got ~27,600 suitable ones for research.
This is the distribution of vacancies by profession:
name | Record Count |
---|---|
analyst | 15066 |
data analyst | 3759 |
marketing analyst | 2715 |
product analyst | 1538 |
data scientist | 1514 |
bi analyst | 958 |
data engineer | 816 |
web analyst | 793 |
ml engineer | 268 |
ux analyst | 175 |
At this stage, I began to develop a later dissatisfaction with HR-s publishing vacancies — it seems that not everyone is able to accurately classify who they are looking for.
Analyzing the names of vacancies, I came across the fact that in many vacancies, the title contains a classification according to the level of experience, approximately the same as that of developers. There is no such thing in the standard hh fields, and I visualized the relationship between this approach and the gradation of work experience:
rank.name | No experience | From 1 year to 3 years | 3 to 6 years old | More than 6 years old |
---|---|---|---|---|
Junior | 58.90% | 39.83% | 1.16% | 0.11% |
Middle | 13.55% | 61.58% | 23.99% | 0.89% |
Senior | 7.83% | 43.01% | 46.13% | 3.03% |
Teamlead | 8.05% | 24.80% | 54.91% | 12.24% |
Head of | 3.86% | 34.74% | 52.63% | 8.77% |
That is, on average, a junior specialist is considered to be up to 1-1. 5 years of specialized experience, after which he becomes Middle, and after 3 years you can apply for the title of Senior. You can also see that team leaders and heads of departments are not further development of the senior on the career ladder, but separate branches within the same time frame.
Wages
All salaries were reduced to net in rubles, and abnormal emissions were removed. In their” pure ” form, they are not so interesting — I am more interested in the aspects of their formation:
name ↓ | Minimum wage | Average salary”From” | Average salary “Up to” | Maximum salary |
---|---|---|---|---|
data engineer | 17,000 | 165,416 | 259,541 | 751,680 |
data scientist | 18,792 | 151,629 | 217,342 | 594,476 |
ml engineer | 40,000 | 212,477 | 342,544 | 1,080,000 |
ux analyst | 40,000 | 94,891 | 128,725 | 230,000 |
analyst | 5,000 | 62,037 | 82,433 | 720,000 |
bi analyst | 20,000 | 100,072 | 143,877 | 320,000 |
data analyst | 13,920 | 96,359 | 127,316 | 450,000 |
web analyst | 20,000 | 92,141 | 120,721 | 300,000 |
marketing analyst | 10,000 | 57,636 | 78,979 | 500,000 |
product analyst | 13,050 | 122,114 | 170,169 | 350,000 |
This data is like “average hospital temperature”. I think it will become a little clearer if you calculate the average salary using the formula (From+To)/2 and segment it by experience:
name ↓ | No experience | From 1 year to 3 years | 3 to 6 years old | More than 6 years old |
---|---|---|---|---|
data engineer | 103,600 | 205,438 | 273,907 | — |
data scientist | 126,830 | 157,760 | 225,243 | 232,688 |
ml engineer | — | 216,696 | 222,613 | 412,938 |
ux analyst | 85,000 | 92,038 | 165,000 | — |
analyst | 47,795 | 65,722 | 112,796 | 122,201 |
bi analyst | 118,289 | 102,268 | 176,538 | — |
data analyst | 76,417 | 95,341 | 180,097 | 265,000 |
web analyst | 91,673 | 91,115 | 149,198 | — |
marketing analyst | 53,084 | 61,867 | 77,033 | 149,686 |
product analyst | 105,168 | 123,458 | 169,527 | 300,000 |
or by “grade”:
name ↓ | Junior | Middle | Senior | Teamlead | Head of |
---|---|---|---|---|---|
data engineer | 116,863 | 189,723 | 339,028 | 229,950 | — |
data scientist | 80,981 | 158,945 | 235,601 | 350,000 | — |
ml engineer | — | 253,435 | 369,071 | 375,840 | — |
ux analyst | — | 90,533 | 132,525 | — | — |
analyst | 43,980 | 68,939 | 94,782 | 139,288 | 121,873 |
bi analyst | 48,688 | 134,726 | 170,000 | — | — |
data analyst | 63,538 | 106,332 | 145,260 | 120,000 | — |
web analyst | 50,244 | 109,797 | 157,500 | — | 150,000 |
marketing analyst | 34,662 | 63,843 | 88,366 | 140,936 | 157,929 |
product analyst | 70,000 | 137,075 | 177,117 | 227,517 | — |
Comparing the two tables we can find a couple of insights:
- heads of departments rarely indicate their salary
- “no experience” != junior. I think the fact is that HR-s do not set experience requirements for a certain share of vacancies and senior grades are mixed in there, raising the minimum bar of salary.
Skills
To my great regret, despite the fact that HH has a hint functionality in vacancies for the skills field, they are often not used. As a result, the fields contain highly specialized terms or even typos.
A total of 5,371 unique skills were listed in the vacancies studied.
It can be seen that the main” bread and butter ” of the analyst is made up of only two skills –Python + SQL.

Also in the top is knowledge of the office suite, English and requirements for the “mindset”.
Big money is already in much less popular (and therefore less common?)markets. skills.
Let’s look in detail at the top 200 most popular skills, with a distribution by experience gradation. If you divide job shares among experience gradations and look at deviations from the average share, it becomes clear which skills are preferable for the employer at what stage of the career. Job percentages are distributed within a series, but you need to compare columns to see which skills have deviations from the normal distribution. I removed the “6+ years” column for convenience.
Here are the prevailing (top 20 sorted) requirements for applicants without experience:
key_skills.name | No experience ↓ | From 1 year to 3 years | 3 to 6 years old |
---|---|---|---|
Internet | 63.64% | 33.64% | 2.73% |
Search for information on the Internet | 46.25% | 46.25% | 7.51% |
PC User | 39.27% | 50.95% | 9.78% |
Good speech skills | 31.97% | 54.87% | 13.16% |
Analytical mindset | 30.04% | 55.34% | 14.62% |
Working in a team | 29.85% | 54.50% | 15.65% |
Literacy | 29.38% | 54.98% | 15.64% |
Teamplayer | 29.35% | 41.30% | 29.35% |
Business communication | 28.82% | 58.82% | 12.35% |
Statistics | 28.79% | 44.32% | 26.89% |
Working with a large amount of information | 28.26% | 57.95% | 13.79% |
MS Office | 28.25% | 51.57% | 20.18% |
MS Outlook | 27.68% | 58.98% | 13.34% |
Ability to work in a team | 27.37% | 54.74% | 17.89% |
1C: Document Management | 27.36% | 50.00% | 22.64% |
Maintaining accounting records | 26.84% | 58.42% | 14.74% |
Google Docs | 25.77% | 63.80% | 10.43% |
Business correspondence | 25.76% | 56.51% | 17.73% |
Training and development | 24.66% | 56.05% | 19.28% |
Result orientation | 24.38% | 58.26% | 17.36% |
From one to three years:
key_skills.name | No experience | From 1 year to 3 years ↓ | 3 to 6 years old |
---|---|---|---|
Power Query | 6.96% | 72.15% | 20.89% |
Project documentation | 7.87% | 70.87% | 21.26% |
Analytical skills | 12.17% | 70.43% | 17.39% |
Competitive Analytics | 12.59% | 69.93% | 17.48% |
Sas | 4.03% | 69.35% | 26.61% |
Planning your marketing campaigns | 5.26% | 69.17% | 25.56% |
ORACLE | 8.31% | 67.95% | 23.74% |
DAX | 11.43% | 67.62% | 20.95% |
DBMS | 5.84% | 67.53% | 26.62% |
Yandex. Metrica | 8.72% | 66.45% | 24.83% |
Oracle Pl/SQL | 10.78% | 66.18% | 23.04% |
Risk analysis | 8.51% | 65.96% | 25.53% |
UX | 2.56% | 65.81% | 31.62% |
Sales analysis | 18.06% | 65.81% | 16.13% |
Analysis of the competitive environment | 10.03% | 65.46% | 24.51% |
Market monitoring | 17.46% | 65.08% | 17.46% |
Databases | 14.68% | 65.08% | 20.24% |
VBA | 14.18% | 64.81% | 21.01% |
Sales analytics | 13.03% | 64.75% | 22.22% |
Development of technical tasks | 9.86% | 64.70% | 25.44% |
And from 3 to 6 years old:
key_skills.name | No experience | From 1 year to 3 years | 3 to 6 years old ↓ |
---|---|---|---|
PyTorch | 5.18% | 35.23% | 59.59% |
Business Analysis | 8.38% | 35.08% | 56.54% |
Budgeting | 8.15% | 39.26% | 52.59% |
Tensorflow | 9.52% | 41.27% | 49.21% |
Deep Learning | 8.33% | 42.71% | 48.96% |
SCALA | 4.28% | 47.59% | 48.13% |
Data Science | 10.18% | 42.91% | 46.91% |
Database: Oracle | 3.52% | 50.00% | 46.48% |
Project management | 10.42% | 43.23% | 46.35% |
REST | 4.00% | 50.00% | 46.00% |
Financial Analysis | 13.01% | 41.10% | 45.89% |
Information security | 16.45% | 39.47% | 44.08% |
BigQuery | 2.20% | 53.85% | 43.96% |
Time management | 19.70% | 36.36% | 43.94% |
Machine Learning | 11.23% | 45.74% | 43.04% |
NLP | 9.02% | 48.87% | 42.11% |
Docker | 10.67% | 47.33% | 42.00% |
Sales development | 14.29% | 43.96% | 41.76% |
Spark | 8.66% | 49.85% | 41.49% |
Launch of new products | 5.71% | 52.86% | 41.43% |
It seems to me that the trend of demand moving from soft skills to hard skills is clearly noticeable as the experience grows. It seems that newcomers are recruited based on personal qualities, hoping that knowledge will develop in the process, and experienced employees are looking for specific tasks.
An entry recently published in a telegram channel popped up in my memory:

However, sometimes certain skills can still affect your career more than others. Here are the top 10 skills, out of ~500 found in at least 10 vacancies, sorted in descending order of average salary:
key_skills.name | salary_avg ↓ | Record Count |
---|---|---|
Kafka | 364,349 | 17 |
Google Cloud Platform | 336,508 | 10 |
Airflow | 315,737 | 33 |
OpenCV | 309,173 | 12 |
Kubernetes | 292,000 | 10 |
Keras | 275,000 | 11 |
AWS | 274,895 | 32 |
PyTorch | 250,845 | 40 |
Spark | 248,126 | 66 |
As you can see, there are not many vacancies with such skills, but the remuneration is above average.
Geography
More than half of vacancies in the industry are created in Moscow:
area.name | Record Count ↓ | salary_avg |
---|---|---|
Moscow | 56.45% | 111,910 |
Saint-Petersburg | 11.50% | 95,020 |
Ekaterinburg | 2.96% | 64,282 |
Novosibirsk | 2.85% | 81,887 |
Kazan | 2.23% | 70,891 |
Nizhniy Novgorod | 2.18% | 72,314 |
Krasnodar | 1.66% | 57,895 |
Voronezh | 1.40% | 57,086 |
Samara | 1.05% | 86,626 |
Rostov-on-Don | 1.02% | 58,631 |
Also, as in other studies, I can’t help but notice that salaries in Moscow and St. Petersburg are higher than the average for the rest of Russia. However, this is partly due to this distribution of the experience of the required specialists:
area.name | No experience | From 1 year to 3 years | 3 to 6 years old | More than 6 years old |
---|---|---|---|---|
Moscow | 13.92% | 54.94% | 29.34% | 1.80% |
Saint-Petersburg | 12.28% | 55.64% | 30.53% | 1.54% |
Ekaterinburg | 16.51% | 66.05% | 16.78% | 0.67% |
Novosibirsk | 15.49% | 63.35% | 20.19% | 0.97% |
Kazan | 16.67% | 62.59% | 19.68% | 1.06% |
Nizhniy Novgorod | 18.26% | 60.76% | 20.43% | 0.54% |
Krasnodar | 11.88% | 69.12% | 18.05% | 0.95% |
Voronezh | 19.10% | 61.24% | 17.98% | 1.69% |
Samara | 19.25% | 58.49% | 21.51% | 0.75% |
Rostov-on-Don | 21.62% | 59.07% | 18.15% | 1.16% |
But only partially. Therefore, if you want more interesting tasks and a higher salary as your career progresses, you will probably have to think about working with an organization in the capital.
Working hours
And there is even a good chance that you will not need to move for this — the share of employers offering remote work or flexible working hours is growing. The share of flexible working hours has increased ~twice in a year, and the share of remote work has increased ~three times.

That’s all for now.
A little later, I plan to combine this data with data on vacancies published in several specialized communities. Plus, work on the analysis of the vacancy text itself. There is a suspicion that more insights will be extracted from unstructured texts.