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:

nameRecord Count
analyst15066
data analyst3759
marketing analyst2715
product analyst1538
data scientist1514
bi analyst958
data engineer816
web analyst793
ml engineer268
ux analyst175

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 wageAverage salary”From”Average salary “Up to”Maximum salary
data engineer17,000165,416259,541751,680
data scientist18,792151,629217,342594,476
ml engineer40,000212,477342,5441,080,000
ux analyst40,00094,891128,725230,000
analyst5,00062,03782,433720,000
bi analyst20,000100,072143,877320,000
data analyst13,92096,359127,316450,000
web analyst20,00092,141120,721300,000
marketing analyst10,00057,63678,979500,000
product analyst13,050122,114170,169350,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 experienceFrom 1 year to 3 years3 to 6 years oldMore than 6 years old
data engineer103,600205,438273,907
data scientist126,830157,760225,243232,688
ml engineer216,696222,613412,938
ux analyst85,00092,038165,000
analyst47,79565,722112,796122,201
bi analyst118,289102,268176,538
data analyst76,41795,341180,097265,000
web analyst91,67391,115149,198
marketing analyst53,08461,86777,033149,686
product analyst105,168123,458169,527300,000

or by “grade”:

name ↓JuniorMiddleSeniorTeamleadHead of
data engineer116,863189,723339,028229,950
data scientist80,981158,945235,601350,000
ml engineer253,435369,071375,840
ux analyst90,533132,525
analyst43,98068,93994,782139,288121,873
bi analyst48,688134,726170,000
data analyst63,538106,332145,260120,000
web analyst50,244109,797157,500150,000
marketing analyst34,66263,84388,366140,936157,929
product analyst70,000137,075177,117227,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.nameNo experience ↓From 1 year to 3 years3 to 6 years old
Internet63.64%33.64%2.73%
Search for information on the Internet46.25%46.25%7.51%
PC User39.27%50.95%9.78%
Good speech skills31.97%54.87%13.16%
Analytical mindset30.04%55.34%14.62%
Working in a team29.85%54.50%15.65%
Literacy29.38%54.98%15.64%
Teamplayer29.35%41.30%29.35%
Business communication28.82%58.82%12.35%
Statistics28.79%44.32%26.89%
Working with a large amount of information28.26%57.95%13.79%
MS Office28.25%51.57%20.18%
MS Outlook27.68%58.98%13.34%
Ability to work in a team27.37%54.74%17.89%
1C: Document Management27.36%50.00%22.64%
Maintaining accounting records26.84%58.42%14.74%
Google Docs25.77%63.80%10.43%
Business correspondence25.76%56.51%17.73%
Training and development24.66%56.05%19.28%
Result orientation24.38%58.26%17.36%

From one to three years:

key_skills.nameNo experienceFrom 1 year to 3 years ↓3 to 6 years old
Power Query6.96%72.15%20.89%
Project documentation7.87%70.87%21.26%
Analytical skills12.17%70.43%17.39%
Competitive Analytics12.59%69.93%17.48%
Sas4.03%69.35%26.61%
Planning your marketing campaigns5.26%69.17%25.56%
ORACLE8.31%67.95%23.74%
DAX11.43%67.62%20.95%
DBMS5.84%67.53%26.62%
Yandex. Metrica8.72%66.45%24.83%
Oracle Pl/SQL10.78%66.18%23.04%
Risk analysis8.51%65.96%25.53%
UX2.56%65.81%31.62%
Sales analysis18.06%65.81%16.13%
Analysis of the competitive environment10.03%65.46%24.51%
Market monitoring17.46%65.08%17.46%
Databases14.68%65.08%20.24%
VBA14.18%64.81%21.01%
Sales analytics13.03%64.75%22.22%
Development of technical tasks9.86%64.70%25.44%

And from 3 to 6 years old:

key_skills.nameNo experienceFrom 1 year to 3 years3 to 6 years old ↓
PyTorch5.18%35.23%59.59%
Business Analysis8.38%35.08%56.54%
Budgeting8.15%39.26%52.59%
Tensorflow9.52%41.27%49.21%
Deep Learning8.33%42.71%48.96%
SCALA4.28%47.59%48.13%
Data Science10.18%42.91%46.91%
Database: Oracle3.52%50.00%46.48%
Project management10.42%43.23%46.35%
REST4.00%50.00%46.00%
Financial Analysis13.01%41.10%45.89%
Information security16.45%39.47%44.08%
BigQuery2.20%53.85%43.96%
Time management19.70%36.36%43.94%
Machine Learning11.23%45.74%43.04%
NLP9.02%48.87%42.11%
Docker10.67%47.33%42.00%
Sales development14.29%43.96%41.76%
Spark8.66%49.85%41.49%
Launch of new products5.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.namesalary_avg ↓Record Count
Kafka364,34917
Google Cloud Platform336,50810
Airflow315,73733
OpenCV309,17312
Kubernetes292,00010
Keras275,00011
AWS274,89532
PyTorch250,84540
Spark248,12666

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.nameRecord Count ↓salary_avg
Moscow56.45%111,910
Saint-Petersburg11.50%95,020
Ekaterinburg2.96%64,282
Novosibirsk2.85%81,887
Kazan2.23%70,891
Nizhniy Novgorod2.18%72,314
Krasnodar1.66%57,895
Voronezh1.40%57,086
Samara1.05%86,626
Rostov-on-Don1.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.