समझिए
"FY2025-26 पिछले साल और target के मुकाबले कैसा रहा — और अगले साल हमें किस पर ध्यान देना चाहिए?"
आपको देना है: refresh होने वाला डेटा मॉडल, 4 पिवट, 3 चार्ट, slicers वाला डैशबोर्ड, और आधे पेज का insight summary — सब एक वर्कबुक में।
1. डेटा (resources/capstone)
| फ़ाइल | क्या है |
|---|---|
data/sales_2024-04.csv … sales_2026-03.csv |
24 मासिक फ़ाइलें, 50,000 ऑर्डर लाइन: OrderID, OrderDate (dd-mm-yyyy टेक्स्ट), StoreID, ProductID, Qty, UnitPrice, Discount |
stores.csv |
StoreID, StoreName, City, Region (8 रो) |
products.csv |
ProductID, Product, Category, UnitPrice, UnitCost (12 रो) |
targets.csv |
Month, Region, Target — FY2025-26 के मासिक revenue targets (48 रो) |
जानबूझकर रखी समस्याएँ (असली एक्सपोर्ट की तरह): पीछे स्पेस वाले ~1,000 StoreID, ~240 खाली Discount, भारतीय टेक्स्ट में तारीख़ें।
2. स्टेप 1 — Power Query (मॉड्यूल 3) · ~12 मिनट
- फ़ोल्डर पाथ को
FolderPathनाम वाले सेल में रखें;pFolderबनाएँ (मॉड्यूल 3 लेसन 7)। stg_Sales: From Folder →.csvफ़िल्टर → Combine। Remove Other Columns (7 फ़ील्ड)। StoreID trim। locale en-IN से types (OrderDate date; Qty whole; UnitPrice, Discount decimal)। null Discount → 0।Revenue = [Qty] * [UnitPrice] * (1 - [Discount])जोड़ें। Load: Connection Only।- तीनों CSV से
dim_Stores,dim_Products,fact_Targets(trim, types; Targets का Month तारीख़)। fact_Sales= stg_Sales का Reference → Data Model में जोड़ें।chk_UnknownStores: Sales → Stores का Left Anti merge। 0 रो आनी चाहिए।
✅ जाँच: fact_Sales = 50,000 रो; StoreID में 8 अलग वैल्यू।
3. स्टेप 2 — डेटा मॉडल और measures (मॉड्यूल 4) · ~10 मिनट
- Relationships: fact_Sales → dim_Stores (StoreID), fact_Sales → dim_Products (ProductID), fact_Sales → Calendar (OrderDate → Date)।
- FY और FY month नंबर वाला Calendar; Date Table के रूप में mark करें।
- Targets:
fact_Targets[Region]को छोटीdim_Regionटेबल (North/South/East/West) से औरfact_Targets[Month]→ Calendar[Date] जोड़ें — या आसानी चाहें तो targets को SUMIFS वाले अलग पिवट में रखें। - Measures:
Total Revenue := SUM(fact_Sales[Revenue])
Total Cost := SUMX(fact_Sales, fact_Sales[Qty] * RELATED(dim_Products[UnitCost]))
Profit := [Total Revenue] - [Total Cost]
Margin % := DIVIDE([Profit], [Total Revenue])
Orders := DISTINCTCOUNT(fact_Sales[OrderID])
Avg Order Value := DIVIDE([Total Revenue], [Orders])
Revenue LY := CALCULATE([Total Revenue], SAMEPERIODLASTYEAR('Calendar'[Date]))
YoY % := DIVIDE([Total Revenue] - [Revenue LY], [Revenue LY])
Revenue YTD := TOTALYTD([Total Revenue], 'Calendar'[Date], "3/31")
Target := SUM(fact_Targets[Target])
Achievement % := DIVIDE([Total Revenue], [Target])
(dim_Region वाले तरीके में रीजनल पिवट dim_Region[Region] इस्तेमाल करें ताकि बिक्री और targets दोनों फ़िल्टर हों। dim_Stores[Region] → dim_Region भी जोड़ें।)
4. स्टेप 3 — चार पिवट (मॉड्यूल 2 + 4) · ~8 मिनट
| # | पिवट | Rows / Columns | Values |
|---|---|---|---|
| P1 | रीजन का प्रदर्शन | Region | Total Revenue, Revenue LY, YoY %, हिस्सा (% of column total) — फ़िल्टर FY2025-26 |
| P2 | Category का मुनाफ़ा | Category | Total Revenue, Profit, Margin % — FY2025-26 |
| P3 | मासिक trend | FY Month (Apr→Mar), Columns: FY | Total Revenue, Revenue YTD |
| P4 | Target ट्रैकर | Region × Month (FY2025-26) | Target, Total Revenue, Achievement % + RAG (मॉड्यूल 7) |
dim_Region[Region] वाला Region slicer चारों pivots से जोड़ें। Category केवल P1, P2, P3 से जोड़ें: targets Region × Month स्तर पर हैं, इसलिए P4 में सभी categories की बिक्री और targets मिलाएँ। Store/Product slicers भी P4 से न जोड़ें। FY slicer को P1, P2, P4 से जोड़ें; P3 अलग रखें ताकि दोनों FY की तुलना बनी रहे। P4 में पूरे महीने चुनें, दिन नहीं—targets month-start dates पर हैं। Dashboard में हर filter का scope लिखें।
तुलना का स्तर target table के grain से मिलना चाहिए। Business rule के बिना category targets न बाँटें।
5. स्टेप 4 — तीन चार्ट (मॉड्यूल 5) · ~7 मिनट
- Line: FY2025-26 बनाम FY2024-25 मासिक revenue (P3 से)। टाइटल मौसमी संदेश कहे।
- सॉर्ट bar या combo: Margin % लेबल के साथ category से revenue — मात्रा बनाम margin का सौदा दिखाता है।
- Waterfall: FY2024-25 revenue → +East +North +South +West → FY2025-26 revenue (P1 की वैल्यू से बनाएँ; पहला/आख़िरी totals के रूप में सेट करें)।
मॉड्यूल 5 लेसन 6 की सफ़ाई लगाएँ: शून्य से शुरू बार, सीधे लेबल, एक highlight रंग, निष्कर्ष वाले टाइटल।
6. स्टेप 5 — Insight summary · ~8 मिनट
आधा पेज, 5–7 बुलेट, हर एक में एक नंबर, एक तो क्या और (जहाँ हो सके) एक कार्रवाई। यह ढाँचा इस्तेमाल करें:
- हेडलाइन: कुल वृद्धि और target का नतीजा।
- वृद्धि कहाँ से आई (रीजन, ऑर्डर बनाम ऑर्डर वैल्यू)।
- हम कहाँ कमज़ोर हैं (target के मुकाबले रीजन/स्टोर)।
- Mix और margin (categories)।
- मौसम और योजना के लिए उसका मतलब।
- सुझाव (2–3, ठोस)।
- डेटा नोट्स (की गई सफ़ाई, मान्यताएँ)।
7. Answer key — अपने नंबर जाँचें
| जाँच | अपेक्षित |
|---|---|
| लोड हुई रो | 50,000 (24 फ़ाइलें) |
| FY2024-25 revenue / profit / margin | 26,56,58,820 / 4,45,72,110 / 16.8% |
| FY2025-26 revenue / profit / margin | 29,49,96,410 / 4,88,02,160 / 16.5% |
| Orders FY24-25 → FY25-26 | 23,691 → 26,309 |
| Revenue YoY | +11.0% |
| रीजन के हिसाब से YoY | East +11.4%, North +11.9%, South +15.1%, West +6.3% |
| FY25-26 में रीजन हिस्सा | North 32.0%, West 25.3%, South 24.2%, East 18.5% |
| FY25-26 category revenue और margin | Electronics 21.35 करोड़, 12.3% · Furniture 4.13 करोड़, 25.6% · Kitchen 3.58 करोड़, 28.5% · Home Decor 0.44 करोड़, 39.6% |
| FY25-26 revenue में Oct + Nov का हिस्सा / margin | 24.6% / 10.9% (बाकी साल 18.4%) |
| सबसे ऊपर / नीचे का स्टोर | Karol Bagh 4,93,63,475 / Salt Lake 2,60,91,672 |
| FY25-26 target / achievement | 30,55,00,000 / 96.6% |
| रीजन के हिसाब से achievement | East 96.8%, North 97.3%, South 100.1%, West 92.4% |
| RAG, 48 रीजन-महीने | 19 Green, 13 Amber, 16 Red |
| Avg order value | दोनों साल ₹11,213 (सपाट) |
Rounding से ₹1–2 का फ़र्क ठीक है।
8. Insight summary का उदाहरण
- Revenue 11.0% बढ़कर ₹29.50 करोड़ हुआ, पर target का सिर्फ़ 96.6% पहुँचे (₹1.05 करोड़ कम)। Target 15% वृद्धि मानकर बना था।
- वृद्धि पूरी तरह ज़्यादा ऑर्डर से आई (+11.1%, 23,691 → 26,309); average order value ₹11,213 पर सपाट रहा। → टोकरी बड़ी करने के लिए bundles/upselling आज़माएँ।
- West समस्या वाला रीजन है: सबसे धीमी वृद्धि (+6.3%) और target से सबसे दूर (92.4%, ₹61 लाख कम)। South अकेला target से ऊपर रीजन है (+15.1% वृद्धि)। → अगले साल का target तय करने से पहले West के स्टोर-स्तर के कारण (footfall, conversion, assortment) देखें।
- Electronics revenue का 72% है पर profit का सिर्फ़ 54% (margin 12.3%), जबकि Kitchen (28.5%) और Furniture (25.6%) दोगुना margin कमाते हैं। → Kitchen/Furniture का हिस्सा बढ़ाएँ; Electronics पर छूट पर नज़र रखें।
- दिवाली के महीनों (अक्टूबर–नवंबर) ने साल का 24.6% revenue दिया, पर बाकी दस महीनों के 18.4% के मुकाबले 10.9% margin पर, क्योंकि त्योहारी छूट ज़्यादा होती है। → अक्टूबर–नवंबर के स्टॉक और स्टाफ़ की योजना अगस्त से बनाएँ; मासिक समीक्षा में MoM नहीं, YoY इस्तेमाल करें।
- डेटा नोट्स: 1,024 स्टोर कोड trim किए, 239 खाली discount को 0 माना, तारीख़ें dd-mm-yyyy (en-IN) से पढ़ीं। Targets = पिछला साल × 1.15।
9. ख़ुद की समीक्षा का पैमाना
| क्षेत्र | बेहतरीन |
|---|---|
| Power Query | parameter पाथ, locale के साथ types, टूटने वाले फ़िक्स कॉलम नहीं, जाँच query = 0 रो, स्टेप के नाम बदले |
| मॉडल | star schema, marked Calendar, अनुपातों के लिए measures (calculated columns नहीं) |
| पिवट | सही नंबर (answer key), साफ़ लेआउट, जुड़े slicers |
| चार्ट | सही चार्ट परिवार, ईमानदार axes, निष्कर्ष वाले टाइटल, chartjunk नहीं |
| Insights | हर बुलेट में नंबर, तो-क्या और कार्रवाई; ≤ आधा पेज |
| Refresh टेस्ट | अप्रैल 2026 की डमी CSV जोड़ें → Refresh All → सब कुछ बिना एरर अपडेट |
आम गलतियाँ
मॉडल की जगह कच्चे CSV इम्पोर्ट पर पिवट बनाना। Margin % को calculated column बनाना। मौसमी बिज़नेस में अक्टूबर की तुलना सितंबर (MoM) से। ऐसे insight बुलेट जो बिना सुझाव के सिर्फ़ नंबर दोहराएँ।