All articles

KajoData / Career & business

Business analyst, data analyst and BI developer: how the roles differ

I use a fictional increase in cancelled orders to compare three roles, their shared responsibilities and the boundaries a team needs to agree.

Kajo RudzińskiPublished Updated 14 min read

Three connected workbenches hold a process map, a magnifier and a reporting mechanism in pixel art.

A business analyst, a data analyst and a BI developer can all work on the same report. Each needs to communicate with its users, understand information and engage with the problem. The main difference lies in responsibility: what each person is expected to establish, deliver and maintain. A list of software names cannot reliably identify the role by itself.

I have worked in different analytical roles, and I find it useful to compare them through concrete tasks. I would avoid arranging the titles into a universal ranking of prestige or pay. Organisations use them differently. A technically capable business analyst and a BI developer who spends substantial time discussing user needs are both entirely plausible members of a team.

I will use a synthetic example to propose a working division. An online store notices more cancelled orders and wants to understand what is happening. This is a learning scenario rather than a client story or an implementation claim. My aim is to help you read vacancies, choose exercises and ask better questions about the responsibilities behind a title.

Compare the results each person owns

First, I would ask what each person is supposed to deliver. A business analyst might help define a necessary change and the conditions for accepting it. A data analyst might investigate the scale of the issue and explain the findings. A BI developer might build a reporting solution that reproduces agreed calculations on new data. Treat this as a discussion framework, with local responsibilities still to be agreed.

In our store, those results depend on one another. The report needs a cancellation definition. The analysis needs records matching that definition. A process change needs an assessment of whether it helped. I would want an owner for each part and a named business decision maker. Without that agreement, collaboration can become a group of people waiting for someone else to resolve the next question.

Role Main question in this example Possible deliverable
Business analyst What change do we need and how do we describe it? Agreed needs, rules and acceptance conditions
Data analyst What do the records show, and what remains uncertain? Cancellation analysis with limitations
BI developer How do we deliver the agreed result repeatedly? A model and report with an update process

A business analyst clarifies the need for change

IIBA describes business analysis in terms of identifying needs and recommending solutions that provide value through change. In this example, I would start by asking who needs fewer cancellations and why. Warehouse management, customer support and the store owner may each see a different part of the same issue. Their concerns need to become explicit.

The business analyst could describe the process from order placement to closure. Where can a customer withdraw? When does the system mark an unpaid order? Who changes a status after contacting the customer? A process map can reveal several events hiding behind one label. I would resolve those distinctions before a report starts combining them into one apparently straightforward number.

The deliverable might include an agreed definition and a proposed change to a form or handling process. It also needs acceptance conditions: what must happen for the solution to satisfy the need? Holding meetings alone is insufficient evidence of that result. A meeting is a way to obtain information. Its usefulness depends on whether the agreements enable the next stage of work.

A data analyst investigates the pattern and its limits

Microsoft’s data analyst description also includes preparing data, modelling, reporting and working with stakeholders. That helps explain why responsibilities can overlap. In our scenario, the analyst would examine order counts, how cancellations are recorded and their change over time. I would first check consistent units and periods before trying to explain an apparent trend.

Suppose ten out of one hundred orders were cancelled in the first week, compared with fifteen out of three hundred in the second. The number of cancellations increased, while their share fell from 10% to 5%. Both descriptions are correct. I would show them together and ask whether the decision concerns support workload or the chance of cancellation among orders. The appropriate measure depends on that purpose.

An analysis should also explain what remains unknown. Without cancellation reasons, we cannot automatically blame the warehouse. We might identify a concentration in one category or period and propose a further check. Explaining a result includes separating an observation from a hypothesis. A chart moving after a process change does not, by itself, establish that the change caused the movement.

A BI developer builds a repeatable solution

In this example, a BI developer could prepare the data supply, model and calculations matching the agreement. Some work may belong to data engineering. I would establish which components already exist, who operates them and where the reporting team’s responsibility ends. A finished screen is only one visible part of a working process, and its appearance can hide missing operational decisions.

Microsoft’s Power BI modelling guidance distinguishes fact and dimension tables and stresses consistent data grain. Orders and order lines have different grain. Repeating the order amount against every line can inflate a total. The model should protect the calculation from that mistake rather than depending on every report reader to notice the duplication and compensate for it mentally.

The solution also needs to work on subsequent days. How does anyone know the records are current? What happens when a source column changes? Who investigates a failed refresh? These duties may belong to the BI developer, but they should be stated explicitly. The technical work can therefore extend well beyond selecting a visual and changing the colour of its bars.

A shared number needs a shared definition

Consider an order containing three products. The customer cancels one and receives the other two. Is that a cancelled order, a cancelled line or a partially fulfilled order? I would write down the alternatives and ask the process owner which definition supports the decision. Technical convenience alone should not decide what the business term means or how partial cases enter the report.

The business analyst might gather rules and exceptions. The data analyst might show how the figures differ between definitions. The BI developer might implement the agreed version and make it repeatable. This proposed division still needs names attached to it. In a small team, one employee may perform all three steps, but the different decisions still need to be made and recorded.

I would keep several small acceptance cases next to the definition: a full cancellation, a partial cancellation, an open order and a return after delivery. State the expected treatment of each. That creates a shared reference for discussion and review. A heading saying cancellations cannot establish whether two implementations actually count the same events or use the same denominator.

Tools do not draw fixed boundaries

Excel can support requirements work, a one-off analysis or a report prototype. SQL can help any of the three people inspect a source. Power BI can be used by both an analyst and a developer. I would therefore avoid assigning someone to a role solely because a particular program appears in their daily work or in the skills section of their CV.

What matters is the responsibility exercised through the tool. Are you checking a sample for a meeting, answering a question about cancellation rates or maintaining a shared model for many reports? Those tasks can require different depths of SQL knowledge despite the same technology name. That distinction is useful to clarify during recruitment, especially when a vacancy lists tools without explaining the expected work.

Technical depth should not be equated automatically with the value of a contribution. A sound definition can prevent a team from building the wrong solution. A reliable model can prevent the same error in several analyses. A clear explanation can support a decision. In our exercise, all three contributions matter and depend on each other. There is little benefit in turning that relationship into a contest.

A process map, data inspection and a reporting mechanism form three connected parts of one bridge.

Communication serves different purposes

A business analyst may need to reveal conflicting expectations between sales and the warehouse. A data analyst may need to explain why cancellation counts and rates move in opposite directions. A BI developer may need to agree when a source is ready for refresh. Each conversation needs a concrete question and a check that the other person understands what has been decided.

I would bring an example, a proposal and a decision to resolve. “A line cancelled after payment enters this category; should the measure include it?” is easier to assess than a broad request to clarify the business. Otherwise, everyone can agree with the same general phrase during a meeting and implement a different meaning afterwards. Concrete cases make the disagreement visible early enough to resolve.

The agreement needs to be available to the people doing the work. If only one meeting participant knows the definition, their holiday can block a report correction. I would keep a short record beside the relevant process or model. The format matters less than whether another person can find the rule, recognise its current version and understand who can clarify an exception.

Report maintenance needs its own division of work

Microsoft’s refresh documentation explains behaviour according to how a model accesses data. For an imported model, an updated source does not automatically mean the new records have reached the report. In our example, I would agree the required freshness and display the last successful update. I would avoid promising real-time reporting without examining the actual architecture.

During a source failure, one person may diagnose the data supply while another informs readers about the limitation. A change in the meaning of an order status also needs a business decision. Separate a technical incident from a changed rule. Both may produce similar symptoms in a chart, but resolving them can require different people and different acceptance criteria.

Further development needs an owner as well. Who decides whether to add a breakdown? Who examines its effect on existing measures? Who confirms that it still matches the definition? Even a small team can name those responsibilities. An elaborate hierarchy is unnecessary, but it helps to prevent a situation where every participant expects somebody else to decide what happens next.

How I would read a job advertisement

I would extract the verbs from the duties: gather requirements, investigate processes, analyse, model, develop reports, deploy and maintain. Then I would ask for an example of a recent project. A title can be broad, while a specific account shows the work between the first request and the accepted result. I would listen particularly for decisions the person is expected to make independently.

Ask about support. Is there a data owner? Who helps settle definitions? Does a junior receive a review before publishing a solution? A tool list cannot tell you whether the environment supports learning. Independence without access to necessary knowledge is a different challenge from building a similar report alongside experienced colleagues who can discuss the decisions and inspect the result.

Pay attention when a vacancy combines roles. If it includes requirements, warehouses, models, reports and user support, ask about scale and priorities. That combination may make sense in a small organisation. You still need to know what matters most, how many solutions already exist and what responsibility for daily operation means. A long list becomes more informative when attached to actual expectations.

Compare pay against comparable responsibilities

I would avoid giving these titles a fixed salary order. A meaningful comparison needs experience level, location, responsibilities, employment terms and the period covered by the evidence. An amount quoted in an old article is not a current offer to a beginner. Adding developer to a title also fails to explain why two particular opportunities differ in pay or expectations.

If you are gathering information before changing jobs, compare similar positions and record their scope. Two advertisements with identical titles can expect different levels of independence. Alongside the terms, note who owns production operation, who you would work with and which skills must be ready on the first day. That fuller comparison supports a much more useful discussion than one headline amount.

I would also avoid choosing a first role solely because of the most impressive figure found online. Consider whether you can demonstrate the required skills and whether you want to perform those duties regularly. That does not resolve every career decision, but it reduces the risk of selecting a title whose everyday work is very different from what you imagined while reading about the role.

Recognise scope changes before they become disputes

Return to the store. The original report describes cancellations, but a user now wants to predict which new orders will be cancelled. That changes the task substantially. It needs a different assessment of data, methods and ownership of the output. I would establish the new goal before promising to add another column by the original deadline. A small interface change can conceal a large responsibility change.

The same applies if someone wants to automatically stop orders flagged by the report. A summary would then control a process. Conditions for action, handling mistaken decisions and authorisation of that use all need agreement. Analytical skills remain relevant, but preparing a report does not mean its author independently accepts responsibility for every later operational use chosen by the organisation.

Good collaboration includes being able to name that boundary. Any of the three people can notice the scope change and request a decision. I would expect a short explanation of what changed, its implications and what needs to be agreed before continuing. That keeps the discussion focused on a concrete choice instead of an argument about who should have anticipated a new use.

Hand over the limitations with the solution

At acceptance, I would ask the user to complete one practical task using the material. Can they find the cancellation share for a chosen week? Can they see how partial cancellations are treated? Do they notice the update date? This walkthrough can reveal places where a correct calculation still invites an incorrect reading. A report needs to communicate its definition as well as its number.

Include contacts for the definition owner and the person responsible for operation. Describe situations requiring another assessment, such as a new order status or a replacement sales system. This connects the different responsibilities into one usable solution. Readers should know what they can do independently and which changes require returning to the team, rather than discovering the boundary only when something goes wrong.

Try each direction through a small exercise

Take the synthetic cancellation problem and prepare three small deliverables. First, describe the user’s need and define cancellation. Next, present a count and rate with an interpretation limit. Finally, propose a recurring report structure and a way to recognise stale data. You can explore the distinctions without building a full production system, and you will have something concrete to discuss afterwards.

Record which part interested you and where you became stuck. Did you enjoy resolving process rules, investigating an unexpected number or building something that survives a changed file? A preference guides further practice without becoming a personality diagnosis. Every direction still needs communication and a willingness to check assumptions. Enjoying one task does not remove the need to understand how it connects with the others.

I would attach a short account of my decisions and request feedback from someone doing the work that interests me. If you need a starting point, follow the small analytical project exercise. The career discussion will then have evidence behind it. You can talk about work you performed and choices you made, rather than comparing titles with no shared example.

Key takeaways

Does a business analyst need to code?

It depends on the position. SQL or other technical tools may be useful, while understanding needs and describing change remain central. Read the actual duties rather than assuming a technical level from the title.

Does a BI developer only design report visuals?

The role can include data preparation, modelling, measures, publishing and maintenance. Visual design is one part. Responsibilities shared with data engineering and administration need agreement within the organisation.

Which role is best for a beginner?

Compare your skills with the real duties and the support available in the team. There is no universal order. A small project demonstrating the work you want to do is a useful starting point.

AI was used in an automated way while working on this article. If you want to learn how to do it too, check out this project.

Kajo Rudziński

Newsletter KajoData

Let’s keep in touch.

I write about data analysis, learning and changing careers. My newsletter and the sign-up form are in Polish. If that works for you, I’d be glad to see you there.