Build a Pipeline-to-Cash Business Case

Identify revenue leakage across disconnected enterprise systems using Power BI.

Introduction

30 Second Summary

Every enterprise runs on multiple systems. Sales tracks deals in one tool, finance invoices in another, and delivery manages projects in a third. When nobody connects the dots, revenue slips through the cracks.

In this project, you will load CSV data representing three disconnected enterprise systems into Power BI, discover revenue leakage that no single system reveals, and deliver a stakeholder-ready business case with findings, root cause analysis, and recommendations.

What You'll Build

You'll walk into a meeting with leadership, show them the exact dollar amount their disconnected systems are costing them, and hand over a plan to fix it.

By the end of this project, you'll have:

  • A revenue leakage figure with a specific dollar impact you can present to stakeholders, backed by a Power BI dashboard as your evidence.
  • A root cause diagnosis tracing the problem to a systems integration gap between CRM and ERP, with three actionable recommendations leadership can act on.
  • A completed Jira sprint demonstrating end-to-end requirements management from stakeholder need to delivered insight.
  • Secret Mission: Add a consultant workload analysis using activity data to surface over-allocated resources and strengthen your recommendation for PSA integration.

Are there any prerequisites?

You need Power BI Desktop installed on a Windows machine, basic familiarity with loading data and creating visuals in Power BI, and foundational SQL knowledge.

You'll set up a free Jira Cloud account during the project. No prior Jira experience is required.

Before We Start

Before We Start...

Before we dive in, let's lock in what you're about to solve and why it matters. This project delivers something to leadership that goes beyond a dashboard, so you need to be clear on the business problem and the actual deliverable before any hands-on work begins.

Set Up Jira and Organize Your Data Files

Before you can analyze anything, you need two things in place: a requirements management tool to track your work, and source data organized so Power BI can find it.

In this step, you will create a free Jira Cloud workspace for tracking your analysis as user stories, confirm Power BI Desktop is ready, and organize your Kaggle CSV files into a clean folder structure.

In this step, get ready to:
  • Create a free Jira Cloud account with a Scrum project for requirements tracking.
  • Confirm Power BI Desktop launches and is ready for data import.
  • Organize your downloaded CSV files into a dedicated project folder.
Create your free Jira Cloud account

Jira is an agile project management tool. You will use it to manage your analysis as a sprint of user stories, just like a real BA engagement.

  • Open this link in a new browser tab to go to the Jira free signup page:
https://www.atlassian.com/try/cloud/signup?bundle=jira-software&edition=free
  • Enter your email address and click Sign up. You can also continue with Google, Microsoft, Apple, or Slack.
  • Check your inbox for a verification email from Atlassian. Click the link or enter the verification code to confirm your account.
  • When prompted to name your site, enter a short name such as yourname-synerg. This becomes your site URL (e.g., yourname-synerg.atlassian.net).

Pick your site name carefully

On the free plan, you cannot change your site URL after creation. Use 3 or more lowercase letters and numbers. Hyphens are allowed in the middle.

  • Atlassian may ask a few onboarding questions about your team size and role. Answer them to proceed.
  • When prompted to select a project template, choose the Scrum template.
  • In the project name field, enter Pipeline to Cash Analysis.
  • Click Create to finish setting up your project.

You should now see your empty Scrum board. There are no stories or sprints yet.

What is a Scrum board?

A Scrum board is a visual tool that shows work items moving through stages like To Do, In Progress, and Done. You will use it in the next step to track each piece of your analysis as a user story through a sprint.

Project creation failed?

If you see an error during project creation, try opening the signup page in an incognito/private browser window. Make sure your project name is unique within your site.

help me set up my Jira Cloud account and create a Scrum project

Confirm Power BI Desktop is ready

Power BI Desktop is the tool you will use to import, model, and visualize the enterprise data. You already have it installed, so you just need to confirm it opens correctly.

  • Press Windows key to open your search bar.
  • Type Power BI Desktop and press Enter to open it.
  • Verify you see the Home ribbon at the top with a Get Data button. This confirms Power BI is ready for data import.

Why confirm Power BI now?

You will use Power BI heavily in Step 3 to import CSVs, build relationships, and create DAX measures. Confirming it launches now means you will not hit a blocker mid-analysis.

Power BI Desktop not opening?

Power BI Desktop is a free Windows application. If it is not installed, download it from the Microsoft Store or from powerbi.microsoft.com. You do not need a Power BI Pro license for this project.

help me install or troubleshoot Power BI Desktop

Organize your data files into a project folder

The Kaggle dataset you downloaded contains multiple CSV files representing different enterprise systems. You need to organize the five relevant files into a dedicated folder so Power BI can import them cleanly.

  • Create a new folder on your desktop called pipeline-dashboard-data.
  • Copy these 5 files from your Kaggle download into the pipeline-dashboard-data folder:
  • account.csv
  • opportunity.csv
  • order.csv
  • order_items.csv
  • user.csv
  • Keep tasks.csv separate from this folder. You will use it later in the Secret Mission.
  • Confirm all 5 files are in the folder by opening pipeline-dashboard-data in File Explorer. You should see exactly 5 CSV files listed.

Why only these 5 files?

The Kaggle dataset includes other files like lead.csv, contact.csv, and event.csv. These do not contribute to the pipeline-to-cash narrative. Keeping only the relevant tables reduces noise and makes your Power BI model cleaner.

Not sure which files you downloaded?

The Kaggle dataset is called "Sample Sales CRM Data." If you have not downloaded it yet, visit Kaggle, search for that dataset, and download the full ZIP. Extract it and copy the 5 files listed above into your folder.

help me find and download the correct Kaggle dataset

Before you move on, take a quick prediction. When you open Power BI Desktop and click Get Data in the next step, what data source type do you think you will choose for CSV files?

Your workspace is ready. You have a Jira project to track requirements, Power BI Desktop confirmed working, and your source data organized in one place. Next up, you will define user stories that translate leadership questions into measurable outcomes and start your first sprint.

Define Requirements and Start Your Sprint

Your environment is ready and your data files are organized. Now comes the question that separates a junior analyst from a senior BA: before you touch data, what does "done" look like?

At the senior level, requirements are not feature lists. They are business questions that leadership needs answered. Each user story you write in this step maps to a specific stakeholder, their decision, and what they need to see to make it.

In this step, get ready to:
  • Create 4 user stories that translate leadership questions into measurable outcomes.
  • Start a sprint to track your work from backlog to done.
  • Signal which story you are working on first.
Create your user stories in the backlog

Each story represents a question from a specific executive. Writing requirements this way forces you to think about who needs the answer, what decision it informs, and what format makes it actionable.

  • In your Jira project, click Backlog in the left sidebar to open the backlog view.
  • Click + Create at the bottom of the backlog section to create your first story.
  • Change the issue type to Story using the type dropdown on the left of the new item.
  • Enter the summary: Pipeline Visibility.
  • Press Enter to create the story, then click on it to open the detail panel.
  • In the Description field, paste: As VP of Sales, I need to see total pipeline value and deal count by stage so I can forecast quarterly revenue.

Why write stories this way?

The format "As [role], I need [capability] so I can [decision]" is a standard user story template from Agile methodology. It keeps every requirement anchored to a real person and a real business outcome.

A dashboard with no stakeholder context is just a chart. A dashboard built to answer a specific leadership question is evidence.

Now repeat the process for the remaining three stories. Click + Create each time, set the type to Story, enter the summary, and add the description.

  • Story 2 summary: Revenue Reconciliation.
  • Story 2 description: As CFO, I need to see closed-won pipeline compared to actual booked orders so I can identify revenue that was promised but never invoiced.
  • Story 3 summary: Rep Performance.
  • Story 3 description: As Head of Delivery, I need to see which reps are closing deals vs. which have stalled pipeline so I can allocate consulting resources.
  • Story 4 summary: Findings and Recommendations.
  • Story 4 description: As CEO, I need a summary of key findings with root cause analysis and recommended next steps so I can make investment decisions about system integration.

Your backlog should now list all four stories. Scroll through and confirm each one has both a summary and a description.

Don't see the Story type?

If the type dropdown only shows Task, your project may be using a simplified scheme. Click the type icon on the created item to change it to Story after creation. On Scrum templates, Story is available by default.

Help me find the Story issue type in my Jira project.

Create and start your sprint

A sprint is a time-boxed iteration where you commit to delivering specific stories. Starting a sprint moves those stories from "planned" to "active" and gives you a board to track progress.

  • In the Backlog view, click Create sprint.
  • Drag all 4 stories from the backlog into the new sprint section that appeared above.
  • Click Start sprint at the top of the sprint section.
  • In the dialog that appears, update the sprint name to Sprint 1 - Pipeline to Cash.
  • Set the duration to 1 week using the end date picker.
  • Click Start.

Jira takes you to the Board view. You should see all 4 stories in the To Do column.

What is a Scrum board?

A Scrum board visualizes work across columns that map to statuses: To Do, In Progress, and Done. Dragging a story between columns updates its status.

This is how real delivery teams track sprint progress. You are demonstrating that you can manage requirements end-to-end, not just write them.

Move your first story to In Progress

Starting work on Story 1 signals that you are building the pipeline model first. This is the foundation that all other stories depend on.

  • On the board, find the Pipeline Visibility card in the To Do column.
  • Drag it to the In Progress column.

Before you check the final state, what should your board look like right now? Think about how many stories should be in each column.

You should see 1 story in In Progress (Pipeline Visibility) and 3 stories in To Do (Revenue Reconciliation, Rep Performance, Findings and Recommendations).

Board is empty after starting the sprint?

This means the stories were not added to the sprint before you clicked Start. Go back to Backlog in the left sidebar and drag your stories into the active sprint section at the top.

Help me get my stories onto the sprint board.

Your sprint is live and your requirements are defined. Next up, you will import data into Power BI, build the star schema model, and assemble the dashboard that serves as evidence for your findings.

Import, Model, and Build the Dashboard

Your sprint is running and your stories define what leadership needs to see. Now it is time to build the evidence base.

The data you need lives in 5 separate CSV files representing three disconnected enterprise systems: CRM (opportunities), ERP (orders), and shared reference data (accounts, users). No single file tells the full story. In this step, you connect them into a star schema model, write DAX measures to quantify the business, and assemble a dashboard that serves as your evidence base for the findings you will deliver in the next step.

In this step, get ready to:
  • Import 5 CSV files into Power BI and filter account data to Healthcare clients only.
  • Build a star schema with relationships connecting all tables and create 7 DAX measures.
  • Assemble a single-page dashboard showing the pipeline-to-cash narrative.
Import and model the data

Each CSV represents a table from a different enterprise system. You will load them into Power BI Desktop, filter the account table to Healthcare clients (scoping the analysis to biopharma-relevant accounts), then connect the tables with relationships so Power BI can join them automatically.

  • In Power BI Desktop, click Get Data on the Home ribbon.
  • Select Text/CSV.
  • Navigate to the pipeline-dashboard-data folder on your Desktop.
  • Select account.csv and click Open, then click Load.
  • Repeat for opportunity.csv, order.csv, order_items.csv, and user.csv.

You should see all 5 tables listed in the Fields pane on the right side of the screen.

Don't see all 5 tables?

Make sure you loaded each file individually via Get Data then Text/CSV. If a table is missing, repeat the import for that specific CSV.

Help me troubleshoot my missing tables

Now you will filter the account table to keep only Healthcare rows. This scopes the entire analysis to biopharma-relevant clients.

  • Click Transform data on the Home ribbon to open Power Query Editor.
  • In the left pane of Power Query Editor, select the account query.
  • Click the dropdown arrow on the industry column header.
  • Uncheck Select All, then check only Healthcare.
  • Click OK.
  • Click Close & Apply on the Home ribbon.

Power Query generates a filter step. The underlying M code looks like this:

= Table.SelectRows(#"Changed Type", each ([industry] = "Healthcare"))

Why filter to Healthcare?

This project simulates a biopharma consulting firm. Filtering to Healthcare accounts keeps the dashboard contextually relevant and reduces data volume for a cleaner demo. In a real engagement, you would scope by the client's industry or portfolio segment.

Notice the row count in the bottom-left corner of Power BI has dropped for the account table. Only Healthcare accounts remain.

Next, build the relationships that connect these tables into a star schema.

  • Click the Model view icon in the left sidebar (the icon with three connected boxes).
  • On the Modeling tab, click Manage relationships, then click New.
  • In the first dropdown, select opportunity and highlight the account_id column.
  • In the second dropdown, select account and highlight the id column.
  • Confirm cardinality is set to Many to one (*:1).
  • Click OK.
  • Repeat the process to create these additional relationships:
  • order.account_id to account.id (many-to-one).
  • order_items.order_id to order.id (many-to-one).
  • opportunity.owner_id to user.id (many-to-one).
  • order.owner_id to user.id (many-to-one). For this one, uncheck the Make this relationship active checkbox before clicking OK. This makes it inactive.

Why is the order-to-user relationship inactive?

Power BI only allows one active relationship between any two tables. Since opportunity already has an active relationship to user (via owner_id), the order-to-user relationship must be set as inactive.

In Model view, you will see it as a dashed line. If you ever need it for a specific measure, you can activate it with the USERELATIONSHIP DAX function.

Check your Model view. You should see 5 table cards with solid relationship lines connecting them in a star pattern, plus one dashed line from order to user.

Create the DAX measures

With the model in place, you need calculations that summarize the data into business metrics. DAX measures compute on the fly based on whatever filters the user applies (slicers, cross-highlights).

  • Switch to Report view by clicking the chart icon in the left sidebar.
  • On the Modeling tab, click New Table.
  • In the formula bar that appears, type the following and press Enter:
Measures = {BLANK()}

What is a measures table?

This creates an empty table whose only purpose is to hold your DAX measures. It keeps them organized in the Fields pane rather than scattered across data tables.

You should see a new Measures table appear in the Fields pane.

  • Select the Measures table in the Fields pane.
  • On the Modeling tab, click New Measure.
  • Type the following formula in the formula bar and press Enter:
Pipeline Value = SUM(opportunity[amount])
  • Click New Measure again. Enter this formula:
Won Pipeline = CALCULATE(SUM(opportunity[amount]), opportunity[stage] = "Closed Won")
  • Click New Measure again. Enter:
Deal Count = COUNTROWS(opportunity)

What do these pipeline measures do?

Pipeline Value sums every opportunity's dollar amount. Won Pipeline narrows that to only deals where stage equals "Closed Won" using CALCULATE to modify the filter context.

Deal Count counts the total rows in the opportunity table.

To verify these work, drag Pipeline Value from the Measures table onto the canvas. A card visual appears with a dollar amount. Delete it after confirming.

  • Continue creating measures. Click New Measure and enter:
Booked Revenue = SUM(order_items[unit_price])
  • Click New Measure and enter:
Revenue Leakage = [Won Pipeline] - [Booked Revenue]

What is Revenue Leakage?

This is the gap between what the CRM says was won and what the ERP actually invoiced. A non-zero value means deals marked "Closed Won" never generated corresponding orders. This is the core finding your business case will quantify.

  • Click New Measure and enter:
Win Rate = DIVIDE(CALCULATE(COUNTROWS(opportunity), opportunity[stage] = "Closed Won"), [Deal Count])
  • Click New Measure and enter the final measure:
Avg Deal Size = DIVIDE([Pipeline Value], [Deal Count])

What do the ratio measures do?

Win Rate divides won deals by total deals to show conversion efficiency. Avg Deal Size divides total pipeline by deal count.

Both use DIVIDE for safe division (it returns blank instead of an error when the denominator is zero).

You should now see 7 measures listed under the Measures table in the Fields pane.

✔️ Awesome, I've got everything!

Great. Make sure you have saved your Power BI file before moving on.

ⓧ I'd like to double check the full code

Here are all 7 measures plus the table definition. Confirm each matches what you entered:

Measures = {BLANK()}

Pipeline Value = SUM(opportunity[amount])

Won Pipeline = CALCULATE(SUM(opportunity[amount]), opportunity[stage] = "Closed Won")

Booked Revenue = SUM(order_items[unit_price])

Deal Count = COUNTROWS(opportunity)

Revenue Leakage = [Won Pipeline] - [Booked Revenue]

Win Rate = DIVIDE(CALCULATE(COUNTROWS(opportunity), opportunity[stage] = "Closed Won"), [Deal Count])

Avg Deal Size = DIVIDE([Pipeline Value], [Deal Count])
Assemble the dashboard and update your sprint

Your measures are ready. Now you will arrange them into a single-page dashboard that tells the pipeline-to-cash story from left to right: pipeline in, conversion in the middle, revenue out on the right.

  • In Report view, click the page title area at the top and type Pipeline to Cash: Healthcare Portfolio.
  • Build the left zone (Pipeline): select the Clustered bar chart visual from the Visualizations pane. Drag opportunity[stage] to the Y-axis and Deal Count (from Measures) to the X-axis. Position it on the left third of the canvas.
  • Add a Card visual below it. Drag Pipeline Value into its Fields well.

You should see a bar chart showing deal counts by stage and a card displaying the total pipeline dollar amount.

  • Build the center zone (Conversion): add two Card visuals in the center area. Drag Win Rate into one and Avg Deal Size into the other.
  • Add a Clustered bar chart below them. Drag account[name] to the Y-axis and Won Pipeline to the X-axis.
  • In the Filters pane for this visual, expand account[name], change filter type to Top N, set it to Top 10, and drag Won Pipeline into the By value field.
  • Click Apply filter.
  • Build the right zone (Revenue): add two Card visuals on the right. Drag Booked Revenue into one and Revenue Leakage into the other.
  • Add a Clustered bar chart below them. Drag account[name] to the Y-axis and Booked Revenue to the X-axis. Apply the same Top N filter (Top 10 by Booked Revenue).

Now apply red conditional formatting to the Revenue Leakage card to make the problem visually obvious.

  • Select the Revenue Leakage card visual.
  • In the Visualizations pane, click the Format visual icon (paint brush).
  • Expand Callout values. Next to Color, click the color swatch and choose a red colour.
  • Finally, add slicers for filtering. Click an empty area of the canvas, then select the Slicer visual. Drag account[name] into its Field well. Position it at the top.
  • Add a second Slicer and drag user[name] into it. Position it beside the first slicer.
  • Save your Power BI file by pressing Ctrl+S.

Before you verify your dashboard, predict: do you expect the Revenue Leakage card to show zero or a non-zero number?

Look at your Revenue Leakage card. It should display a non-zero dollar amount in red. This confirms that some deals marked "Closed Won" in the CRM never generated corresponding orders in the ERP. That gap is the core problem your business case will address.

Why is the leakage non-zero?

The dataset has no direct foreign key from opportunity to order. Opportunities and orders are linked only through account_id at the aggregate level.

In a real enterprise with disconnected CRM and ERP systems, this is exactly how revenue goes missing. There is no automated handoff from "Closed Won" to order creation.

Revenue Leakage showing zero or blank?

Confirm your Won Pipeline measure references opportunity[stage] = "Closed Won" with exact capitalization. Check that the account filter in Power Query is set to Healthcare.

Help me debug my Revenue Leakage measure

Now update your Jira board to reflect the completed work.

  • Switch to your Jira board in the browser.
  • Drag Story 1 (Pipeline Visibility), Story 2 (Revenue Reconciliation), and Story 3 (Rep Performance) to the Done column.
  • Drag Story 4 (Findings and Recommendations) to the In Progress column. This signals you are about to start on the final deliverable.

Your board should show Stories 1-3 in Done and Story 4 in In Progress.

Your dashboard is complete. It shows the full pipeline-to-cash narrative and reveals a measurable gap between won pipeline and booked revenue. Next, you will do the senior BA work: interpret this evidence, diagnose the root cause, and write the recommendations that leadership can act on.

Document Key Findings and Recommendations

Your dashboard is built, and the Revenue Leakage card is showing a non-zero dollar amount. That number is the signal.

A junior analyst would stop here and present the dashboard. A senior BA interprets the evidence, diagnoses why it happened, and delivers recommendations that leadership can act on. The dashboard is your proof. Your findings document is the actual deliverable.

In this step, get ready to:
  • Analyze dashboard evidence and document 2-3 key findings with business impact.
  • Diagnose the root cause and write actionable recommendations.
  • Document next steps and close your final sprint story.
Analyze your dashboard and document key findings

Each finding follows a consistent structure: what you observed, what it costs the business, and which visual proves it. This structure makes your findings auditable and actionable.

  • Return to your Power BI Desktop dashboard page titled Pipeline to Cash: Healthcare Portfolio.
  • Look at the Revenue Leakage card on the right side of your dashboard. Note down the dollar amount displayed.
  • Calculate the leakage as a percentage: divide the Revenue Leakage value by the Won Pipeline value and multiply by 100.
  • Look at the Won Pipeline by account name bar chart in the center zone. Compare it to the Booked Revenue by account name chart on the right.
  • Identify whether the leakage is concentrated in a few accounts or spread evenly across many.
  • Use the user.name slicer to filter by individual reps. Check whether specific reps have disproportionately higher leakage than others.

You now have three data points: the overall leakage amount and percentage, which accounts are affected, and whether certain reps are associated with higher leakage.

Why structure matters for findings

Leadership needs to act on your findings, not just read them. The Finding-Impact-Evidence structure makes each one self-contained: a stakeholder can read a single finding and understand both the problem and the proof without scrolling through your entire report.

  • Create a second page in your Power BI report by clicking the + icon at the bottom of the Report view, next to your existing page tab.
  • Double-click the new page tab at the bottom and rename it to Findings and Recommendations.

You should see a blank canvas with the page tab renamed at the bottom.

  • Insert a text box by going to the Insert tab on the ribbon and clicking Text box.
  • Drag the text box to fill most of the page canvas.
  • Type your findings using this structure for each one:

What should each finding look like?

Use this format for each of your 2-3 findings:

  • Finding: One sentence stating what you observed (e.g., "Revenue leakage of $X exists between CRM won deals and ERP booked orders for Healthcare accounts.").
  • Business Impact: What this costs or risks (e.g., "This represents Y% of won pipeline that was never invoiced, indicating lost or delayed revenue.").
  • Evidence: Which visual or measure proves it (e.g., "Revenue Leakage card and comparison of Won Pipeline vs Booked Revenue bar charts.").
  • Write Finding 1 about the overall revenue leakage amount and percentage.
  • Write Finding 2 about whether the leakage is concentrated in specific accounts or spread across many.
  • Write Finding 3 (if applicable) about whether specific reps show disproportionate leakage.

Your text box now contains 2-3 structured findings, each with a clear statement, business impact, and evidence reference.

Not sure what numbers to use?

The exact dollar amounts depend on the Healthcare-filtered subset of the Kaggle dataset. If your Revenue Leakage card shows a number, that is your Finding 1 value. Divide it by Won Pipeline to get the percentage.

If both charts look identical across accounts, your data may not have significant account-level variation. Focus your Finding 2 on whether the leakage is evenly distributed or skewed toward the largest accounts.

help me interpret my Revenue Leakage dashboard for findings

Write the root cause analysis and recommendations

Findings tell leadership what is happening. The root cause tells them why. Recommendations tell them what to do about it.

  • Below your findings in the same text box, add a blank line and type a Root Cause heading.
  • Type the following root cause statement:

"CRM (Salesforce) and ERP (NetSuite) are not integrated. There is no automated handoff from 'Closed Won' opportunity to order creation. Deals can be marked won in the CRM without triggering invoicing in the ERP."

Why this root cause?

The dataset has opportunities and orders as separate tables linked by account_id but no direct opportunity-to-order foreign key. This structural gap mirrors what happens in real enterprises: the CRM tracks deals and the ERP tracks invoicing, but nothing enforces that a won deal becomes an order.

In the real world, this creates exactly the leakage you see. Reps mark deals won and move on, while Finance never receives the signal to invoice.

  • Below the root cause, add a Recommendations heading.
  • Type Recommendation 1: "Implement an integration between Salesforce and NetSuite that automatically creates a draft order when an opportunity moves to Closed Won."
  • Type Recommendation 2: "Establish a weekly reconciliation report comparing won pipeline to booked orders, owned by Finance Operations, until the integration is live."
  • Type Recommendation 3: "Prioritize the top 3 accounts with highest leakage for immediate manual reconciliation to recover revenue."

Your text box now contains findings, root cause, and three actionable recommendations. Each recommendation is scoped differently: one is strategic (integration), one is operational (weekly report), and one is tactical (immediate manual action).

Why three levels of recommendation?

Senior BAs propose a portfolio of responses, not just one fix. The integration solves the problem permanently but takes months. The weekly report provides visibility while you wait. The manual reconciliation recovers revenue starting this week.

This layered approach shows leadership you understand both urgency and long-term investment.

Add next steps and close your sprint story

Next Steps signal where this analysis leads. They show leadership you are thinking beyond the current sprint.

  • Below your recommendations in the text box, add a Next Steps heading.
  • Type: "Phase 2: Expand this analysis to all industries beyond Healthcare."
  • Type: "Phase 3: Add PSA data (consultant utilization) to connect delivery capacity to pipeline growth."
  • Type: "Phase 4: Automate the dashboard refresh via scheduled data pipeline."

Your findings page is complete. It contains the full business case: findings, root cause, recommendations, and a roadmap.

  • Click any blank space on the report canvas to deselect the text box.
  • Save your Power BI file by pressing Ctrl+S (Windows).

You should see your Findings and Recommendations page tab at the bottom of the report, showing your complete structured document.

  • Switch to your Jira board in your browser.
  • Find Story 4 ("Findings and Recommendations") which is currently In Progress.
  • Drag it to the Done column.

Before you check, predict: how many stories should now be in the Done column?

All 4 stories are now in Done. Your sprint is fully delivered.

Story 4 not showing on the board?

Make sure you are viewing the Board view (not the Backlog view) in your Jira project. The board shows stories by status column.

If you see the story in the backlog but not the board, confirm your sprint is still active. An active sprint shows stories on the board automatically.

help me find and move my Jira story to Done

You have delivered a stakeholder-ready business case. Your findings are backed by evidence, your root cause is diagnosable, and your recommendations are layered for immediate and long-term impact. Next up, you will tackle a Secret Mission that strengthens your business case even further with consultant workload data.

Secret mission

Add Consultant Workload Analysis

Your recommendation mentions PSA integration in Phase 3. What if you could prove the concept right now? By bringing in activity data, you add a resource capacity dimension that strengthens your entire business case.

Clean Up Your Resources

Clean Up Your Resources

This project runs entirely locally (Power BI Desktop) and on a free-tier cloud service (Jira Cloud). There are no ongoing costs or billing to worry about.

Decide whether to keep your resources running, pause them to come back later, or delete them entirely.

Resources you used:

  • Jira Cloud site (free tier, no cost).
  • Power BI Desktop file (.pbix) saved locally.
  • pipeline-dashboard-data folder on your Desktop containing CSV source files.

Keep everything running

No action needed. Choose this if you plan to keep building on your dashboard or referencing the Jira board for interviews and portfolio conversations.

  • Your Jira Cloud site stays active as long as you log in periodically. Atlassian reserves the right to deactivate free sites for inactivity.
  • Your .pbix file and pipeline-dashboard-data folder are local. They stay on your machine until you move or delete them.

Pause - I'll come back to this later

Nothing is running or billing. Your Jira site is cloud-hosted (free) and your Power BI file is local. There is nothing to pause.

  • Close Power BI Desktop to free up memory.
  • Your Jira site remains accessible at any time. Log in at least once every few months to prevent Atlassian from deactivating it for inactivity.

Delete - I don't want to use this again

Remove all project resources and start fresh. Follow each item below to clean up completely.

  • Delete your Jira Cloud site by going to admin.atlassian.com/billing.
  • Select your billing account.
  • Under Subscriptions, find Jira Software and select Manage.
  • Select more actions then Deactivate. Confirm the deactivation. Free plan subscriptions are deactivated immediately.
  • Delete your local Power BI file. Find your .pbix file wherever you saved it and move it to the Recycle Bin (Windows).
  • Delete the source data folder. Right-click the pipeline-dashboard-data folder on your Desktop and select Delete.

Nice Work!

Nice Work!

You just delivered a senior BA business case from scratch. You took fragmented CSV data representing three disconnected enterprise systems, connected it in Power BI, and uncovered revenue leakage that no single system could show alone.

You've learned how to:

  • Identify and quantify revenue leakage between CRM and ERP systems by connecting pipeline data to actual booked orders, surfacing a specific dollar impact.
  • Deliver a stakeholder-ready business case with numbered findings, root cause analysis, and actionable recommendations that leadership can act on.
  • Manage an end-to-end analysis effort through a Jira sprint with user stories tied to leadership questions and a completed retrospective.
  • Secret Mission: Extended the analysis with a consultant workload dimension, proving the PSA integration concept and strengthening your recommendation with resource capacity evidence.

Ready to quiz yourself?