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
"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
- Which states and which agents generate the most transaction volume and commission?
- Which transaction type is PayLink's biggest earner: deposits, withdrawals, airtime, bills or transfers?
- How much extra is being paid out in bonus commissions above the standard rate, and is it worth it?
- How does 2024 compare with 2023 across the network?
- 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)
- Transactions_2023.csv : 3,726 rows as received
- Transactions_2024.csv : 5,369 rows as received
- Agents.csv : the 41 agents: name, state, LGA, tier and the date they joined
- Commission_Rates.csv : the standard commission rate for each transaction type
| Column | What it holds |
|---|---|
| TransactionID | The transaction's unique reference |
| TransactionDate | The day it happened, typed three different ways |
| AgentID | Which agent did it. Matches Agents[AgentID] once it is cleaned |
| TransactionType | Deposit, withdrawal, transfer, airtime or bill payment, typed many ways |
| Amount_NGN | The money the customer moved |
| Fee_NGN | What the customer paid PayLink for the transaction: PayLink's income |
| CommissionPaid_NGN | What PayLink paid the agent for it, including any bonus |
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
| # | Task | Done when |
|---|---|---|
| 1 | Connect to the four files with Get Data, Text/CSV, Transform Data | Four queries |
| 2 | Clean both transaction files and append them into one query called Transactions | Transactions has 8,996 rows |
| 3 | Clean Agents (the State column needs it too) | 10 states, spelled once each |
| 4 | Merge each transaction's standard rate in from Commission_Rates on TransactionType | Every transaction has a StandardCommissionRate; row count unchanged |
| 5 | Create a Date table for 1 January 2023 to 31 December 2024 and mark it | 731 rows, marked |
| 6 | Relate Transactions to Date and to Agents | Many-to-one, Single relationships; a star |
| 7 | Write the measures below and check them against the self-check | Every card matches |
| 8 | Build the dashboard: one page per question is fine, or one page that answers all five | Every question answered with a visual |
| 9 | Write the findings and the self-check (below) | Two Google Docs |
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.
| Measure | What it answers | Built with |
|---|---|---|
| Transactions | How many transactions? | COUNTROWS |
| Transaction Value | How much money moved? | SUM of Amount_NGN |
| Fee Revenue | How much did PayLink earn from customers? | SUM of Fee_NGN |
| Commission Paid | How much did PayLink pay agents? | SUM of CommissionPaid_NGN |
| Standard Commission | What the agents would have been paid at the standard rate | SUMX over Transactions of Amount_NGN times StandardCommissionRate |
| Bonus Commission | What was paid above the standard rate | Commission Paid minus Standard Commission |
| Net Earnings | What PayLink kept | Fee Revenue minus Commission Paid |
| Active Agents | How many agents did at least one transaction? | DISTINCTCOUNT of AgentID |
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.
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
| What | Detail |
|---|---|
| Power BI dashboard | Built independently, covering the five questions above |
| Short insight write-up | 3 to 5 key findings, written for Chiamaka, not for a classmate |
| Self-check | Where 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
| Criterion | Marks | What the tutor checks |
|---|---|---|
| Cleaning and append | 20 | Both years clean and appended, 8,996 rows, every AgentID matching an agent |
| Model | 15 | Date table marked, relationships right, a star |
| Measures | 25 | All eight correct, named clearly, formatted; the self-check matches |
| Dashboard | 20 | All five questions answered, readable, titles that say findings |
| Findings | 10 | Written for Chiamaka, each with a number and a reason |
| Self-check | 10 | Every 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.