0% found this document useful (0 votes)
4 views10 pages

ReadyNest Week2 PythonEdition

Uploaded by

richaroychd
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views10 pages

ReadyNest Week2 PythonEdition

Uploaded by

richaroychd
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

ReadyNest Corp.

WEEK 2 — DATA ANALYTICS INTERNSHIP • PYTHON EDITION

Customer Insights &


Recommendation Project
Complete 3-Day Build Plan • Python Data Cleaning & EDA • Power BI Dashboard • Resources Included

📋 Project Overview
This is your ReadyNest Week 2 internship task. You will analyze customer and sales data, build an interactive
Power BI dashboard, and prepare a business insights report. This document gives you a complete day-by-day
execution plan, explains every feature, and lists the best resources to learn everything from scratch.

📁 📊 💡 📤
4 Deliverables 5 Analysis Areas 5+ Suggestions Submit as
Dataset, EDA, Dashboard, Customers, Sales, Actionable business PDF or PPT + Power BI file
Report Products, Segments recommendations

Tools & Setup Required


Software to Install Before Day 1
• Python 3.10+ — download from [Link] (tick 'Add to PATH' during install)
• VS Code — code editor; install the Python extension from the Extensions panel
• Jupyter Notebook — run: pip install notebook in terminal, then: jupyter notebook
• Python libraries — run in terminal: pip install pandas numpy matplotlib seaborn openpyxl xlsxwriter scipy
• Power BI Desktop — download FREE from [Link]/en-us/power-bi (Windows only; Mac = use
browser)
• Microsoft Excel or Google Sheets — only needed to view/open the raw dataset file

📥 Dataset Tip: If ReadyNest has not given you a dataset, ask ChatGPT: 'Generate a Python script that
creates a retail CSV dataset with 500 rows: CustomerID, Name, Region (North/South/East/West), OrderDate
(2022-2024), ProductName, Category, Quantity, UnitPrice, TotalSales. Make it realistic and save as
[Link]'

🔍 Every Feature Explained


1. Data Cleaning & Preparation — Python with Pandas
Python + pandas is the professional standard for data cleaning. Every step below is done in a Jupyter Notebook
(.ipynb) file which also serves as your EDA deliverable.
• Step 1 — Load data: df = pd.read_csv('[Link]') or pd.read_excel('[Link]')
• Step 2 — Inspect: [Link] / [Link]() / [Link]() / [Link]()
• Step 3 — Find missing values: [Link]().sum() — then fill or drop as needed
• Step 4 — Remove duplicates: df.drop_duplicates(inplace=True)
• Step 5 — Fix data types: df['OrderDate'] = pd.to_datetime(df['OrderDate'])
• Step 6 — Standardize text: df['Region'] = df['Region'].[Link]().[Link]()
• Step 7 — Add calculated columns: df['TotalSales'] = df['Quantity'] * df['UnitPrice']
• Step 8 — Export clean data: df.to_csv('customers_clean.csv', index=False) — load THIS into Power BI
🐍 Pro Tip: Your cleaned Jupyter Notebook IS your EDA deliverable. Add markdown cells with headings and
observations between your code cells to make it look professional.

2. Customer Overview
Answer: Who are our customers? How many are new vs returning? Is our base growing?
• Total Customers = COUNT of unique CustomerIDs
• New vs Returning = flag customers with 1 order (New) vs 2+ orders (Returning)
• Growth Trend = count new customers per month — plot as line chart
• In Power BI: Create measures using DAX — New Customers = CALCULATE(COUNTROWS(Customers),
Customers[OrderCount] = 1)

3. Sales Performance
Answer: How much are we selling? When do we sell the most? Which regions drive revenue?
• Overall Sales = SUM of TotalSales column
• Monthly Trends = Sales grouped by Month — line chart in Power BI
• Region-wise Sales = Sales grouped by Region — bar chart or filled map
• DAX: Monthly Sales = CALCULATE(SUM(Orders[TotalSales]), DATESMTD(Orders[OrderDate]))

4. Product Performance
Answer: Which products make the most money? Which are failing?
• Top 5 Products = bar chart sorted descending by TotalSales
• Least Selling = filter bottom 5 by sales — flag for removal or promotion
• Category Analysis = sales grouped by ProductCategory — pie or treemap
• Market Basket Analysis = which products are bought together (use Excel COUNTIFS or Python mlxtend
library)

5. Customer Segmentation (RFM Method) — Python


Do the entire RFM calculation in Python — then load the result into Power BI for visualization.
• R = Recency: [Link]('CustomerID')['OrderDate'].max() → days since last order (lower = better)
• F = Frequency: [Link]('CustomerID')['OrderID'].count() → total orders (higher = better)
• M = Monetary: [Link]('CustomerID')['TotalSales'].sum() → total spent (higher = better)
• Score each 1-3 using [Link](rfm['Recency'], q=3, labels=[3,2,1]) — note Recency is reversed
• RFM_Score = R_Score + F_Score + M_Score — range 3 to 9
• Segment = High Value (7-9), Medium Value (4-6), Low Value (3)
• Export: rfm.to_csv('rfm_segments.csv') → load this into Power BI
🐍 Python RFM code: snapshot_date = df['OrderDate'].max() + timedelta(1) then rfm =
[Link]('CustomerID').agg(Recency=('OrderDate', lambda x: (snapshot_date - [Link]()).days),
Frequency=('OrderID','count'), Monetary=('TotalSales','sum'))

6. Power BI Dashboard — Core Visuals


Build these 5 core visuals on your main dashboard page:
• KPI Cards: Total Customers, Total Sales ($), Total Orders, Avg. Order Value — use Card visual
• Sales by Month: Line chart — X axis = Month, Y axis = SUM(Sales)
• Sales by Region: Filled Map or bar chart — use Region as category
• Top 5 Products: Horizontal bar chart — sort by Sales descending, filter top 5
• Customer Segment: Donut chart — Segment on legend, Sales on values

7. Slicers & Filters


Slicers let users filter all visuals at once. Mandatory slicers for this project:
• Date Range Slicer: Use 'Between' style on OrderDate
• Region Slicer: List style — user taps a region to filter everything
• Product Category Slicer: Dropdown style
• Customer Segment Slicer: Checkbox style (High/Medium/Low)
⚙️How to add: In Power BI → Insert → Slicer → drag your column into the Field well. Right-click slicer to
change style.

8. Drill-Through Pages
Drill-through means: right-click a region on the map → jump to a dedicated page showing only that region's data.
• Create a new page called 'Region Detail'
• Add Region to the Drill-through section in the Filters pane
• Build charts on that page — they auto-filter to the drilled region
• Add a Back button (Insert → Buttons → Back) for navigation

9. Drill-Down Charts
Drill-down lets you click Year → see Months → click Month → see Weeks → Days.
• In your Sales by Date chart, add a Date Hierarchy: Year > Quarter > Month > Day
• Power BI creates this automatically if your date column is Date type
• Use the drill-down arrows that appear on chart hover (double arrow = go deeper, single = drill one level)

10. Dynamic Titles


Titles change based on selected filter. Example: 'Sales in North Region — 2024' changes when you pick South.
• Create a new DAX Measure: TitleMeasure = 'Sales in ' & SELECTEDVALUE(Regions[Region], 'All
Regions') & ' — ' & SELECTEDVALUE(Dates[Year], 'All Years')
• Click on your chart title → Format → Title → turn on Conditional Formatting → choose your TitleMeasure

11. Row-Level Security (RLS)


Different users see only their own region's data when the report is shared online.
• In Power BI Desktop → Modeling tab → Manage Roles → Create role
• Add a DAX filter: [Region] = USERPRINCIPALNAME() — or hardcode: [Region] = 'North'
• Test using View As → select a role to see what that user would see
• To deploy: Publish to Power BI Service → Dataset settings → Security → assign users to roles

12. Sales Forecasting


Power BI has a built-in AI forecast line — no coding needed.
• Click on your Sales by Month line chart
• In the Analytics pane (magnifying glass icon) → Forecast → turn on
• Set forecast length (e.g., 3 months), confidence interval (95%), seasonality (12 for monthly)
• The grey shaded area shows predicted range — screenshot this for your insights report
13. Churn Risk Score
Flag customers who haven't ordered in X days — they might leave.
• Create a column: DaysSinceLastOrder = TODAY() - MAX(OrderDate) for each customer
• Create ChurnRisk column: IF DaysSinceLastOrder > 90 then 'High Risk', > 60 then 'Medium Risk', else
'Active'
• Add this as a slicer and a KPI card showing count of High Risk customers
• In your business suggestions, recommend targeting these customers with re-engagement emails

14. Slow-Moving Inventory Alerts


Identify products that haven't sold recently or sell below average.
• Calculate: AvgSalesPerProduct = AVERAGE of all product sales
• Flag: SlowMover = IF TotalSales < (AvgSalesPerProduct * 0.5) then 'Slow Mover' else 'Normal'
• Show in a table visual with conditional formatting — red for slow movers

15. Profit Margin by Location


If your dataset has cost data, calculate: ProfitMargin = (Revenue - Cost) / Revenue × 100%
• Show as a filled map or bar chart — darker color = higher margin
• If no cost data exists, estimate margin tier (High/Medium/Low) based on product category industry norms

16. Executive Summary Page


A single-page high-level snapshot for managers. Less charts, more numbers and callouts.
• Big KPI cards across the top: Revenue, Customers, Growth %, Top Region
• 1-2 charts only: Monthly trend + Segment donut
• Text box below: 3-4 bullet point written summary of key findings
• Keep design clean — white background, teal accents matching ReadyNest brand

17. Storytelling Narrative Page


A plain-language page that explains your findings to a non-technical manager.
• Use Power BI's Text Box to write a story: 'Our top 25% customers drive 60% of revenue...'
• Embed 2-3 supporting mini-charts next to the text
• This page becomes the intro of your PDF/PPT report submission

18. Mobile-Optimized Layout


Create a mobile view so the dashboard works on phones.
• In Power BI Desktop → View tab → Mobile Layout
• Drag and resize your visuals for portrait mobile screen
• Prioritize: KPI cards on top, then 1-2 charts below
• Slicers may need to be simplified or removed for mobile

📅 Your 3-Day Execution Plan


Total estimated time: 12–15 hours across 3 days. Adjust based on your pace.

DAY 1 Foundation
Dataset Prep · EDA · Customer Segmentation
Morning Session (3–4 hours)
Dataset Setup + Python Environment
▸ Get or create your dataset (ask internship guide for ReadyNest dataset)
▸ If no dataset given: ask ChatGPT to generate a Python script that creates a 500-row
CSV
▸ Columns needed: CustomerID, Name, Region, OrderDate, ProductName, Category,
Quantity, UnitPrice, TotalSales, OrderID
📥 ▸ Open VS Code → create new folder 'ReadyNest_Week2' → open terminal inside it
Hour 1
▸ Run: pip install pandas numpy matplotlib seaborn openpyxl
▸ Create new file: cleaning_eda.ipynb (Jupyter Notebook)
💡 Note: ChatGPT prompt for dataset: 'Write a Python script using pandas/numpy/faker to
generate a retail CSV with 500 rows: CustomerID, Name, Region (North/South/East/West),
OrderDate (Jan 2022 to Dec 2023), ProductName, Category (Electronics/Clothing/Food/Home),
Quantity (1-10), UnitPrice, TotalSales. Save as [Link]'

Data Cleaning in Python (Jupyter Notebook)


▸ Cell 1 — Import: import pandas as pd, numpy as np
▸ Cell 2 — Load: df = pd.read_csv('[Link]') then [Link](), [Link], [Link]()
▸ Cell 3 — Check nulls: [Link]().sum() — drop or fill:
[Link]([Link](numeric_only=True), inplace=True)
🧹 ▸ Cell 4 — Duplicates: print([Link]().sum()) then df.drop_duplicates(inplace=True)
Hour 2 ▸ Cell 5 — Fix types: df['OrderDate'] = pd.to_datetime(df['OrderDate'])
▸ Cell 6 — Standardize: df['Region'] = df['Region'].[Link]().[Link]()
▸ Cell 7 — Verify TotalSales: df['TotalSales_check'] = df['Quantity'] * df['UnitPrice']
▸ Cell 8 — Export clean data: df.to_csv('customers_clean.csv', index=False)
💡 Note: Add a markdown cell at the top of the notebook: '# ReadyNest Week 2 — Data
Cleaning & EDA' — this makes it look professional for submission.

Exploratory Data Analysis — Python Charts


▸ Chart 1 — Sales by Month: [Link](df['OrderDate'].dt.to_period('M'))
['TotalSales'].sum().plot(kind='line')
▸ Chart 2 — Top 10 Customers: [Link]('Name')
['TotalSales'].sum().nlargest(10).plot(kind='barh')
▸ Chart 3 — Sales by Region: [Link]('Region')['TotalSales'].sum().plot(kind='bar',
color='teal')
📊 ▸ Chart 4 — Sales by Category: [Link]('Category')['TotalSales'].sum().plot(kind='pie',
Hour 3-4
autopct='%1.1f%%')
▸ Chart 5 — Correlation heatmap: import seaborn as sns;
[Link]([Link](numeric_only=True), annot=True)
▸ Save each chart: [Link]('chart_monthly_sales.png', dpi=150, bbox_inches='tight')
▸ Write markdown cell after each chart: your observation in plain English
💡 Note: These saved PNG files go directly into your Business Insights Report. Keep all plots in
the same notebook — the notebook itself is also a deliverable.

Afternoon Session (2–3 hours)

👥 Customer Segmentation — Python RFM


Hour 5 ▸ from datetime import timedelta
▸ snapshot = df['OrderDate'].max() + timedelta(1)
▸ rfm = [Link]('CustomerID').agg(Recency=('OrderDate', lambda x: (snapshot-
[Link]()).days), Frequency=('OrderID','count'), Monetary=('TotalSales','sum')).reset_index()
▸ rfm['R'] = [Link](rfm['Recency'], q=3, labels=[3,2,1]).astype(int)
▸ rfm['F'] = [Link](rfm['Frequency'].rank(method='first'), q=3, labels=[1,2,3]).astype(int)
▸ rfm['M'] = [Link](rfm['Monetary'], q=3, labels=[1,2,3]).astype(int)
▸ rfm['RFM_Score'] = rfm['R'] + rfm['F'] + rfm['M']
▸ rfm['Segment'] = rfm['RFM_Score'].apply(lambda x: 'High Value' if x>=7 else ('Low
Value' if x<=3 else 'Medium Value'))
▸ rfm.to_csv('rfm_segments.csv', index=False) ← load this into Power BI
💡 Note: Quick check: rfm['Segment'].value_counts() — you should see roughly 25% High, 50%
Medium, 25% Low. Also plot: rfm['Segment'].value_counts().plot(kind='pie') for a preview of your
donut chart.

Start Business Insights Report (Word/PPT)


▸ Create a new Word doc or PowerPoint
▸ Page 1: Project title, your name, date, ReadyNest logo
📝 ▸ Page 2: Dataset overview — row count, column list, date range, region list
Hour 6-7 ▸ Page 3: EDA findings with your 5 observations from earlier
▸ Page 4: Customer segmentation table (counts per segment)
▸ Leave space for Power BI charts — you'll add them on Day 3
💡 Note: Start the report NOW so you don't panic on Day 3. Just skeleton it today.

DAY 2 Power BI Build


Core Dashboard · Advanced Features

Morning Session (3–4 hours)


Load Python Output CSVs into Power BI
▸ You should now have 2 CSV files from Day 1: customers_clean.csv and
rfm_segments.csv
▸ Open Power BI Desktop → Get Data → Text/CSV → load customers_clean.csv
▸ Repeat → load rfm_segments.csv — this has your Segment column ready
▸ In Power Query Editor: ensure OrderDate is Date type, TotalSales is Decimal Number
🔗 ▸ Merge tables if needed: Home → Merge Queries → join on CustomerID
Hour 1
▸ Create Date Table in DAX: DateTable = CALENDAR(MIN(Orders[OrderDate]),
MAX(Orders[OrderDate]))
▸ Add Year, Month, MonthName columns to DateTable, then link: Orders[OrderDate] →
DateTable[Date]
💡 Note: Since Python already cleaned your data, Power Query should need minimal work. The
Segment column from rfm_segments.csv flows directly into your donut chart.

Create DAX Measures


▸ Total Customers = DISTINCTCOUNT(Orders[CustomerID])
▸ Total Sales = SUM(Orders[TotalSales])
▸ Total Orders = COUNTROWS(Orders)
📐 ▸ Avg Order Value = DIVIDE([Total Sales], [Total Orders])
Hour 2
▸ New Customers = CALCULATE([Total Customers], Orders[OrderCount] = 1)
▸ Returning Customers = [Total Customers] - [New Customers]
💡 Note: Store all measures in a dedicated 'Measures' table. Right-click in Fields pane → New
Table → name it '_Measures'.

Build Core Dashboard Page


▸ Add 4 KPI Cards at the top: Total Customers, Total Sales, Total Orders, Avg Order
Value
▸ Add Sales by Month line chart: X = MonthName, Y = Total Sales
📊 ▸ Add Top 5 Products bar chart: filter to Top N = 5 by Total Sales
Hour 3-4
▸ Add Customer Segment donut chart: Segment field, Total Sales values
▸ Add Sales by Region bar chart or filled map
▸ Format all with teal/dark ReadyNest colors
💡 Note: Keep the main page clean — max 6 visuals. Add more detail on drill-through pages.
Afternoon Session (3–4 hours)
Add Slicers
▸ Insert 4 slicers: Date Range (Between style), Region (List), Category (Dropdown),
Segment (Checkbox)
🔽 ▸ Position slicers on the left panel of your dashboard
Hour 5
▸ Test: click each slicer to confirm all charts update correctly
▸ Sync slicers across pages: View → Sync Slicers → select all pages
💡 Note: Use Format → Style on slicers to match your dashboard color scheme.

Drill-Through Page — Region Detail


▸ Create new page: right-click page tab → Add Page → name it 'Region Detail'
▸ In the Filters pane on this page, drag Region to 'Drill-through filters'
Hour 6 ▸ Add charts: Monthly sales for that region, top products in that region, customer count
▸ Add Back button: Insert → Buttons → Back
▸ Test: go to main page, right-click a region on the chart → Drill Through → Region Detail

Advanced Features
▸ Forecasting: Click Sales by Month chart → Analytics pane → Forecast → enable, set 3
months ahead
▸ Dynamic Titles: Create TitleMeasure DAX, apply via conditional formatting on chart
📈 titles
Hour 7
▸ Drill-Down: Ensure your Date hierarchy is Year > Quarter > Month in your line chart
▸ Churn Risk: Create DaysSinceLastOrder column, ChurnRisk category, add KPI card
💡 Note: Do forecasting and dynamic titles first — they are the most impressive features for your
submission.

Mobile Layout + Executive Page


▸ View → Mobile Layout → drag KPI cards and top chart to mobile canvas
📱 ▸ Create new page: 'Executive Summary' — 4 big KPIs + 1 trend chart + text box
Hour 8
▸ Create 'Insights Story' page — text boxes explaining findings in plain English
▸ Review entire dashboard for consistent colors and fonts

DAY 3 Report & Submission


Insights · Suggestions · PDF Export

Morning Session (3 hours)


Row-Level Security (Optional but Impressive)
▸ Modeling tab → Manage Roles → New Role → name it 'North Region'
▸ Apply filter: Region[Region] = 'North'
🔒 ▸ Test using Modeling → View As → select role
Hour 1 ▸ Document in your report: 'RLS implemented — each regional manager sees only their
data'
💡 Note: RLS only works fully after publishing to Power BI Service (free account). For
submission, screenshot the role setup to prove it's done.

💡 Business Suggestions — Write Top 5+


Hour 2-3 ▸ Suggestion 1: Target High Value customers with loyalty program — they are 25% of
base but drive 60%+ revenue
▸ Suggestion 2: Re-engage Churn Risk customers (90+ days inactive) with 15% discount
email campaign
▸ Suggestion 3: Promote underperforming products as bundles with top-selling products
(market basket insight)
▸ Suggestion 4: Increase marketing spend in highest-margin region identified in your
analysis
▸ Suggestion 5: Introduce monthly subscription plan for frequent buyers (High Value,
High Frequency)
▸ Add 1-2 more based on YOUR data — make them specific with numbers
💡 Note: Suggestions backed by data numbers are worth much more. Don't say 'increase sales'
— say 'increasing repeat purchase rate from 30% to 40% could add X in revenue'.

Afternoon Session (2–3 hours)


Complete the Business Insights Report
▸ Section 1: Executive Summary (1 page) — key numbers and 3 top findings
▸ Section 2: Data Overview — dataset description, cleaning steps done
📋 ▸ Section 3: Analysis Findings — Customer overview, Sales, Products, Segments (with
Hour 4 chart screenshots)
▸ Section 4: Customer Segmentation Table — counts and % per segment
▸ Section 5: Key Insights — numbered list of 8-10 specific findings with data evidence
▸ Section 6: Business Suggestions — your 5+ suggestions with justifications

Export & Package Submission


▸ Power BI: File → Export → Export to PDF → save as 'Dashboard_Report.pdf'
▸ OR: Export to PowerPoint (File → Export → Export to PowerPoint)
▸ Screenshot each dashboard page individually as backup
📤 ▸ Save your .pbix file (Power BI project file) — include this in submission
Hour 5 ▸ Package: Dashboard PDF/PPT + Business Report PDF + cleaned dataset Excel
▸ Name files clearly: 'ReadyNest_Week2_Dashboard.pbix',
'ReadyNest_Week2_Report.pdf'
💡 Note: ReadyNest says 'PDF or PPT format'. Export from Power BI directly — it preserves all
visuals perfectly.

Final Review Checklist


▸ All 5 analysis areas covered: Customer Overview, Sales, Products, Segmentation,
Behavior
✅ ▸ Dashboard has KPI cards, line chart, map/region chart, bar chart, donut chart
Hour 6 ▸ Slicers working and synced across pages
▸ At least 1 advanced feature (forecast, drill-through, or dynamic titles)
▸ Business report has 5+ specific, data-backed suggestions
▸ All files named and packaged for submission

📚 Learning Resources — Sorted by Day


Watch Before / During Day 1 — Data & EDA
Platform Resource Why / When

YouTube Pandas Data Cleaning Full Tutorial — Keith Best pandas cleaning video — covers
Galli all steps from Day 1 Hour 2
Search: 'Keith Galli pandas data cleaning tutorial'

YouTube Pandas EDA Tutorial — Keith Galli Excellent Python EDA walkthrough, 1 hr
Search: 'Keith Galli pandas EDA tutorial' — watch this before Day 1 Hour 3

YouTube Matplotlib & Seaborn Full Course — Corey Learn all chart types you need for your
Schafer EDA charts
Search: 'Corey Schafer matplotlib tutorial'

YouTube RFM Customer Segmentation Python — Data Exact RFM code walkthrough — watch
Professor before Day 1 Hour 5
Search: 'Data Professor RFM segmentation Python'

YouTube Jupyter Notebook Tutorial for Beginners — If new to Jupyter, watch this first — 30
Corey Schafer min
Search: 'Corey Schafer Jupyter Notebook beginners'

Watch Before / During Day 2 — Power BI


Platform Resource Why / When

YouTube Power BI Full Course for Beginners — Guy in a THE best Power BI channel. Watch
Cube their beginner playlist first.
Search: 'Guy in a Cube Power BI full course'

YouTube Power BI Dashboard from Scratch — Chandoo End-to-end dashboard build, very
Search: 'Chandoo Power BI dashboard tutorial' practical for Day 2

YouTube DAX for Beginners — SQLBI / Marco Russo Learn all the DAX measures you need
Search: 'DAX tutorial beginners SQLBI' in 1 hour

YouTube Power BI Drill-Through Tutorial — How To Exactly what you need for the drill-
Power BI through feature
Search: 'How to Power BI drill through pages'

YouTube Row Level Security Power BI — Pragmatic Short, clear RLS walkthrough for Day 3
Works
Search: 'Pragmatic Works RLS Power BI'

YouTube Power BI Forecast Built-in — Avi Singh 5-min tutorial on enabling the forecast
PowerBI line
Search: 'Avi Singh Power BI forecasting'

Bonus / Reference Resources


Platform Resource Why / When

Website Microsoft Learn — Power BI Documentation Official docs — search any feature you
[Link]/power-bi get stuck on

YouTube Power BI Dynamic Titles — How to Power BI Exact tutorial for the dynamic titles
Search: 'dynamic titles Power BI conditional formatting' feature

YouTube Mobile Layout Power BI — Guy in a Cube Quick 10-min video for the mobile layout
Search: 'Guy in a Cube mobile layout Power BI' feature

Kaggle Retail Customer Dataset — free download Use as your dataset if ReadyNest
[Link] → search 'retail customer segmentation' doesn't provide one

YouTube Business Report in PowerPoint — Leila Make your PPT report look professional
Gharani quickly
Search: 'business report PowerPoint professional'

🐍 Quick Reference — Python Code Cheatsheet


Task Python Code
Load CSV df = pd.read_csv('[Link]')

Load Excel df = pd.read_excel('[Link]', sheet_name='Sheet1')

Inspect data [Link]() | [Link]() | [Link]() | [Link]


Missing values [Link]().sum() → [Link]() or [Link](value)

Remove duplicates df.drop_duplicates(inplace=True)

Fix date column df['OrderDate'] = pd.to_datetime(df['OrderDate'])

Standardize text df['Region'] = df['Region'].[Link]().[Link]()

Add column df['TotalSales'] = df['Quantity'] * df['UnitPrice']

Group & sum [Link]('Region')['TotalSales'].sum().reset_index()

Top N customers [Link]('Name')['TotalSales'].sum().nlargest(10)

Monthly sales [Link](df['OrderDate'].dt.to_period('M'))


['TotalSales'].sum()

Filter rows df[df['Region'] == 'North'] or df[df['TotalSales'] >


1000]

RFM — Recency (snapshot_date - [Link]('CustomerID')


['OrderDate'].max()).[Link]

RFM — Frequency [Link]('CustomerID')['OrderID'].count()

RFM — Monetary [Link]('CustomerID')['TotalSales'].sum()

Binning/Scoring [Link](rfm['Monetary'], q=3, labels=[1,2,3]).astype(int)

Export clean CSV df.to_csv('customers_clean.csv', index=False)

Save a chart [Link]('[Link]', dpi=150, bbox_inches='tight')

⚡ Quick Reference — Important DAX Formulas


Measure Name DAX Formula
Total Sales Total Sales = SUM(Orders[TotalSales])

Total Customers Total Customers = DISTINCTCOUNT(Orders[CustomerID])

Total Orders Total Orders = COUNTROWS(Orders)

Avg Order Value Avg Order Value = DIVIDE([Total Sales], [Total Orders])

New Customers New Customers =


CALCULATE(DISTINCTCOUNT(Orders[CustomerID]),
Orders[OrderCount] = 1)

Monthly Sales MoM Sales = CALCULATE([Total Sales],


DATESMTD(Orders[OrderDate]))

Dynamic Title ChartTitle = "Sales in " & SELECTEDVALUE(Orders[Region],


"All Regions")

High Value Count High Value Cust = CALCULATE([Total Customers],


Customers[Segment] = "High Value")

Churn Risk Add column: DaysSince = DATEDIFF(MAX(Orders[OrderDate]),


TODAY(), DAY)

ReadyNest Corp. • Week 2: Customer Insights & Recommendation Project • Analyze. Understand. Suggest. Grow.

You might also like