Courses Learn Blog Contact
Get Started →
Lesson 15

Solo Project: PayLink Nigeria

Released Day 11, due Day 14. 41 agents, two years, bonus commissions: clean, model, measure and build the dashboard on your own.

Webbo3 Power BI Cohort 1 10 min read Free

Webbo3 Power BI · Cohort 1 · Solo Project · Released Day 11 · Due Day 14

Solo Project: PayLink Nigeria

A mobile money network of 41 agents, two years of transactions, and nobody to walk you through it.

By the end of today you can

  • Clean, append and merge two years of messy agent transactions on your own
  • Build a star schema with a Date table and the right relationships
  • Write the measures that answer the founder's five questions, including the bonus commission
  • Build a dashboard and write findings for the founder, not for a classmate
  • Reflect honestly on where you got stuck

Webbo Oil was built with your tutor beside you. PayLink is the proof that you can do it when nobody is watching.

The Company

PayLink Nigeria is a mobile money agent network. Founded in 2021 by Chiamaka Obi, it now has 41 registered agents spread across 10 states, from Lagos to Kano to Enugu. Agents handle cash deposits, cash withdrawals, airtime purchases, bill payments and bank transfers for customers who do not want to queue at a bank branch. PayLink pays each agent a commission per transaction, and the rate differs by transaction type.

The Business Problem

Chiamaka has grown the agent network fast, maybe too fast. She does not have a clear picture of which agents are actually active, which states are carrying the business, or whether her commission structure is paying out fairly and sustainably. She has also heard that some agents get bonus commissions on certain transactions, and she wants to know how much that is actually costing her.

The Brief, in Her Own Words

Chiamaka Obi, Founder

"I onboarded 41 agents over three years and honestly, I don't know how many of them are still active. I don't know if Lagos is carrying this whole business or if the other states are pulling their weight too. I keep approving these little bonus commissions and I have no idea what they add up to. Nobody has built this analysis for me yet. You're the first."

Questions Your Dashboard Must Answer

  1. Which states and which agents generate the most transaction volume and commission?
  2. Which transaction type is PayLink's biggest earner: deposits, withdrawals, airtime, bills or transfers?
  3. How much extra is being paid out in bonus commissions above the standard rate, and is it worth it?
  4. How does 2024 compare with 2023 across the network?
  5. Are Gold tier agents actually outperforming Bronze and Silver, or is the tier system just a label?

How This Is Different From the Class Dataset

This time, nobody is walking you through it step by step. You have the same kind of messy raw data (mixed date formats, inconsistent text, a few duplicates) and the same job: clean it, build the star schema, connect the relationships, write the DAX, build the dashboard. If you can do this on PayLink without being told each button to click, you have actually learned Power BI. If you can only do it on Webbo Oil because you memorised the steps, you have not yet.

This is individual work. Discussing an idea with a classmate is fine; sharing a file or a formula is not. Your tutor opens every .pbix.

The Dataset

PayLink Nigeria

Download all as one zip file (paylink-agents.zip)

What we are looking atWe want to see the first rows of the 2023 file exactly as it arrives.
Transactions_2023.csv, as it arrives
ABCTransactionIDABCTransactionDateABCAgentIDABCTransactionTypeABCAmount_NGNABCFee_NGNABCCommissionPaid_NGN
1PL23-00000101/01/2023AG006·Cash·withdrawal20000020001000
2PL23-0000022023-01-01AG008Airtime Purchase10004530
3PL23-00000301/01/2023AG012BILL PAYMENT12000180120
4PL23-0000041 Jan 2023AG017cash deposit100005030
5PL23-0000041 Jan 2023AG017cash deposit100005030
6PL23-0000052023-01-01AG019Cash Deposit50000250150
7PL23-0000062023-01-01AG021BILL PAYMENT15500232.5155
8PL23-00000701/01/2023AG027Bill Payment15500232.5155
7 COLUMNS, 3,726 ROWS · first 8 shown
What we are looking atWe want to see Agents.csv, one of the two lookup tables.
Agents.csv
ABCAgentIDABCAgentNameABCStateABCLGAABCTierABCOnboardedDate
1AG001Mama Nkechi VenturesLagosIkejaBronze06/06/2023
2AG002Alhaji Sule EnterprisesLAGOSSurulereBronze20/07/2022
3AG003Blessing POS HubLAGOSAlimoshoSilver26/08/2023
4AG004Divine Favour StoresLagosLekkiSilver04/09/2022
5AG005Oluwaseun POSlagos·IkejaGold25/01/2022
6AG006Mr Bigs VenturesLAGOSSurulereBronze29/09/2021
6 COLUMNS, 41 ROWS · first 6 shown
What we are looking atWe want to see Commission_Rates.csv, one of the two lookup tables.
Commission_Rates.csv
ABCTransactionTypeABCStandardCommissionRate
1Cash Withdrawal0.005
2Cash Deposit0.003
3Bank Transfer0.004
4Airtime Purchase0.03
5Bill Payment0.01
2 COLUMNS, 5 ROWS
ColumnWhat it holds
TransactionIDThe transaction's unique reference
TransactionDateThe day it happened, typed three different ways
AgentIDWhich agent did it. Matches Agents[AgentID] once it is cleaned
TransactionTypeDeposit, withdrawal, transfer, airtime or bill payment, typed many ways
Amount_NGNThe money the customer moved
Fee_NGNWhat the customer paid PayLink for the transaction: PayLink's income
CommissionPaid_NGNWhat PayLink paid the agent for it, including any bonus
Find the Mess Yourself

This brief deliberately does not list every problem in the files. Turn on column profiling on the entire data set, look at every column, and write down what is wrong before you fix it. That list goes in your self-check.

What You Must Build

#TaskDone when
1Connect to the four files with Get Data, Text/CSV, Transform DataFour queries
2Clean both transaction files and append them into one query called TransactionsTransactions has 8,996 rows
3Clean Agents (the State column needs it too)10 states, spelled once each
4Merge each transaction's standard rate in from Commission_Rates on TransactionTypeEvery transaction has a StandardCommissionRate; row count unchanged
5Create a Date table for 1 January 2023 to 31 December 2024 and mark it731 rows, marked
6Relate Transactions to Date and to AgentsMany-to-one, Single relationships; a star
7Write the measures below and check them against the self-checkEvery card matches
8Build the dashboard: one page per question is fine, or one page that answers all fiveEvery question answered with a visual
9Write the findings and the self-check (below)Two Google Docs
A Merge Is Case-Sensitive

Some rows have the AgentID in lower case or with a space after it. A Merge treats "ag012" and "AG012" as different values, so clean AgentID (Trim, then UPPERCASE) before anything is matched to it.

The Measures

Each one uses something you have already written for Webbo Oil. Write the formulas yourself; the self-check tells you the answer each must give, not the formula.

MeasureWhat it answersBuilt with
TransactionsHow many transactions?COUNTROWS
Transaction ValueHow much money moved?SUM of Amount_NGN
Fee RevenueHow much did PayLink earn from customers?SUM of Fee_NGN
Commission PaidHow much did PayLink pay agents?SUM of CommissionPaid_NGN
Standard CommissionWhat the agents would have been paid at the standard rateSUMX over Transactions of Amount_NGN times StandardCommissionRate
Bonus CommissionWhat was paid above the standard rateCommission Paid minus Standard Commission
Net EarningsWhat PayLink keptFee Revenue minus Commission Paid
Active AgentsHow many agents did at least one transaction?DISTINCTCOUNT of AgentID
What we are checkingWe want the self-check: the cards your finished report must show with nothing selected.
Self-check: cards, nothing selected
8,996
Transactions
₦321.7M
Transaction Value
₦321,728,400
₦2.8M
Fee Revenue
₦2,829,510
₦1.6M
Commission Paid
₦1,624,168
₦104.9K
Bonus Commission
₦104,944
41
Active Agents
What we are checkingWe want the second self-check: the same measures split by Date[Year].
Self-check: by year
YearTransactionsTransaction ValueFee RevenueCommission PaidActive Agents
20233,686₦132,245,000₦1,166,612₦670,42238
20245,310₦189,483,400₦1,662,898₦953,74634
Total8,996₦321,728,400₦2,829,510₦1,624,16841

Notice that the Active Agents total is not the two years added together. A measure recalculates for the total: it counts agents active in either year, once each.

If Your Numbers Are Higher

Almost always the duplicates. If your row count is higher than the self-check, a transaction was submitted twice and you still have both copies.

Your Deliverable

WhatDetail
Power BI dashboardBuilt independently, covering the five questions above
Short insight write-up3 to 5 key findings, written for Chiamaka, not for a classmate
Self-checkWhere did you get stuck? What would you ask an instructor if you could?

The findings are the part Chiamaka reads. Each one is a sentence with a number in it and a reason she should care: not "Lagos has the most transactions" but what that means for how she runs the network.

The self-check is for your tutor and for you. List every problem you found in the files and how you fixed it, then be honest about the step that took longest and why. A good self-check earns marks even where the dashboard fell short.

What to Hand In, by Day 14

  • YourName_SoloProject.pbix as a Google Drive link, set to "Anyone with the link can view".
  • A screenshot of Model view and of each dashboard page, in the same folder.
  • The findings and the self-check as Google Doc links.

Paste the links into the Solo Project hand-in box. You can edit until your tutor marks it.

How It Is Marked

CriterionMarksWhat the tutor checks
Cleaning and append20Both years clean and appended, 8,996 rows, every AgentID matching an agent
Model15Date table marked, relationships right, a star
Measures25All eight correct, named clearly, formatted; the self-check matches
Dashboard20All five questions answered, readable, titles that say findings
Findings10Written for Chiamaka, each with a number and a reason
Self-check10Every problem found and fixed is listed; honest about where you got stuck

Questions You Will Have

How do I know if an agent is active?

Active means at least one transaction in the period. Active Agents with a Year slicer on 2024 tells you how many were active that year; compare it with the number of agents registered.

Is a bonus worth it?

That is your judgement, and your findings should argue it from the numbers: compare what the bonus agents cost with what they bring in, against agents without a bonus.

Should the tier come from Agents or from Transactions?

From Agents, through the relationship. Tier describes the agent, so it lives in the dimension.

Can I start from my Webbo Oil file?

Start a new, empty .pbix. You may reuse your own formulas by retyping them for the new tables.

Tick Before You Move On

  • ☐ Transactions has 8,996 rows, and every AgentID matches an agent
  • ☐ The Date table has 731 rows and is marked
  • ☐ All eight measures match the self-check
  • ☐ My dashboard answers all five of Chiamaka's questions
  • ☐ I have the .pbix, the screenshots, the findings and the self-check as links

Quick Recap

PayLink is Weeks 1 and 2 again, alone, on a new business. Find the mess yourself with column profiling; list it in your self-check. Clean AgentID before any merge: Merge is case-sensitive. Bonus Commission is what was paid above the standard rate. Hand in by Day 14: .pbix, screenshots, findings for Chiamaka, and your self-check.

Final Scenario

On Day 14 Chiamaka reads your findings before she opens your file.

She learns how many of her 41 agents are really still working, which states carry the network, and, for the first time, what her bonus approvals have added up to. Then she opens the .pbix, clicks 2024, and every number changes together.

You are the first person to build this for her. Make it one she can trust.

Next, Day 12: time intelligence. Year to date, last year and growth, without typing a year into any formula.

Learn this with a real instructor

Free lessons take you a long way on your own. The full programmes add live classes, assignments, Skill Points and a certificate — built for African students.