team using hard skills around table

What hard skills does a business analyst need?

In short, the hard skills a business analyst needs are data analysis, computer and software fluency, and documentation. More specifically, BAs must know how to use Microsoft Excel and Tableau, know technical terminology, code in SQL, and code in Python & R.

Let’s look more closely at each of these technical skills to see how business analysts use them. They are not comprehensive, as each organization has its own systems and needs. Nevertheless, they are a great framework to start with.

Data Analysis: Hard Skill for a Business Analyst

Business analyst, especially those who work in IT, must know how to analyze data. But don’t worry, it’s probably not as hard as you think. Data analysis is simply the ability to leverage software and pull value out of sets of data.

To get a strong grasp of the fundamentals, I recommend getting a beginner’s book such as our free Intro to Data Analysis eBook.

The most important thing to know about this skill is how you should envision data. You should NOT think of data as a series of points in space.

Instead, always think about data in a normalized format. Normalized data is structured based on a common variable (or observation). More often than not, this is in the form of a table, where the observation is always located in the far left column. Try to imagine yourself looking at one thing and noticing the different characteristics of that thing.

For example, imagine you want to collect data on your neighborhood cats. The data will ALWAYS be normalized with the “thing” in the far left column. It looks like this:

SimbaWhiteNoNo1 ft.No
PatchWhiteYesBlack1.5 ft.No
ChesterOrangeYesWhite1.25 ft.No
TiggerYellowYesBlack1 ft.Yes
Sample Data Set on Cats

It’s much easier to think of data analysis this way. What are you looking at? Cats. What about them? Color, patches, length, and meowing. Much simpler that way.

Microsoft Excel and Tableau Skills

Once you have normalized data, you need to play with it. Proficiency in Microsoft Excel and Tableau (download a free, public version here) are the hard skills you need to manipulate data. You should be able to manipulate normalized data with pivot tables, visualize it with graphs, and cluster it based on the given characteristics. Examples of these are beyond the scope of this article, and we will be uploading more information on these software under the “learn” tab at the top of the page.

Computer and Software Fluency Skills for BAs

It may seem obvious, but computer and software fluency are invaluable technical skills for BAs. The reason for this is that BAs often need to have a global view of projects and processes in order to deliver results. Such is not the case for programmers and developers, who typically execute exact specification given to them.

Business analysts have to be able to understand the entire devops value chain in order to communicate requirements and specifications and coordinate different teams. Some of the terms a BA needs to know how to manage are below.

Terms to know

  1. The Central Processing Unit (CPU) – that which executes instructions you give to the computer
  2. Main Memory – also known as Random Access Memory (or RAM), this stores core software elements of the computer such as the operating system
  3. Secondary Storage – anything that doesn’t come stock with a computer. For example, word documents are secondary storage
  4. Input/Output Devices (I/O Devices) – devices that put data into the a system are called input, whereas devices that collect data from a system are called output
  5. Network – in technology, a network is a group of computers that have access to each other
  6. Markup – a rough draft of a design or visual representation
  7. Binary vs high-level language – binary or “low-level” language is coded in 1s and 0s, while a “high-level” language is legible to the human eye
  8. Functional – where computations are mathematical representations (low level)
  9. Procedural – where computations are mathematical representations via human interface (mid level)
  10. Imperative – (vs. declarative) where computations help show how a program works as opposed to what it does
  11. Object-oriented – where computations are based on data and fields (high level)

Without the ability to recognize and converse on these technical topics, a BA may have a hard time creating harmony in his/her teams. The business analyst’s soft skills (such as communication and listening), thus, depend on his/her hard skills.

Coding in SQL

While simple familiarity with the above terms is enough, a business analyst needs to have actual working experience with SQL. Some would argue that knowing the R statistical language is enough, but Python is special for a few reasons. Let’s first look at SQL.

SQL is a query language that BAs and data analysts use to extract and manipulate data within a data warehouse. If you’re familiar with excel, then you can envision a data warehouse as one huge excel sheet. The only difference is that Excel does not have the computing power to handle databases beyond 1,048,576 rows and 16,384 columns. This means data specialists will house these tables in programs such as Amazon Redshift.

SQL is simply the language that business analysts need to learn in order to extract that data. You do not need to know how to store all the data — that’s a more technical job that IT architects need to be involved with. Knowing how to extract and manipulate it is enough. The good news is that SQL reads a lot like normal English. Take a look at this example:

  SELECT Cat_Name FROM Sample_Data_Set_of_Cats WHERE Does_Meow LIKE '%Yes%';

You don’t even need to know the language to get an idea for what this code will do. It extracts Tigger from the previous table since he’s the only one who has “Yes” under column “Does_meow.” It’s not too complicated, but you must know how to use SQL.

Python and R

In additional to SQL, knowing a statistical analysis software like R or Python is critical. Personally, I only know R. This is a limitation for me since Python is actually a more diverse and low-level language.

These languages help you make sense of data once its extracted from a data warehouse. In terms of complexity, learning either Python or R is among most difficult hard skills a business analyst must learn.

For example, let’s take a look at the code to extract a simple descriptive statistic (mean, median, mode) with Python:

n_num = [1, 2, 3, 4, 5]
n = len(n_num)
get_sum = sum(n_num) 
mean = get_sum / n 
print("Mean / Average is: " + str(mean)) 
n_num = [1, 2, 3, 4, 5] 
n = len(n_num) 
if n % 2 == 0: 
	median1 = n_num[n//2] 
	median2 = n_num[n//2 - 1] 
	median = (median1 + median2)/2
	median = n_num[n//2] 
print("Median is: " + str(median)) 
y= [11, 8, 8, 3, 4, 4, 5, 6, 6, 6, 7, 8] 
i = 0
while i < len(y) : 
	i += 1
d1 = dict(zip(y, L1)) 
d2={k for (k,v) in d1.items() if v == max(L1) } 
print("Mode(s) is/are :" + str(d2)) 

As you can see, it requires some degree of work. I find R to be more simple, but that’s because it’s a “high-level” language (far away from the original “0” and “1” binary system). Here’s how we get mean, median, and mode with R:

result.mean <- mean(x) print(result.mean)

median.result <- median(x) print(median.result)

result <- getmode(v) print(result)

Try not to get scared from these coding boxes. In fact, you should really think of them as a blessing. While you have to spend a little time getting familiar with these languages, they save us countless hours of sifting through data manually.

In many ways, they are the reason we even have business analysis. It would simply be too difficult to work with data without these languages helping us crunch and analyze them. Learning SQL, as well as Python or R, are technical skills a business analyst would regret not knowing.

It’s worth noting that while these are computer and software fluency skills, they’re obviously directly connected to data analysis skills as well.

Documentation: Hard Skill for a Business Analysis

Documentation in business analysis is the way to record requirements and specifications on paper to communicate with your team. This could be with the use of words, pictures, data, or other mediums. The rule of thumb with documentation is “use whatever you need to so the reader understands.”

The reason I say documentation is a hard skill is that it requires knowledge of markup languages and other communication techniques that are either right or wrong — which is unlike a soft skill that aren’t binary. You can learn the 5 most important documentation skills here.

If you have ever felt confused about what goals you need to achieve, then you’ve needed documentation. If you have ever misunderstood technical requirements for a product or feature, then you know the value of documentation. If you have ever felt like your superiors do not understand what they want, then you know why documentation is important.

By putting goals, methodologies, and systems on paper, teams get clarity and are thus more likely to succeed. This is why we say documentation is among the hard skills for a business analyst.


In all, the most important hard skills for a business analyst are, one more time:

  1. Data Analysis – with SQL, Python, and R
  2. Computer and Software Fluency – including a host of technical terminology
  3. Documentation – including relevant markup languages and correct us of communication principles

About the Author


Noah is the founder & Editor-in-Chief at AnalystAnswers. He is a transatlantic professional and entrepreneur with 5+ years of corporate finance and data analytics experience, as well as 3+ years in consumer financial products and business software. He started AnalystAnswers to provide aspiring professionals with accessible explanations of otherwise dense finance and data concepts. Noah believes everyone can benefit from an analytical mindset in growing digital world. When he's not busy at work, Noah likes to explore new European cities, exercise, and spend time with friends and family.


Scroll to Top