Module 5 · Lecture 19

Project Presentations I

The capstone brief, the rubric you are marked against, and the run sheet for presentation day

⏱ 90 minutes 👥 Teams of 3–4 📦 Deliverable: model + dashboard + one defensible recommendation 🎤 Format: 12 min present + 5 min Q&A

Contents

  1. Learning Objectives
  2. Session Timeline
  3. The Project Brief in Full
  4. Choosing Your Dataset
  5. Mandatory Technical Requirements
  6. The Presentation Format
  7. The Grading Rubric
  8. Common Failure Modes
  9. Run Sheet, Peer Review & Demo Hygiene
  10. Key Takeaways

Learning Objectives

Session Timeline

The timings below assume a worked example of a ten-team cohort — five teams present today, five in Lecture 20. The lecturer adjusts slot length to the actual cohort size; the arithmetic, not the format, is what changes.

TimeSegmentActivity
0–4 minOpening & Ground RulesTiming protocol, Q&A etiquette, peer-evaluation forms distributed
4–21 minTeam 112 min presentation + 5 min Q&A (hard stop at 12:00)
21–38 minTeam 212 min presentation + 5 min Q&A
38–55 minTeam 312 min presentation + 5 min Q&A
55–72 minTeam 412 min presentation + 5 min Q&A
72–89 minTeam 512 min presentation + 5 min Q&A
89–90 minClosePeer forms collected; running order for Lecture 20 confirmed

Why the opening is only four minutes: five seventeen-minute slots consume eighty-five of the ninety available. Everything administrative that can be read in advance — this page — is not repeated in the room. Arrive having read it.

Section 1: The Project Brief in Full

This page does two jobs. In the weeks before the session it is the brief you build against. On the day itself it is the run sheet. Both halves are below; read the brief now and the run sheet again the night before.

The Deliverable, in One Sentence

Take a real dataset, model it in a non-relational database, build a dashboard on top of it, and present a business recommendation that the data actually supports.

Four nouns in that sentence carry weight, and each is a place teams lose marks.

WordWhat It DemandsHow Teams Get It Wrong
RealData someone generated by doing something — transactions, logs, filings, sensor readingsA synthetic toy file with 200 perfectly clean rows and no missing values
ModelA deliberate decision about shape: what is embedded, what is referenced, how keys are namedDumping a CSV into one flat collection and calling it a document model
DashboardA view a named decision-maker would open on a Monday morningCharts built because the tool offered them
RecommendationAn action, an owner, and a number attached to the expected effect"The business should look into this further"

Team Composition

Teams of three to four. Smaller teams are permitted but are marked against the same rubric — there is no scaling for headcount, so a pair should scope accordingly. Larger teams are not permitted; five people on a project of this size reliably produces two passengers.

Divide the work by stage, not by chart. A workable split for a team of four:

1

Data owner — sourcing, cleaning, loading, and documenting what was thrown away and why. This is the least glamorous role and the one the Q&A punishes hardest if nobody did it.

2

Model owner — the embed-versus-reference decision, or the Redis key schema. Must be able to answer "why not the other way?" in one sentence.

3

Query owner — the aggregation pipelines, the index work, the explain() evidence. Owns the performance story.

4

Narrative owner — the dashboard layout, the slide arc, and the recommendation. Decides what gets cut, which is the hardest call on the team.

Every team member must speak during the twelve minutes. A team that fields one presenter and three spectators loses marks under Presentation & Q&A, and the silent members are exposed in questioning.

Section 2: Choosing Your Dataset

You may use the course dataset — bdma.rides, the 15,000 Delhi NCR ride bookings you have worked with since Lecture 12 — or bring your own. Bringing your own is strongly encouraged, and here is the honest reason: the Uber dataset has been mined in front of you for six lectures. You already know that 62.29% of bookings complete, that drivers cancel 17.99% of them, that the estimated revenue leak is ₹13,33,539, that 18:00 is the busiest hour at 1,373 bookings, and that the worst failure rate among the hours that actually carry volume is 17:00 at 39.92% — higher than the 18:00 peak's 37.14%, even though 18:00 takes 1,373 bookings to 17:00's 1,062. Finding those numbers again demonstrates that you can follow instructions. Finding something new in an unfamiliar dataset demonstrates that you can do the job.

If you do use the Uber dataset, you must take it somewhere Lectures 15–18 did not. Segment by vehicle type and pricing tier, build a driver-reliability score, model the cancellation funnel as a sequence rather than a count, or join it against weather or a public holiday calendar. Re-presenting the course dashboard is marked as an adequate pass at best.

Where to Source Data

SourceWhat You Will FindWatch For
KaggleTens of thousands of datasets with documented columns; retail, logistics, healthcare, churn, reviewsOver-used headline datasets (Titanic, Iris, Netflix titles) — pick something with fewer than a hundred public notebooks
data.gov.inIndian open government data: crop prices, rail punctuality, consumption, census extracts, pollution monitoringInconsistent encodings and column names that change between annual files — this is realistic, and the cleaning story earns marks
RBI Database on the Indian EconomyBanking, payments, credit, state-level macro seriesMostly time series; strong for Redis counters and trend dashboards, weak for document modelling unless enriched
NSE / BSE public dataDaily bhavcopy, index constituents, corporate actions, delivery percentagesHigh volume and high temptation to build a trading signal — stay on the analytics side of that line
Your workplace or internshipThe highest-value option: a dataset with a real decision-maker attachedClear it first. Anonymise identifiers, scale or mask revenue figures, and never commit the raw file to a public repository
Public APIsWeather, transit, GitHub events, Wikipedia pageviews — genuinely streaming, which suits RedisRate limits; collect over several days rather than in one burst the night before

The Size Test

Aim for roughly 5,000 to 500,000 records. Below five thousand, no modelling or indexing decision has observable consequences and your explain() comparison will show nothing. Above half a million, the free Atlas M0 tier and your loading script become the project. The course dataset sits at 15,000 for exactly this reason.

A good test before committing: write down the three questions your dashboard will answer, then check the dataset actually contains the columns to answer them. Teams that skip this discover in week three that the field they need was never collected, and spend the remaining time apologising for it on a slide.

Section 3: Mandatory Technical Requirements

Five requirements. All five must be present and visible in the presentation or the repository. Treat this as a checklist and walk it before you submit.

1

Data loaded into MongoDB Atlas or Redis — or both. If you use both, you must justify the split: which data lives where, and what access pattern drove that boundary. "We used both because the course taught both" is not a justification; "the ride records live in Atlas because analysts query arbitrary fields, and the live counters live in Redis because the dashboard polls every five seconds" is.

2

At least one non-trivial aggregation pipeline or Redis structure that answers a business question. Non-trivial means more than a $match and a $group — a multi-stage pipeline with $unwind, $lookup, bucketing, or a computed field, or a Redis design using sorted sets, hashes, bitmaps, or HyperLogLog rather than plain string counters. The question must be stated in business language above the code.

3

At least one index with an explain() before-and-after comparison, or a documented Redis key schema. For MongoDB: show the collection scan, add the index, show the index scan, and quote both totalDocsExamined and executionTimeMillis. For Redis: show the key naming convention, the structure chosen per key, the TTL policy, and the estimated memory footprint.

4

A working dashboard. Atlas Charts (Lectures 15–16) or the Redis + Node pattern from Lecture 18. Both are acceptable and neither scores higher by default — a well-composed Charts dashboard beats a badly laid-out custom one every time.

5

The data model decision written down and justified. One paragraph: what you embedded, what you referenced, and why — or for Redis, how keys are named and what the cardinality of each pattern is. This must appear in the repository and on a slide.

Evidence Table — What "Present and Visible" Means

#RequirementEvidence the Examiner Looks For
1Data loadedDocument or key count, load script in the repo, and a note on records rejected during cleaning
2Non-trivial queryThe pipeline or command sequence on a slide, with its business question stated directly above it
3Index or key schemaTwo explain() outputs side by side, or a key-pattern table with TTLs
4DashboardA live demo, or a recorded walkthrough if the venue network fails
5Model justificationA slide that names the alternative you rejected and the access pattern that decided it

On the ESR rule from Lecture 14: if your index serves a query that filters, sorts, and ranges, say so explicitly — Equality fields first, Sort fields second, Range fields last. Naming the rule and showing the compound index that obeys it is one of the cheapest marks available under Technical execution.

Section 4: The Presentation Format

12 minutes presenting, 5 minutes Q&A, strictly timed. A timer runs visibly. At 11:00 you get a one-minute warning. At 12:00 you stop, mid-sentence if necessary, and questions begin. This is not pedantry — it is the single most transferable discipline in the room. Every board paper, every investment committee, and every client readout you will ever give has a hard stop, and the people who overrun are the people who did not decide what mattered.

The Suggested Slide Arc

Twelve slides for twelve minutes is the wrong instinct; roughly one minute per slide only works if some slides take ten seconds. The arc below allocates minutes, not slides.

StageSlidesMinutesWhat It Must Land
Problem1~1Whose problem, what it costs today, and who would act on an answer
Data & why non-relational2~2Source, volume, shape — and the specific property that made a relational table a poor fit
Model & architecture2~2Embed vs reference, or key schema; the alternative you rejected; where each store sits
Dashboard live demo3~3.5Three questions answered in front of the room, not a tour of every chart you built
Findings2~2Two or three numbers you are prepared to defend, with their denominators
Recommendation1~1One action, one owner, one expected impact with a number attached
Limitations1~0.5What the data cannot tell you — stated before the panel finds it

That is twelve slides and roughly twelve minutes. The limitations slide is not optional and is not an apology: naming your own weakest assumption before a questioner does is the strongest move available to you, and it reliably converts a hostile question into a collaborative one.

On the live demo: three and a half minutes is enough for three questions, asked aloud and answered on screen. "Which hour has the worst failure rate?" — click, filter, point at the bar, state the number, move on. It is not enough to narrate a dashboard chart by chart, and attempting that is the most common cause of overrun.

The Instruction That Decides Your Grade

The grade is not for the technology. It is for the decision the data supports.

A simple dashboard with three clear charts and one sharp, quantified recommendation will beat an elaborate one that ends at "here are some charts". Every time. Without exception.

Sharding, change streams, a custom React front end, and a vector index earn you nothing on their own. They earn marks only when they are the reason you could answer a question you otherwise could not. If you cannot finish the sentence "we built this so that the business could decide ___", cut it and spend the time on the recommendation instead.

What a sharp recommendation sounds like: "Among the hours that carry real volume, driver-side failure is worst at 17:00 — 39.92% on 1,062 bookings, against the 18:00 peak's 37.14% on 1,373 — and the leak is worth an estimated ₹13.3 lakh a year. We recommend a ₹40 surge incentive on 16:00–18:00 airport pickups, capped at 300 rides a day. If it converts a third of those cancellations, it recovers about ₹4.4 lakh against ₹1.3 lakh of incentive spend. We would run it for four weeks in one zone first." That is an action, a cost, an expected return, and a test design — in four sentences.

Section 5: The Grading Rubric

One hundred marks for the project component. The weights are published because you should optimise against them openly — note that sixty-five of the hundred marks go to framing, modelling, and insight, and only twenty-five to technical execution.

CriterionMarksAdequateExcellent
Business problem framing & relevance 15 A plausible problem is stated in general terms; the dataset is loosely related to it A named decision-maker, a stated cost of the status quo, and a problem narrow enough that the data can settle it. The reader knows what changes if the answer is yes
Data modelling decisions & justification 20 A model exists and works; the embed/reference or key choice is described The rejected alternative is named, the access pattern that decided it is stated, and the team can say what would have to change for the other choice to win. Document growth, cardinality, and update frequency are considered
Technical execution (queries, indexes, pipelines, key design) 25 Requirements met: a working pipeline, an index created, a dashboard connected Pipelines are efficient and staged deliberately; the index follows ESR and the explain() comparison is quantified; Redis structures are chosen for their properties, not their familiarity. Nothing is in the stack without a reason
Dashboard design & clarity 20 Charts render, are labelled, and relate to the problem Layout follows the eye: headline metric first, then the driver, then the detail. Axes carry units, denominators are visible, chart types suit the data, and a stranger could read it with no narration
Insight quality & recommendation 15 Findings are reported accurately; a reasonable suggestion follows The recommendation is specific, owned, costed, and quantified, with a stated expected impact and a way to test it. Limitations are named without being asked
Presentation & Q&A handling 5 Finishes near time; questions are answered; all members present something Finishes inside twelve minutes with the demo intact; answers are direct; "we don't know, and here is how we would find out" is used where it is the honest answer
Total100Marked by the examiner; peer scores inform the Presentation & Q&A and Insight rows as corroborating evidence

Read the rubric as a budget. If your team has four spare evenings, two of them belong to the recommendation and the dashboard layout, not to a fourth aggregation pipeline. The marks say so.

Section 6: Common Failure Modes

These seven account for most of the marks lost in previous cohorts. None of them are technical failures — every one is a failure of judgement about what the numbers mean.

Failure ModeWhat It Looks Like in the RoomThe Fix
A dashboard with no recommendation Twelve minutes of charts, then "so that's our analysis, thank you". The panel's first question is "and therefore?" Write the recommendation slide first, before building anything. If you cannot draft it, you do not yet have a project
Vanity metrics Total records, total revenue, a counter ticking up. Impressive, and nobody can act on any of it For every metric ask: if this number doubled tomorrow, who does what differently? If the answer is nobody, cut the chart
Unlabelled axes and units A bar chart where the y-axis runs to 4,000 and nobody knows whether that is rides, rupees, or minutes Label every axis with a unit. Show the denominator next to every percentage — "17.99% (2,699 of 15,000)"
Ranking by rate with no volume floor "The worst hour in our data is 03:00 — a 43.48% failure rate." It has 46 bookings. The team has built a recommendation on twenty failed rides Put a volume floor in the pipeline before you rank, and show the denominator beside every rate
Causation from correlation "Cancellations are high at 17:00, so drivers avoid the evening peak." The data shows when, never why Say "associated with", state the alternative explanations you cannot rule out, and propose the test that would separate them
A model copied from the course A new dataset forced into the rides document shape, with embedded sub-documents that never get queried Re-derive the model from your access pattern. The Uber model was right for Uber's questions, not for yours
A live demo with no fallback Venue wi-fi drops, Atlas will not load, four minutes of the slot are spent watching a spinner Screenshots of every demo view in the deck, plus a screen recording. Switch to them within fifteen seconds of trouble and keep talking

The Small-Sample Trap, Worked Through

The third and fourth rows above are worth one concrete example, because this is the most common way a technically correct pipeline produces a misleading chart. Rank the course dataset's hours by failure rate alone and the table reads:

HourFailure RateBookingsWhat It Actually Is
03:0043.48%46Noise. Twenty bookings failing instead of eighteen moves this by four points
07:0041.60%637Suggestive, but still thin for a costed intervention
16:0040.45%764The shoulder of the real problem
17:0039.92%1,062The finding. The worst rate among hours carrying real volume
18:0037.14%1,373The busiest hour of the day — a lower rate on more rides

Ranked by rate alone, 03:00 wins and sends you chasing forty-six bookings. The statement that survives scrutiny is narrower and more useful: the worst failure rate among the hours that actually carry volume is 17:00 at 39.92% — higher than the 18:00 peak's 37.14%, even though 18:00 takes 1,373 bookings to 17:00's 1,062. That is the sentence a recommendation can be built on, because the hours it names are the hours an intervention would reach.

The fix is one stage in the pipeline — a volume floor applied after the grouping and before the sort:

db.rides.aggregate([
  { $group: {
      _id: { $hour: "$booking_datetime" },
      bookings: { $sum: 1 },
      failed:   { $sum: { $cond: [{ $ne: ["$status", "Completed"] }, 1, 0] } }
  }},
  { $match: { bookings: { $gte: 1000 } } },   // <-- the volume floor
  { $addFields: { failure_rate: { $divide: ["$failed", "$bookings"] } } },
  { $sort: { failure_rate: -1 } }
])

Choose the floor deliberately and state it on the slide. On this dataset $gte: 1000 keeps five hours — 08:00, 09:00, 17:00, 18:00 and 19:00 — and a reviewer can see exactly what you excluded and argue with the threshold. A floor you cannot defend is as bad as no floor; a floor you can is a sign of a team that understands its own numbers.

Section 7: Run Sheet, Peer Review & Demo Hygiene

How the Day Runs

The room is a review panel, not a classroom. The chair keeps time, the examiner marks, and every other student is an evaluator with a form in front of them. Ground rules:

Peer Evaluation

Every student scores every other team on three dimensions, each on a 1–5 scale:

DimensionThe Question You Are Answering15
Clarity of the problemDid you understand, within the first ninety seconds, whose problem this was and why it mattered?Still unclear at the endObvious immediately and never lost
Credibility of the analysisDo you believe the numbers, and would they survive a sceptical question?Unsupported or inconsistentSourced, denominated, and defended under questioning
Strength of the recommendationCould a manager act on this on Monday?Vague or absentSpecific, costed, owned, and testable

Peer scores inform the final mark; they do not determine it. The examiner marks against the rubric. Peer data is used as corroborating evidence — a team the whole room scored 2 on recommendation strength will not be awarded top marks in that row, and a team that visibly carried the room gets the benefit of the doubt on presentation. Scoring your friends uniformly high helps nobody and is visible in the distribution.

Demo Hygiene

Four rules, each learned the hard way by a previous cohort.

1

Pre-load the data and warm the cluster. Atlas free-tier clusters idle down. Run your dashboard once, ten minutes before your slot, so the first query of your demo is not the one that pays the cold-start cost.

2

Carry screenshots and a recording. Every view you intend to demo, captured as an image in the deck, plus a two-minute screen recording of the full walkthrough. Rehearse the switch — it should take fifteen seconds and a single sentence: "the network is against us, here is the recorded version".

3

Do not rely on venue wi-fi. Assume it is congested with forty other devices. Bring a phone hotspot as a tested backup — tested meaning you have actually loaded your dashboard over it, not merely that you own a phone.

4

Know your own numbers cold. Every figure on every slide: where it came from, what its denominator is, and what it excludes. "I'd have to check" about your own headline metric is the single most damaging answer in the Q&A.

And one security rule that still applies: no connection strings, passwords, or API keys on a slide, in a screenshot, or in a public repository. Blur the host in any Atlas screenshot. Credentials shown to a room of forty people are credentials to be rotated that evening.

Key Takeaways

✓ What You Should Be Able to Say After This Session

  1. The grade is for the decision, not the technology. Sixty-five of a hundred marks go to framing, modelling, and insight. A simple dashboard with a sharp recommendation beats an elaborate one that stops at charts.
  2. Five technical requirements are non-negotiable — loaded data, a non-trivial query, an index with explain() evidence or a documented key schema, a working dashboard, and a written model justification.
  3. Bring your own dataset if you can. Re-finding the course's 62.29% completion rate proves you can follow instructions; finding something new proves you can do the work.
  4. Twelve minutes is a hard stop. Decide what matters before the room decides for you. Limitations go on your own slide, before a questioner finds them.
  5. Most marks are lost to non-technical failures — no recommendation, vanity metrics, unlabelled axes, a rate ranked with no volume floor, causal overreach, a borrowed model, and a demo with no fallback.
  6. Evaluate peers against the same rubric you are judged by. Clarity of problem, credibility of analysis, strength of recommendation — scored live, on a 1–5 scale, while the presentation is in front of you.

→ Next: Lecture 20 — Project Presentations II & Course Wrap-Up

The remaining teams present in shorter thirteen-minute slots, and the last twenty-five minutes pull the whole module together: which database family answers which business question, the five-question decision framework as the course's most portable asset, and the compute-on-read versus compute-on-write trade that ran from Lecture 14 to Lecture 18. If you are presenting in Lecture 20, note the shorter slot and cut a slide now rather than on the day.