๐ŸŽ“ New Horizons Learning Institute โ€” Data Analytics Programme

Phone Sales Performance Analysis
Dashboard

A full-pipeline data analytics capstone project โ€” from raw, messy Kaggle data through Excel cleaning, Power BI dashboarding, and Tableau storytelling โ€” analysing 800 phone transactions across four Nigerian states.

Institution
New Horizons Learning Institute
Tools
Excel ยท Power BI ยท Tableau
Dataset
800 transactions ยท Kaggle
Geography
4 Nigerian States
Analyst
Kehinde Odewabi
Live Dashboards
View Power BI Dashboard
View Tableau Dashboard
800
Total Orders
Across 4 states
โ‚ฆ2.41B
Total Net Result
Full year
โ‚ฆ2.70B
Annual Target
Never achieved monthly
โˆ’10.8%
Target Gap
โ‚ฆ291M shortfall
7
Brands Analysed
Tecno to Google
15%
Avg. Discount
Range: 0% โ€“ 30%
01

Project Overview & Objectives

This capstone project was completed as the final assessment for the Data Analytics programme at New Horizons Learning Institute. The brief required students to select a real-world dataset from Kaggle and analyse it end-to-end using three industry-standard tools: Microsoft Excel, Power BI, and Tableau.

The dataset selected covers 800 phone sales transactions across four Nigerian states โ€” Federal Capital Territory, Lagos, Oyo, and Rivers โ€” capturing brand, customer demographics, pricing, cost, discounts, and ratings over a full calendar year.

The analysis was structured around seven business questions: sales performance trends, brand and product performance, customer behaviour, geographical distribution, profitability and cost dynamics, customer satisfaction, and monthly target achievement.

๐Ÿ“Š Microsoft Excel
โšก Power Query
๐Ÿ“ˆ Power BI + DAX
๐Ÿ—บ Tableau
02

Data Cleaning & Preparation

The raw dataset contained 800 rows and 12 columns. Despite having no missing values, several data quality issues were found that would have compromised the integrity of any analysis left uncorrected.

Issues Found in the Raw Data

A close inspection of the brand column revealed 6 misspelled entries across 4 brands โ€” "Opo" (2ร—), "Aple" (2ร—), "Tecn" (1ร—), "Samsng" (1ร—), "Gogle" (1ร—). These were inconsistencies that would cause any GROUP BY or pivot operation to produce incorrect brand totals.

The state column used abbreviations throughout ("OYO", "LAG", "FCT", "RIV") โ€” valid for a raw data store but unhelpful for dashboard labels. All four were expanded to full state names.

Column headers used inconsistent casing and spacing (e.g. unit cost with a space, customer_rating with an underscore, orderdate as one word).

Column / IssueTypeRaw ValueCleaned Value
brand โ€” misspellingsFIXEDOpo, Aple, Tecn, Samsng, GogleOppo, Apple, Tecno, Samsung, Google
state โ€” abbreviationsFIXEDOYO, LAG, FCT, RIVOyo, Lagos, Federal Capital Territory, Rivers
unitprice โ†’ Unit Sales PriceRENAMEDunitpriceUnit Sales Price
unit cost โ†’ Unit CostRENAMEDunit costUnit Cost
customerage โ†’ Customer AgeRENAMEDcustomerageCustomer Age
customer_rating โ†’ Customer RatingRENAMEDcustomer_ratingCustomer Rating
Cost PriceNEW COLUMNโ€”=Unit Cost ร— Units Sold
Sales Price / RevenueNEW COLUMNโ€”=(Unit Price ร— Units Sold) โˆ’ Discount
Net ResultNEW COLUMNโ€”=Revenue โˆ’ Cost Price
Profit / LossNEW COLUMNโ€”Positive / Negative label based on Net Result
Met Target?NEW COLUMNโ€”=IF(Net Result โ‰ฅ Target, "Yes", "No")
VLOOKUP population (Analysis sheet)NEWโ€”Used to pull values from raw into Analysis sheet by Order ID
03

Key Excel Formulas Used

Cost Price โ€” Total cost per order

Cost Price Column (Col L) Excel
// Total cost for an order = unit cost ร— quantity =H2*J2 // H2 = Unit Cost, J2 = Units Sold

Revenue โ€” After discount applied

Sales Price / Revenue (Col N) Excel
// Revenue = (unit price ร— units sold) minus discount portion =(I2*J2)-(I2*J2*K2) // I2=Unit Sales Price, J2=Units Sold, K2=Discount (decimal) // Equivalent to: =I2*J2*(1-K2)

Net Result โ€” Profit per order

Net Result Column (Col O) Excel
// Net result = Revenue minus total cost =N2-L2 // N2 = Sales Revenue, L2 = Cost Price

Met Target? โ€” Conditional flag

Met Target Column (Col Q) Excel
// Returns "Yes" if net result meets or exceeds the target =IF(O2>=M2, "Yes", "No") // O2 = Net Result, M2 = Target Net Result

Monthly Target Gap โ€” Difference formula

Monthly Target Sheet โ€” Difference Column Excel
// Gap between target and actual result per month =B5-C5 // B5 = Target Net Result, C5 = Actual Net Result // Applied for all 12 months + grand total row

VLOOKUP โ€” Populating the Analysis sheet

VLOOKUP to pull data from raw sheet by Order ID Excel
// Pulls the Brand value from the raw data sheet by matching Order ID =VLOOKUP($A$176, $A$1:$P$801, 2, FALSE) // A176 = Order ID to look up // $A$1:$P$801 = full raw data range (locked) // 2 = return the 2nd column (Brand) // FALSE = exact match only

Power Query Transformations (Power BI)

Power Query Steps Applied Power Query
// 1. Replace abbreviated state values with full names Replace Values: "OYO" โ†’ "Oyo state" Replace Values: "LAG" โ†’ "Lagos state" Replace Values: "FCT" โ†’ "Federal Capital Territory" Replace Values: "RIV" โ†’ "Rivers state" // 2. Correct data types Change Type: orderdate โ†’ Date Change Type: unitssold โ†’ Whole Number Change Type: discount โ†’ Decimal (Percentage) // 3. Remove blank rows Remove Rows Where: any key column = null // 4. Rename columns to clean display names Rename: "unitprice" โ†’ "Unit Sales Price" Rename: "unit cost" โ†’ "Unit Cost"
04

Key Findings

Monthly Target Achievement โ€” Zero months met

The most significant finding of this analysis is that no monthly target was met across the entire year. The closest month was January (โˆ’9.9% gap) and the furthest was December (โˆ’13.2% gap). The total annual shortfall was โ‚ฆ291.4M against a target of โ‚ฆ2.70B.

MonthTarget (โ‚ฆM)Actual (โ‚ฆM)Gap
May298.0270.6โˆ’27.4M
Jun270.6244.2โˆ’26.4M
Sep259.4233.4โˆ’26.0M
Jul250.7224.8โˆ’25.9M
Dec231.4201.0โˆ’30.5M
Jan165.8149.4โˆ’16.4M
๐Ÿ†

Tecno โ€” Revenue Leader

Tecno led all brands in total revenue and units sold across all four states, consistently outperforming Samsung and Oppo which placed second and third.

๐Ÿ”„

Returning Customers Spend More

Returning customers ordered more units per transaction and generated higher average revenue compared to new customers โ€” a clear case for loyalty investment.

๐Ÿ“

Lagos & Oyo Lead Sales

Lagos and Oyo consistently generated the highest sales volumes. FCT followed closely behind. Rivers had the lowest net revenue but โ€” surprisingly โ€” the highest average customer rating.

๐Ÿ’ธ

Discounts Squeeze Margins

Higher discount levels directly correlated with reduced profitability. With discounts ranging from 0% to 30%, pricing discipline is a key lever for margin improvement.

05

Recommendations

  • Bolster customer retention with a loyalty programme. Returning customers already outspend new ones โ€” a structured loyalty reward system would amplify this effect and improve lifetime value.
  • Expand market penetration in Rivers State. Rivers has the lowest revenue but the highest customer satisfaction scores. High satisfaction with low volume is an untapped growth opportunity.
  • Implement controlled discounting policies. The current 0โ€“30% discount range is too broad. Capping maximum discounts and linking them to inventory age or volume thresholds would protect margins.
  • Prioritise Tecno and Samsung inventory. These two brands dominate sales volume across all states. Ensuring consistent stock availability โ€” especially during peak months โ€” would reduce lost sales.
  • Investigate December performance specifically. December had the largest target gap (โˆ’โ‚ฆ30.5M) despite being a festive month. This warrants a targeted promotional strategy โ€” increased discounts or bundle offers โ€” in future cycles.
  • Revise monthly targets using historical actuals. No month met its target across the full year, suggesting the targets may be miscalibrated. Targets built on rolling averages would be more actionable.
06

Conclusion

This project demonstrates a complete data analytics workflow from raw data to business intelligence. Beginning with messy Kaggle data โ€” containing brand misspellings, abbreviated state codes, and unformatted columns โ€” the dataset was cleaned and enriched in Excel with five new calculated columns before being modelled in Power BI and visualised in Tableau.

The core finding is that while the business generated โ‚ฆ2.41B in net result over the year, it fell short of every single monthly target โ€” a structural issue that goes beyond seasonal variation and points to a need for more grounded target-setting, tighter discount management, and focused regional strategy in underperforming states.

The three-tool pipeline โ€” Excel for data preparation, Power BI for interactive business dashboards, and Tableau for visual storytelling โ€” reflects industry-standard practice for a data analyst role.

Project Files

Download all source files โ€” Excel workbook, Power BI report, Tableau workbook, and written report.