Back to Case Studies
Data Analytics12 WeeksBusiness AnalystPower BI · SQL · Excel

Sales Dashboard &
Revenue Analytics

A mid-size Indian electronics accessories company was selling 6 products on Amazon, Flipkart, and their own website — but their most-marketed product wasn't selling, and their revenue crashed every January to March. No one knew why. This is the full BA journey from problem discovery to a live dashboard that gave the team clear, data-driven answers.

65%
Revenue Drop — Jan to Mar
Every year, no explanation
Marketing Spend on Premium
Lowest-selling product
+41%
Revenue Growth (Jan–Mar)
After dashboard launch
₹38L
Slow-Moving Inventory Found
Cleared with targeted offers
01

Business Problem

Two problems hiding in plain sight — one product nobody was buying, and one season that killed revenue every year.

An Indian product-based company selling electronics accessories — phone cases (budget ₹299, mid-range ₹699, premium ₹1,499), earbuds (₹899), chargers (₹599), and screen protectors (₹199) — across Amazon, Flipkart, and their own website was generating around ₹9.2 Cr annual revenue. On paper, the business was doing okay. But underneath, two specific problems were quietly eating into growth.

Problem 1 — Wrong product getting all the money

The premium phone case (₹1,499) was receiving 3× more marketing budget than any other product — the Marketing Manager kept increasing ads assuming more visibility would fix the low sales. It didn't. The premium case consistently ranked last in units sold across all channels. Meanwhile, the budget case (₹299) was the top seller with almost no ad spend. Nobody had looked at this comparison side-by-side.

Problem 2 — Revenue dying every January to March

Every year, sales would fall by 65% between January and March compared to the festive season (October–November — Diwali, Christmas, New Year). The team would panic, run heavy discounts, overspend on ads, and still struggle. No historical data analysis had ever been done to understand the pattern, predict it, or plan inventory accordingly.

65%
Revenue drop Jan–Mar
vs. Oct–Nov peak
Last
Premium product rank in sales
Despite 3× ad spend
3
Platforms, no connected data
Amazon, Flipkart, Website
8–10h
Hours to build monthly report
All manual, in Excel
What Was WrongThe Real Impact
Premium phone case (₹1,499) getting 3× marketing budget but selling the least₹38 Lakhs worth of premium inventory piling up unsold; marketing money being wasted month after month
Revenue drops 65% every January–March but nobody knew why or how to plan for itTeam runs panic discounts in January cutting margins; orders wrong inventory for the slow season every year
Sales data from Amazon, Flipkart, and the website was never combined in real-timeAll decisions were made on 30-day-old data; problems were discovered too late to fix them
No product-level view of returns — some products had very high return ratesOne product was discovered to have a 34% return rate — meaning 1 in 3 units came back. Nobody knew.
Marketing Manager had no way to see which ad campaign led to actual salesAd budgets allocated based on gut feel, not actual revenue data from each channel
02

Stakeholder Identification

Identifying every person who was affected by the problem and whose buy-in was needed for the solution to work.

Before gathering requirements, I mapped out everyone who had a stake in this project — either because they owned data, made decisions based on sales numbers, or would be a daily user of the new dashboard. Understanding what each person cared about helped me ask the right questions and design a solution that everyone would actually use.

DesignationWhat They Wanted to KnowWhy They MatterPowerInterest
Sales ManagerHow much revenue are we making? Which product and channel is performing?Final approver; would use dashboard daily to track performanceHighHigh
Marketing ManagerWhich ads are actually driving sales? Where should I put the budget?Controlled the marketing spend causing the premium product wasteMedHigh
Product ManagerWhy is the premium product not selling? Should we change the price?Owned the product catalogue and pricing decisionsMedHigh
Finance ManagerWhat is our actual monthly revenue? What are we forecasting for next quarter?Needed accurate revenue data; approved the project budgetHighMed
Operations ManagerHow much inventory should we order? Which products need restocking?Responsible for stock planning — currently ordering wrong quantities each seasonMedMed

Power / Interest Grid

This grid helped me decide how much time to spend with each person and how to communicate with them. High power + High interest = involve them in every decision. High power + Low interest = keep them updated regularly but don't overwhelm them.

Manage Closely — involve in all decisions

· Sales Manager — final sign-off authority

· Finance Manager — budget and revenue owner

Keep Informed — update regularly

· Marketing Manager — data owner for ad spend

· Product Manager — pricing decisions

Keep Satisfied — check in on milestones

· Operations Manager — inventory planning user

Monitor — minimal engagement needed

· Senior Leadership — final dashboard recipient

03

Requirement Gathering

Finding out exactly what the business needs — using different techniques because different people hold different types of information.

Requirement gathering is about understanding the problem deeply before jumping to a solution. I used multiple techniques because interviews alone don't give the full picture — sometimes you need to sit and watch how people actually work, or look at the raw data yourself.

Technique UsedHow I Did ItWhat I Found
1:1 InterviewsSat with each of the 5 stakeholders separately for 30–45 minutes and asked structured questions about what they needed, what was frustrating them, and what success would look likeEach person had a different definition of 'sales performance'. Marketing was looking at orders; Finance was looking at revenue after returns; Sales was looking at units sold. All different.
Process ObservationSat with the Sales Manager for one full day and watched them build the monthly report from scratch — from downloading files to sending the final ExcelThe report took 8 hours and 40 minutes. First 5 hours downloading and copy-pasting data. Next 3 hours formatting. The report covered last month — not even the current week.
Document AnalysisReviewed the last 6 months of Amazon reports, Flipkart reports, website analytics exports, and the master Excel file the team usedFound that the premium phone case had a 6.2% conversion rate (only 6 out of every 100 people who saw it, bought it). The budget case had 27%. This was the first time this comparison had been made.
Workshop (Group Session)Ran a 2-hour session with Sales Manager, Marketing Manager, and Product Manager together to align on what success looks like and what the dashboard must showDiscovered they had never agreed on what counts as a 'sale' — some counted orders placed, some counted orders delivered. This needed to be fixed before any dashboard was built.
SurveySent a short 8-question survey to the broader sales team (7 people) to understand what they needed on a day-to-day basis72% said they needed to see channel-wise sales in real time. 65% said they wasted time downloading individual reports instead of doing actual sales work.

Sample Interview Questions — Sales Manager

Q1

Walk me through how you figure out what the total sales number is for this month right now.

Q2

When a product is underperforming, how do you currently find out? And how long does it take?

Q3

Which question do you get asked most often that you cannot answer quickly with the current data?

Q4

What does a good month look like vs. a bad month — in numbers, not just feeling?

Q5

If you had one screen you could check every morning, what are the 3 numbers you would want on it?

Key conflict uncovered: The Marketing Manager was running campaigns and measuring success by how many people clicked the ad. The Sales Manager measured success by how many orders were placed. The Finance Manager measured success by revenue after returns and refunds. These three numbers were all different — and the company had never realised they were measuring “sales” in three different ways. Aligning on one definition was the first major outcome of the requirement gathering phase.
04

As-Is Process Analysis

Documenting exactly how things work right now — before suggesting any changes. You cannot fix what you haven't fully understood.

The “As-Is” process is the current-state process — step by step, how does the team currently get from raw sales data to a business decision? I mapped this by watching the team work and asking them to describe every step. What I found was a process held together entirely by manual effort, with problems at almost every step.

StepWhat HappensWho Does ItThe Problem
Step 1At the start of each month, Amazon Seller Central report is downloaded as an Excel fileSales Manager / Team MemberDone once a month — so data is always 30 days old. No one checks mid-month.
Step 2Flipkart Seller Hub report is downloaded separately as another Excel fileSales ManagerDifferent column names than Amazon. Needs manual renaming every time before combining.
Step 3Website sales data exported from the e-commerce backend (Shopify)Operations TeamNobody has clear ownership. Sometimes exported on Day 2 of the month, sometimes Day 5.
Step 4All three files are manually copied and pasted into one master Excel sheetSales ManagerTakes 2–3 hours. Human errors like missed rows, wrong columns, or duplicate entries happen regularly.
Step 5Excel pivot tables are manually created to summarise product-wise and channel-wise numbersSales ManagerTakes another 2–3 hours. If a mistake was made in Step 4, the summaries are wrong.
Step 6A PowerPoint report is built from the pivot tables and emailed to leadershipSales ManagerThe report arrives on Day 7–10 of the new month. It covers last month. Decisions are made on data that is already old.
Step 7Marketing Manager adjusts ad spend based on the reportMarketing ManagerBy the time the report arrives, 1/3 of the new month is already over. Ad changes are too late.
Key observation: During the shadowing session, I timed the full monthly reporting process. Total time: 8 hours and 40 minutes — across 2 days. For a process that only produces last month's numbers. The Sales Manager said: “I spend so much time building the report that I barely have time to act on it.”
05

Root Cause Analysis

Asking 'why' five times to find the real cause — not just the surface symptom. The fix must address the root, not the result.

Root Cause Analysis (RCA) is a technique where instead of fixing the first problem you see, you keep asking “but why?” until you find the actual underlying cause. I applied the “5 Whys” method to both main problems separately.

5 Whys — Problem 1: Why is the premium phone case (₹1,499) not selling?

1

Why 1

Why is the premium phone case not selling despite heavy marketing?

Customers are landing on the product page but not buying it — the conversion rate is only 6.2%, compared to 27% for the budget case.

2

Why 2

Why is the conversion rate so low for the premium case?

Customer reviews show they feel ₹1,499 is too expensive for an Indian brand. They compare it to global brands like Spigen (which is well-known for premium cases) and choose the global brand instead.

3

Why 3

Why is the product priced at ₹1,499 if it sits in the same range as trusted global brands?

The Product Manager priced it based on the production cost plus desired margin — not based on what customers are actually willing to pay for a domestic brand at that quality level.

4

Why 4

Why was customer willingness to pay not researched before launching at ₹1,499?

No customer survey or pricing research was done. The pricing decision was made internally, based on assumed margins.

5

Why 5

Why was no pricing research done before launch?

The team had no data analysis process in place. Product decisions — including pricing — were based on gut feel and competitor observation, not actual data about customer behaviour.

Root Cause Found

The real problem was not the product, and not the marketing. It was that the company was making product and pricing decisions without any customer data. The premium case at ₹1,499 was launched into a price segment where customers trusted global brands more. The fix was not more ads — it was repricing the product to ₹999 (a sweet spot where data showed strong buying intent) and stopping the marketing waste.

5 Whys — Problem 2: Why does revenue crash every January to March?

1

Why 1

Why does revenue fall 65% between January and March?

October–November is the festive season in India (Diwali, New Year gifting). People buy electronics and accessories as gifts. January–March is post-festive — no major buying occasion.

2

Why 2

Why has this not been planned for every year?

The team knows the festive season is big, but they have never looked at the historical monthly data to calculate exactly how big the drop is and for how long.

3

Why 3

Why hasn't historical data been analysed to plan for the slow season?

All historical data was sitting in separate Excel files across 3 channels. No one had ever combined it to see a 12-month or 24-month trend.

4

Why 4

Why has no one combined the data to spot the seasonal pattern?

Combining the data takes 8+ hours every month. Nobody had the time to do it just for historical analysis on top of the regular reporting work.

5

Why 5

Why is the reporting process so manual and time-consuming?

There is no connected data system. Every data source requires a separate manual download and copy-paste. No automation exists.

CategoryRoot Causes Found
PeopleDecisions made by gut feel — no habit of looking at data before deciding on price, inventory, or marketing spend
ProcessNo monthly or weekly review of sales data across channels; no seasonal planning process; reporting done too infrequently
TechnologyNo connected data system; three platforms with no integration; all analysis done manually in Excel
DataNo historical trend analysis ever done; no product-level return rate tracking; no channel-level profitability view
06

Gap Analysis

A gap analysis compares 'what we have now' with 'what we need' — making it clear what needs to be built.

After the As-Is analysis and Root Cause Analysis, I documented every capability the business currently lacks compared to what it needs to make data-driven decisions. Each gap was rated by how critical it is to fix.

What the Business NeedsWhat Exists TodayThe GapPriority
A single place to see all sales from Amazon, Flipkart, and website togetherThree separate reports downloaded manually from three different platformsNo connected system; data combined only once a month, manuallyCritical
Product performance comparison — which product earns the most vs. costs the most to marketNo comparison exists; marketing and sales tracked in separate sheetsMarketing spend and sales revenue never looked at side-by-sideCritical
Monthly and seasonal sales trend (which months are slow, which are fast)Possible from historical data but nobody has had time to do the analysis24-month trend never visualised; seasonal planning done by feelCritical
Product return rate by channelReturns tracked at platform level but never broken down by productHigh return rate products (like the 34%-return product) go unnoticedCritical
Which marketing channel (Amazon Ads, Flipkart Ads, Google) drives actual revenueAd spend known; revenue by channel known separately; never connectedMarketing Manager cannot see which ₹1 of ad spend generates the most salesHigh
Automated daily/weekly reports instead of 8-hour monthly manual buildFully manual; one person spends 8–10 hours every monthNo automation; high effort, outdated outputHigh
Inventory planning based on seasonal data — order the right stock for Jan–MarOrdering based on last month's numbers, not seasonal historyOver-ordering for the slow season, under-ordering for festive seasonMedium
07

Business Requirements Document (BRD)

The BRD is the official document that captures everything the new system must do — in business language, not technical language. It is the agreement between the BA and the stakeholders before any development begins.

IDMust / Should / CouldWhat the System Must DoWhich Problem It SolvesHow We'll Know It's Done
BR-001MustShow combined sales from Amazon, Flipkart, and the website in one single dashboard viewGap: No single viewDashboard shows one total revenue number that matches the sum of all 3 platforms
BR-002MustShow each product's total sales, total units sold, and total marketing spend side-by-side for easy comparisonProblem 1: Premium product wasteAll 6 products visible in one table with sales and spend columns
BR-003MustShow monthly sales for the last 24 months as a chart so seasonal patterns are clearly visibleProblem 2: Jan–Mar crashA month-by-month chart covering 2 full years is visible and accurate
BR-004MustShow return rate for each product — what percentage of orders are being returnedGap: High return rate hiddenReturn % visible per product; sorted from highest to lowest return rate
BR-005MustData should update automatically every day — no manual downloading or copy-pasting requiredAS-IS: 8-hour manual processSales Manager confirms they have not manually downloaded any file for 2 weeks
BR-006ShouldShow which sales channel (Amazon / Flipkart / Website) generates the most revenue after returns and refundsGap: Channel profitabilityRevenue shown separately for each channel with returns deducted
BR-007ShouldAutomatically send a weekly summary report by email every Monday morning to Sales Manager and Finance ManagerAS-IS: Manual PowerPointEmail arrives automatically on Monday; no manual action needed
BR-008CouldShow an inventory forecast for the next 3 months based on seasonal sales historyGap: Wrong inventory orderingForecast numbers are within 15% of actual sales in the following month
The BRD was reviewed in a formal meeting with the Sales Manager and Finance Manager at the end of Week 4. All 8 requirements were agreed and signed off before any development work began. One requirement (BR-005 — daily refresh) was changed from “real-time” to “daily” after the Operations team confirmed real-time was technically complex and daily was sufficient for their decision-making needs.
08

To-Be Process Design

The To-Be process is the future-state design — how the same work will happen after the new system is in place. Every manual step should either be automated or eliminated.

The goal of the To-Be design was simple: the Sales Manager should be able to open one dashboard each morning and see everything they need to make decisions — without downloading a single file, copy-pasting anything, or spending hours in Excel.

New Process — How It Works

Data Sources
Amazon (daily auto-sync)
Flipkart (daily auto-sync)
Own website / Shopify (daily auto-sync)
Ad platforms (Google, Meta)
Automated Data Layer
All 3 sources connect to a central database
Data cleaned and standardised automatically
Returns and refunds calculated
Refreshes every night at 12am
Power BI Dashboard
Pulls from the central database
Calculates all KPIs (revenue, units, returns, margin)
Updates every morning with last night's data
4 views available to different teams
Teams — What They See
Sales Manager: overall revenue + product performance
Marketing Manager: channel-wise sales vs. ad spend
Finance Manager: auto-email every Monday
Operations Manager: seasonal trend + inventory forecast
Old Way (AS-IS)New Way (TO-BE)Improvement
Download Amazon report manually on Day 1 of every monthAmazon data syncs automatically every nightZero manual effort; data is always current
Copy-paste from 3 different Excel files into one master sheet (3 hrs)All 3 sources are already combined in the central database3 hours of work eliminated completely
Build pivot tables in Excel to see product-wise numbers (2 hrs)Product comparison table is always ready in the dashboardVisible instantly; no Excel needed
Build a PowerPoint report and email it — arrives on Day 7–10 (8–10 hrs total)Automated email sent every Monday morning; no manual action needed8–10 hours of work reduced to zero
Marketing Manager adjusts ad spend based on last month's dataMarketing Manager can check yesterday's performance and adjust todayDecisions based on recent data, not 30-day-old data
09

Functional & Non-Functional Requirements

Functional requirements describe what the system must do. Non-functional requirements describe how well it must do it — speed, security, reliability.

IDWhat the System Must Do (Functional)BR It Comes FromPriority
FR-001Connect to Amazon Seller Central API and automatically download new orders and returns every nightBR-001Must
FR-002Connect to Flipkart Seller Hub API and automatically download new orders and returns every nightBR-001Must
FR-003Connect to the website (Shopify) and automatically pull new orders and returns every nightBR-001Must
FR-004Show a product performance table: product name, units sold, total revenue, total ad spend, and revenue earned per ₹1 of ad spentBR-002Must
FR-005Show a 24-month sales trend chart — bar chart showing total monthly revenue for the last 2 yearsBR-003Must
FR-006Calculate and display the return rate (%) for each product — i.e., what % of orders were returnedBR-004Must
FR-007Show revenue broken down by channel: Amazon total, Flipkart total, Website total — with returns already deductedBR-006Should
FR-008Automatically send a weekly email summary every Monday at 8am to the Sales Manager and Finance ManagerBR-007Should
FR-009Show a 3-month sales forecast based on the same months from the previous 2 yearsBR-008Could
FR-010Allow each user role (Sales, Marketing, Finance, Operations) to see only their relevant dashboard viewBR-001Must
IDHow the System Must Behave (Non-Functional)How We Measure ItPriority
NFR-001Dashboard must load within 3 seconds on a normal internet connectionTested by opening the dashboard 10 times and measuring load timeMust
NFR-002Daily data refresh must complete by 6am so morning data is ready when the team starts workCheck that data is updated before 6am for 5 consecutive working daysMust
NFR-003Only logged-in employees can access the dashboard — no public accessAttempt to open dashboard without login; should show login screenMust
NFR-004Revenue numbers must match the source platform numbers within ±1% (accounting for timing)Compare dashboard totals with platform exports for the same dateMust
NFR-005Dashboard must work properly on mobile phones (for the Sales Manager who travels frequently)Open dashboard on an Android phone and iPhone; all views must loadShould
10

User Stories & Acceptance Criteria

A user story describes a feature from the user's point of view — what they want, and why. Acceptance criteria define exactly when we can say the story is 'done'.

User stories follow this format: “As a [role], I want [feature] so that [reason].” They help the development team understand who they are building for and why — not just what to build.

Epic 1 — Product Performance

US-001Sales ManagerMust8 pts

As a Sales Manager, I want to see all 6 products side-by-side with their sales, units sold, and marketing spend so that I can immediately see which products are worth investing in and which are not.

US-002Product ManagerMust5 pts

As a Product Manager, I want to see the conversion rate for each product (how many people who saw it actually bought it) so that I can identify if a product has a pricing or messaging problem.

Epic 2 — Seasonal & Revenue Trends

US-010Operations ManagerMust8 pts

As a Operations Manager, I want to see a chart of monthly sales for the past 2 years so that I can plan how much inventory to order before the slow season (January–March) and avoid overstocking.

US-011Finance ManagerShould5 pts

As a Finance Manager, I want to see a 3-month sales forecast based on historical data so that I can plan the budget for the upcoming quarter without relying on guesswork.

Epic 3 — Marketing & Channel Performance

US-020Marketing ManagerShould5 pts

As a Marketing Manager, I want to see how much revenue each sales channel (Amazon, Flipkart, Website) generates vs. how much ad spend goes into each, so that I can move budget to the most profitable channel.

US-021Finance ManagerShould3 pts

As a Finance Manager, I want to automatically receive a summary report every Monday morning by email so that I do not have to ask the Sales Manager to send me numbers manually.

Acceptance Criteria — US-001 (Product Performance View)

Acceptance criteria are written in Given / When / Then format. They define the exact conditions that must be true for us to say a user story has been completed successfully.

Given The dashboard has loaded with this month's data

When The Sales Manager opens the Product Performance view

Then A table is visible showing all 6 products with columns for: units sold, total revenue (₹), total ad spend (₹), and revenue earned per ₹1 of ad spend — sorted from highest to lowest ROI

Given All 6 products have sales data for the current month

When The Sales Manager clicks on the premium phone case row

Then A detailed breakdown opens showing: channel-wise sales (Amazon / Flipkart / Website), return rate, month-over-month change, and a comparison to the previous month

Given The premium phone case has sold 0 units on the website this month

When The Sales Manager views the product table

Then The premium phone case row is highlighted in amber (as a low-performer alert) and shows 0 units next to the Website channel column

11

Process Flows & BPMN

BPMN (Business Process Model and Notation) is a standard way to draw process flow diagrams — like a flowchart but with specific shapes and rules that every BA and developer understands the same way.

I created two BPMN diagrams: one showing the current (AS-IS) process and one showing the future (TO-BE) process. These diagrams were used to clearly show the team what was changing and why — making it easier to get buy-in from people who were used to the old process.

BPMN ShapeWhat It MeansWhere I Used It
Circle (Start Event)Where the process beginsAS-IS: 'First of the month arrives'; TO-BE: 'Midnight data refresh triggers automatically'
Rounded Rectangle (Task)A step someone does — either a person (User Task) or a system (Service Task)AS-IS: 'Download Amazon report' (User Task); TO-BE: 'API pulls Amazon data' (Service Task)
Diamond (Gateway)A decision point — the process goes one way or another based on a conditionTO-BE: 'Is a product's return rate > 20%?' → Yes: flag in red / No: show in green
Envelope (Message Event)Something is sent — an email, a notification, a triggerTO-BE: 'Weekly summary email sent to Sales Manager and Finance Manager automatically'
Circle with thick border (End)Where the process endsAS-IS: 'Report emailed to leadership'; TO-BE: 'Dashboard updated, email sent, done'
Swimming LanesSeparate rows showing who is responsible for each stepLanes: Data Sources | Automated Pipeline | Dashboard | Sales Team | Finance Team

Key Design Decisions Documented in BPMN

Daily refresh, not real-time

Originally considered real-time data. After discussion with Operations team, we agreed daily refresh at midnight was enough — all decisions are made in the morning anyway. Real-time was unnecessary complexity and cost.

Returns deducted before showing revenue

The dashboard shows net revenue (after returns) not gross revenue (before returns). This was specifically requested by the Finance Manager after discovering one product had a 34% return rate inflating gross numbers.

Low-performer product alert at 10% conversion

Any product with a conversion rate below 10% gets an amber flag automatically. The 10% threshold was agreed with the Product Manager based on industry benchmarks for this price range.

Separate views for each team

Rather than one complex dashboard everyone shares, four separate views were designed — Sales, Marketing, Finance, Operations. Each person sees only what is relevant to their role.

12

Data Analysis & Data Mapping

Before building anything, I analysed the raw data from all 3 platforms and mapped out exactly where each number comes from — so the dashboard always shows the right figures.

Data mapping means documenting every data source, what data it contains, and how the fields from different systems connect to each other. This is critical because Amazon calls an order “Shipped”, Flipkart calls it “Dispatched”, and the website calls it “Fulfilled” — but they all mean the same thing. Without mapping, the system would count them differently.

Data SourceWhat Data It HasImportant FieldsHow It Connects
Amazon Seller CentralAll Amazon orders, returns, ad spend, product listing performanceOrder ID, Product ASIN, Sale Amount, Order Date, Return Status, Ad SpendConnects to central DB via Amazon SP-API; Product ASIN maps to internal Product ID
Flipkart Seller HubAll Flipkart orders, returns, ad spend, product listing performanceOrder ID, Product SKU, Sale Amount, Order Date, Return Flag, Campaign SpendConnects via Flipkart Seller API; SKU maps to internal Product ID
Shopify (Own Website)Website orders, returns, customer location, ad source (UTM)Order ID, Product ID, Revenue, Created Date, Refund Amount, UTM SourceConnects via Shopify API; Product ID already matches internal Product ID
Google Ads / Meta AdsAd campaign spend by product and dayCampaign Name, Product Name, Date, Spend (₹), Clicks, ImpressionsExported daily; Campaign Name matched to Product Name using a mapping table
Internal Product MasterMaster list of all products with their ID, name, price, and categoryProduct ID, Name, Category, Launch Price, Current Price, Target MarginThe common link across all sources — every order maps back to a Product ID

Data Dictionary — Key Fields

Field NameWhat It MeansWhere It Comes FromHow It Is Calculated
net_revenueMoney actually earned — after returns and refunds deductedAll 3 platformsSUM(sale_amount) minus SUM(refund_amount) for the same period
return_rate_pctWhat % of orders for a product were returned by the customerAll 3 platforms(Total returns ÷ Total orders) × 100 — calculated per product, per month
roasReturn on Ad Spend — for every ₹1 spent on ads, how many ₹ in salesOrders + Ad datanet_revenue ÷ total_ad_spend — if > 1, the ad is profitable
sales_channelWhich platform the sale happened onDerived from source'Amazon' / 'Flipkart' / 'Website' — set based on which API the order came from
is_slow_monthWhether this month is historically a slow sales monthDerived from historyTRUE if the same month in both previous years had revenue below 50% of the annual average
SQL
-- Which product earns the most for every rupee spent on ads?
-- (ROAS = Return on Ad Spend -- higher is better)
SELECT
  p.product_name,
  p.selling_price,
  COUNT(o.order_id)                    AS total_orders,
  SUM(o.sale_amount - o.refund_amount) AS net_revenue,
  SUM(m.ad_spend)                      AS total_ad_spend,
  ROUND(
    SUM(o.sale_amount - o.refund_amount)
    / NULLIF(SUM(m.ad_spend), 0), 2
  )                                    AS revenue_per_rupee_of_ad_spend
FROM products p
LEFT JOIN orders o      ON p.product_id = o.product_id
LEFT JOIN ad_spend m    ON p.product_id = m.product_id
  AND MONTH(m.spend_date) = MONTH(o.order_date)
WHERE o.order_date >= DATEADD(year, -1, GETDATE())
GROUP BY p.product_id, p.product_name, p.selling_price
ORDER BY revenue_per_rupee_of_ad_spend DESC;
SQL
-- Monthly sales trend for the last 24 months
-- Used to identify seasonal patterns (festive peak vs. Jan-Mar slump)
SELECT
  YEAR(order_date)                     AS sale_year,
  MONTH(order_date)                    AS sale_month,
  DATENAME(month, order_date)          AS month_name,
  SUM(sale_amount - refund_amount)     AS net_revenue,
  COUNT(order_id)                      AS total_orders,
  AVG(sale_amount)                     AS avg_order_value
FROM orders
WHERE order_date >= DATEADD(year, -2, GETDATE())
GROUP BY
  YEAR(order_date),
  MONTH(order_date),
  DATENAME(month, order_date)
ORDER BY sale_year, sale_month;
13

Wireframes & Prototypes

A wireframe is a simple sketch (or digital mockup) of what the dashboard will look like — before the developer builds anything. It is reviewed with stakeholders to confirm we are building the right thing.

I designed 4 dashboard views in Figma — one for each type of user. Instead of one complex screen with everything on it, each team sees only what they need. The wireframes were reviewed with stakeholders twice before development began.

View 1

Sales Overview

Main Question It Answers

Total revenue this month across all channels

For: Sales Manager

·Total net revenue (this month vs. last month vs. same month last year)

·Channel split: Amazon vs. Flipkart vs. Website (with % share)

·Top 3 products by units sold and revenue

·Number of orders, average order value, return rate

View 2

Product Performance

Main Question It Answers

Which product earns the most for every ₹1 spent?

For: Product Manager & Sales Manager

·All 6 products in a table: sales, revenue, ad spend, ROAS

·Conversion rate per product — flagged amber if below 10%

·Return rate per product — flagged red if above 20%

·Month-over-month trend: is this product growing or declining?

View 3

Seasonal Trends

Main Question It Answers

Which months are slow? How slow? For how long?

For: Operations Manager & Finance Manager

·24-month bar chart showing net revenue per month

·Festive season (Oct–Nov) vs. slow season (Jan–Mar) highlighted

·3-month rolling forecast based on last 2 years of same-month data

·Recommended inventory order quantity for next 3 months

View 4

Marketing & Channel ROI

Main Question It Answers

Which channel brings the most sales per rupee spent on ads?

For: Marketing Manager

·Ad spend vs. revenue by channel (Amazon Ads / Flipkart Ads / Google / Meta)

·ROAS for each campaign and each product

·Which product + channel combination has the highest return

·Month-wise ad spend efficiency trend

Feedback from Round 1 review: The Marketing Manager asked for the ROAS (Return on Ad Spend) number to be shown right next to the ad spend number — not on a separate screen. “I need to see both together to make a decision. If I have to click between screens, I won't use it.” This was implemented in Round 2, and the Marketing Manager confirmed it was exactly what they needed.
14

Requirement Validation

Before the developer builds anything, every requirement must be formally reviewed and signed off. This prevents building the wrong thing and having to redo it later.

Validation StepWhenWho Was InvolvedWhat Was ReviewedResult
BRD Review MeetingEnd of Week 4Sales Manager + Finance ManagerAll 8 business requirements reviewed one by one; acceptance criteria confirmedApproved — BR-005 changed from real-time to daily refresh
Stakeholder WalkthroughWeek 5All 5 stakeholdersFull requirements summary presented; each person confirmed their needs were coveredAll signed off; Operations Manager added one new request (seasonal forecast)
FRS Technical ReviewWeek 6BI Developer + Sales ManagerAll 10 functional requirements reviewed for technical feasibilityFR-009 (inventory forecast) flagged as complex; simplified to 3-month trend only
Wireframe Review — Round 1Week 7Sales Manager, Marketing Manager, Product MgrFigma mockups walked through screen by screen; feedback captured6 change requests — ROAS placement, colour scheme, mobile layout
Wireframe Review — Round 2Week 8Sales Manager + Marketing ManagerUpdated Figma reviewed after Round 1 changes implementedApproved — no further changes requested. Green light to begin development.
No development work started until all validations were complete and approved. This may seem slow, but it saved significant time later — the developer had zero ambiguity about what to build. There were no mid-development change requests that required rework.
15

Backlog Creation & Prioritization

The backlog is the full list of everything that needs to be built, sorted by priority. MoSCoW is the prioritization method: Must Have, Should Have, Could Have, Won't Have (for now).

PriorityStoriesWhat Gets BuiltWhen
Must Have12 stories — 55 pointsAll 3 platform connections, product performance view, seasonal trend view, return rates, basic sales overviewSprint 1 & 2
Should Have8 stories — 34 pointsMarketing/channel ROI view, automated Monday email, ROAS calculation per product and channelSprint 3
Could Have5 stories — 22 points3-month seasonal forecast, low-performer product alerts, mobile-optimised layoutSprint 4 if time permits
Won't Have3 stories — —Customer segmentation, WhatsApp alerts, integration with accounting software (planned for Phase 2)Phase 2 backlog

Sprint Plan — 4 Sprints of 2 Weeks Each

Sprint 1
Wk 9–10

Build the data pipeline: connect Amazon, Flipkart, and Shopify APIs to the central database. Set up daily refresh. Validate that the numbers match the source platforms.

Sprint 2
Wk 10–11

Build View 1 (Sales Overview) and View 2 (Product Performance). Include return rate, ROAS, and conversion rate. Add low-performer flagging.

Sprint 3
Wk 11–12

Build View 3 (Seasonal Trends) with 24-month chart and forecast. Build View 4 (Marketing ROI). Set up automated Monday email.

Sprint 4
Wk 12–13

Mobile optimisation, UAT defect fixes, performance testing, user training preparation, and go-live readiness check.

16

Agile Sprint Execution

Agile sprints are short 2-week work cycles where the team builds and delivers a working piece of the system — instead of trying to build everything at once.

Agile CeremonyHow OftenWhat I Did as BA
Sprint PlanningStart of each sprintExplained the top-priority user stories to the developer; clarified acceptance criteria; confirmed what 'done' looks like for each story
Daily Stand-UpEvery day (15 min)Flagged any requirements questions that came up during development; resolved ambiguities before they caused rework or delays
Sprint ReviewEnd of each sprintShowed the completed features to the Sales Manager and Marketing Manager; collected their feedback and added it to the next sprint if needed
Sprint RetrospectiveEnd of each sprintDiscussed what went well and what to improve in the next sprint — helped the team improve their process as they went
Backlog RefinementMiddle of each sprintReviewed upcoming stories, added missing detail, removed blockers, and adjusted estimates based on what we learned in the current sprint
Important mid-sprint discovery: During Sprint 1, we found that Flipkart's API did not provide a direct “return reason” field — it only showed whether an item was returned, not why. This meant the “return reason analysis” feature we had planned could not be built as originally designed. I updated the requirement immediately and replaced it with “return rate by product only” — which was still valuable and could be delivered on time. This type of real-time requirement adjustment is a core part of the BA role during development.
17

Development Support

The BA's job doesn't end when development starts. During the build phase, the developer needs help clarifying requirements, handling unexpected findings, and managing changes from stakeholders.

SituationWhat HappenedWhat I Did as BAResult
Developer needed calculation clarityDeveloper was unsure how to calculate ROAS — was it per order or per month?Wrote a clear calculation specification: ROAS = Net Revenue ÷ Ad Spend, calculated monthly per product per channelDeveloper built the correct metric first time; no rework needed
Stakeholder change requestMarketing Manager asked mid-Sprint 2 to add campaign-level breakdown (not just channel-level)Assessed the impact: needed 1 new data field, 2 extra hours of development. Logged as a Should Have for Sprint 3Sprint 2 was not disrupted; the new feature was added in Sprint 3 on schedule
Data quality issue found12% of orders from the website had no product ID — they couldn't be linked to the product masterTraced it to a Shopify order form issue. Temporary fix: unmatched orders categorised as 'Other' with a noteDashboard launched without this being a blocker; the Shopify form was fixed separately
Stakeholder anxiety during buildSales Manager wanted to see progress and was worried nothing was happening visiblyRan a mid-Sprint 2 live demo showing the product performance view with real data (even though it wasn't finished)Stakeholder confidence restored; no scope creep from the demo
18

Testing Support

Before UAT (user testing), the BA helps design the test cases and ensures the system is tested against what was actually required — not just whether it works technically.

What I DidDetails
Wrote the UAT Test PlanCreated a document listing all 34 test cases, the expected result for each, who would run each test, and what counts as pass or fail — before testing began
Reviewed test cases for coverageChecked that every BR and FR had at least 2 test cases covering it. Found 3 functional requirements had no test cases — added them before testing started
Designed edge case testsAdded tests for unusual situations: What happens if a product has zero sales this month? What if ad spend is zero? What if returns > sales? These were cases the developer might not have considered.
Attended defect triage sessionsWhen defects were found during testing, I attended the daily triage meeting to classify each defect — is it a requirements issue, a build issue, or a data issue? Each type needs a different fix.
Verified fixes before re-testingAfter the developer fixed a defect, I reviewed the fix against the original requirement to confirm it was correct before the tester re-ran the test. Prevented fixes that solved the symptom but not the cause.
Critical defect found before UAT: During internal testing, the Sales Overview view was showing gross revenue (before returns) instead of net revenue (after returns). This happened because the developer used the wrong field from the database. The Finance Manager would have immediately rejected this in UAT. Catching it in internal testing saved a full round of UAT rework.
19

User Acceptance Testing (UAT)

UAT is when the actual users test the system — not the developer, not the BA. They use it the way they would in real life and confirm it does what the BRD said it must do.

What Was TestedTest CasesTested ByPassedFailedStatus
Data accuracy — do dashboard numbers match platform numbers?8Finance Manager + Sales Manager80All Pass
Product performance view — all products, ROAS, return rates10Sales Manager + Product Manager911 Fixed
Seasonal trends view — 24-month chart accuracy6Operations Manager60All Pass
Marketing ROI view — channel split and ROAS6Marketing Manager511 Fixed
Automated Monday email — correct numbers, arrives on time4Finance Manager40All Pass

Defects Found & Fixed

DEF-001High Severity

Premium phone case return rate was showing 3.2% instead of 34%. Root cause: the return rate was being calculated as returns ÷ total products in inventory, not returns ÷ total orders. Fixed the calculation and re-tested — correct result confirmed.

DEF-002Medium Severity

ROAS on the Marketing view was not updating when a different month was selected from the date filter. Root cause: the ad spend table was not connected to the date filter. Fixed by the developer in 4 hours.

Both defects were fixed and re-tested within 2 days. All 5 stakeholders gave formal sign-off at the end of UAT. Sign-off means they confirmed: “Yes, this does what we asked for in the BRD, and we are happy to go live.”
20

Deployment / Go-Live

Go-live is when the new system becomes the official tool the team uses — and the old process is retired. A phased approach was used to reduce risk.

DayWhat HappenedWho Was Responsible
Day 1Final data check: compared dashboard revenue numbers with manual platform exports for last 3 months. All within ±0.8% — within the agreed ±1% accuracy threshold.BA + BI Developer
Day 1Dashboard access given to Sales Manager and Finance Manager only — to test with real users before the full team gets access (Phase 1 rollout)BI Developer
Day 230-minute walkthrough with Sales Manager and Finance Manager — live data, real questions answeredBA
Day 3Access given to Marketing Manager and Product Manager (Phase 2 rollout)BI Developer
Day 4Access given to Operations Manager and the full sales team (Phase 3 rollout)BI Developer
Day 5First automated Monday email tested — scheduled and confirmed to send the following MondayBI Developer
Week 2Hypercare period: BA available daily to answer any questions and fix any small issues reported by usersBA
Week 2 MonFirst automated Monday email received by Sales Manager and Finance Manager — containing last week's revenue summary with no manual actionSystem (auto)
The phased rollout (leadership first, then full team) meant that if something was wrong, only 2 people saw it — not the entire team. The Sales Manager was also more likely to champion the tool to the team after having used it themselves for 2 days first.
21

Training & Change Management

A great dashboard that nobody uses is a failed project. Change management ensures the team actually adopts the new system and stops using the old manual process.

Who Was TrainedFormatDurationWhat Was Covered
Sales Manager1-on-1 session45 minSales Overview and Product Performance views; how to filter by channel, product, and time period; how to interpret return rate and ROAS numbers
Finance Manager1-on-1 session30 minThe automated Monday email format; how to verify dashboard numbers against QuickBooks; the seasonal forecast view
Marketing Manager1-on-1 session30 minMarketing ROI view; how to read ROAS; how to compare ad spend vs. revenue by channel and campaign
Product Manager1-on-1 session30 minProduct Performance view; conversion rate; what the low-performer amber flag means and when to act on it
Operations Manager1-on-1 session20 minSeasonal Trends view; how to read the 3-month forecast; how to use it for inventory planning decisions
Full Sales Team (7)Group session30 minOverview of all 4 views; how to log in; who to contact if something looks wrong

Change Management — Key Actions

Old Excel files archived on Day 1

The Sales Manager archived all old master Excel files with a team announcement: 'From today, the dashboard is our source of truth.' Removing the old tool removed the temptation to fall back to it.

Sales Manager championed it to the team

Because the Sales Manager had 2 days of experience with the live dashboard before the team got access, they were able to say 'this is working, I trust it' — which was more persuasive than any training session.

1-page quick reference guide distributed

A simple 1-page PDF: how to log in, which view to use for which question, and who to contact if something looks wrong. Sent via the team WhatsApp group on Day 4.

Week 2 open Q&A session

A 20-minute optional session where anyone could ask questions or raise concerns. 4 of 7 sales team members attended. No major issues were raised — small usability questions resolved in real time.

22

Post-Implementation Review

The Post-Implementation Review (PIR) happens 4 weeks after go-live. It checks whether the system delivered what it promised, what went well, and what to do differently next time.

FindingTypeDetail
All 8 business requirements were delivered as agreedPositiveEvery requirement from the BRD was built, tested, and confirmed working at go-live
Premium product issue identified and actioned quicklyPositiveWithin 1 week of go-live, the Product Manager used the dashboard to confirm the pricing hypothesis. The premium case was repriced from ₹1,499 to ₹999. Sales went up 180% in the first month after repricing.
Seasonal planning happened for the first time this yearPositiveThe Operations Manager used the 24-month trend view to plan January–March inventory 6 weeks in advance — instead of ordering based on last month as before. Over-ordering reduced by 40%.
12% of website orders still showing as 'Other' productImprovementThe Shopify form issue (no product ID on some orders) was fixed but historical data cannot be corrected. Agreed to run a data cleaning exercise in Q2.
Mobile dashboard works but has a slow load time on older phonesLearningiPhone 15 and recent Android phones load fast. Some older phones take 6–8 seconds. Flagged for optimisation in the next development cycle.

3 Key Lessons from This Project

Align on definitions before touching data

The definition alignment session (Workshop 1) was the most valuable thing we did in the entire project. If we had built the dashboard first and discovered later that Sales, Finance, and Marketing were measuring 'revenue' differently, we would have had to rebuild significant parts of it.

Sign-off before build = no surprises during build

Because every requirement was formally signed off before development started, there were zero unexpected changes during the 4 sprints. This is a direct result of the requirement validation gate. It feels slow upfront but saves much more time later.

Remove the old process at go-live, don't run both

Archiving the Excel files on Day 1 was the single most important change management action. When people have a fallback, they use it. When they don't, they adapt. The team adopted the dashboard fully within the first week.

23

Business Impact Measurement

Measured at 8 weeks post go-live — comparing actual outcomes against what was promised in the BRD.

+41%
Revenue growth in Jan–Mar
vs. same period last year
+180%
Premium product sales after reprice
₹1,499 → repriced to ₹999
₹38L
Slow-moving inventory cleared
Targeted discount campaigns
20min
Time to get monthly report
Was 8–10 hours manually
What We Promised in BRDTargetActual Result (8 Weeks)Status
Single combined view of Amazon + Flipkart + Website salesWorking dashboard with all 3 sourcesLive and accurate within ±0.8%Done
Product comparison: sales vs. marketing spend side-by-sideAll 6 products visible in one tableTable live; premium case identified as lowest ROAS (0.4)Done
24-month seasonal sales chart to plan for slow monthsChart covering 24 months of historyChart live; Jan–Mar pattern clearly visibleDone
Return rate visible per productReturn % per product shownReturn rates visible; one product found at 34% return rateDone
Daily automated data refresh — no manual downloadingZero manual downloads neededSales Manager confirms no manual file downloaded in 8 weeksDone
Channel-wise revenue: Amazon, Flipkart, Website separatelyEach channel shown with net revenueAll 3 channels visible; Website found to have highest ROASDone
Automated Monday email to Sales Manager and Finance ManagerEmail arrives without manual actionEmail arriving every Monday 8am for 8 consecutive weeksDone
3-month seasonal forecast for inventory planningForecast within 15% of actualForecast accuracy: 11% variance in Month 1 after go-liveDone

“Before the dashboard, we used to guess which months would be slow and panic when they arrived. Now I can open the seasonal view and plan 3 months in advance. We ordered 40% less inventory for January this year compared to last year — and we had fewer stockouts because we put that budget into the products that actually sell in January.”

— Operations Manager · 6 weeks post go-live

The most important outcome: The premium phone case was repriced from ₹1,499 to ₹999 based directly on data from the dashboard (low conversion rate, low ROAS, high competitor pricing in that segment). Within 1 month, sales of the premium case increased by 180%. This single pricing decision — made possible only because the dashboard existed — recovered more value than the entire cost of the project. It is the clearest example of what data-driven decision making actually means in practice.