โ† Home Lecture 19 ยท Project Presentations I
1 / 16 ๐Ÿ“„ Notes
Module 5 ยท Lecture 19

Project Presentations I

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

โฑ 90 minutes ๐Ÿ‘ฅ Teams of 3โ€“4 ๐ŸŽค 12 min + 5 min Q&A
This Deck Does Two Jobs

A brief, and then a run sheet

Before the session

This is the brief you build against: the deliverable, the five mandatory requirements, the dataset guidance, and the rubric you will be marked by.

On the day

This is the run sheet projected while the session runs: timing rules, running order, the peer-evaluation form, and the hard stop.

Eight lectures took you from "why not relational?" to a live Redis dashboard. This is where you prove you can use it on a problem nobody handed you.

Worked example: a ten-team cohort โ€” five teams today, five in Lecture 20. Slot length scales to the actual cohort.
The Deliverable

One sentence. Four load-bearing words.

Take a real dataset, model it in a non-relational database, build a dashboard, and present a recommendation the data supports.

Each of those four words is a place marks are lost.

WordDemandsCommon failure
RealData someone generated by doing something200 synthetic rows with no missing values
ModelA deliberate shape decisionA CSV dumped into one flat collection
DashboardA view a named person opens on MondayCharts the tool offered
RecommendationAn action, an owner, a number"Worth looking into further"
Teams of 3โ€“4. Split by stage โ€” data, model, queries, narrative โ€” not by chart. Everyone speaks.
Step 1 ยท Dataset

Bring your own. Please.

You may use bdma.rides. You already know its answers: 62.29% completion, 17.99% driver cancellations, โ‚น13,33,539 estimated leak, 18:00 the busiest hour at 1,373 bookings, and the worst failure rate among the hours that carry volume at 17:00 โ€” 39.92% on 1,062. Re-finding those proves you can follow instructions.

SourceWhat you getWatch for
KaggleDocumented retail, logistics, churn, review dataOver-mined headline sets โ€” pick one with few public notebooks
data.gov.inCrop prices, rail punctuality, pollution, censusColumn names change between annual files โ€” the cleaning story earns marks
RBI / NSEPayments, credit, bhavcopy, delivery percentagesMostly time series โ€” strong for Redis, weak for documents unless enriched
Your workplaceA dataset with a real decision-maker attachedClear it first. Anonymise. Never commit the raw file
Size test: 5,000โ€“500,000 records. Below that, no index decision is observable. Above it, loading becomes the project.
Step 2 ยท Non-Negotiable

Five mandatory requirements

#RequirementEvidence we look for
1Data in Atlas or Redis โ€” or both, with the split justifiedCounts, load script, records rejected and why
2One non-trivial aggregation pipeline or Redis structureMore than $match + $group; the business question stated above the code
3An index with explain() before/after, or a documented key schematotalDocsExamined and executionTimeMillis, both runs โ€” or keys, structures, TTLs
4A working dashboardAtlas Charts or the L18 Redis + Node pattern โ€” neither scores higher by default
5The model decision written down and justifiedA slide naming the alternative you rejected
Using both stores? "Because the course taught both" is not a justification. Name the access pattern that drew the boundary.
Step 3 ยท The Twelve Minutes

Allocate minutes, not slides

StageSlidesMinWhat it must land
Problem11Whose problem, what it costs today, who would act
Data & why non-relational22The specific property that made a table a poor fit
Model & architecture22Embed vs reference, or key schema โ€” and the rejected alternative
Dashboard demo33.5Three questions answered live โ€” not a tour of every chart
Findings22Two or three numbers, with their denominators
Recommendation11One action, one owner, one expected impact
Limitations10.5What the data cannot tell you โ€” before the panel finds it
The limitations slide is not an apology. Naming your weakest assumption first turns a hostile question into a collaborative one.
โš ๏ธ Read This Twice

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 beats an elaborate one that ends at "here are some charts". Every time. Without exception.

Sharding, change streams, a custom React front end, a vector index โ€” none of these earn marks on their own. They earn marks only when they are the reason you could answer a question you otherwise could not.

The test

Finish this sentence: "We built this so that the business could decide ______." If you can't, cut it and spend the time on the recommendation.

65 of 100 marks go to framing, modelling and insight. Only 25 to technical execution. Optimise accordingly.
What Good Sounds Like

A recommendation in four sentences

โœ“ Specific, costed, owned, testable

"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 โ€” 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 four weeks in one zone first."

โœ— The version that scores 6/15

"Cancellations are a significant issue, particularly in the evening. The business should investigate driver behaviour during peak hours and consider appropriate interventions."

The difference is not analysis. Both teams found 17:00. The difference is a number attached to an action โ€” and a denominator attached to the number.
The Rubric ยท 100 Marks

Where the marks actually are

CriterionMarksAdequateExcellent
Problem framing & relevance15A plausible problem, loosely related dataNamed decision-maker, cost of status quo, narrow enough for data to settle
Modelling & justification20A model that works, choice describedRejected alternative named; growth, cardinality and update frequency considered
Technical execution25Pipeline runs, index exists, dashboard connectsESR obeyed, explain() quantified, Redis structures chosen for properties not familiarity
Dashboard design20Charts render and are labelledHeadline โ†’ driver โ†’ detail; units on axes; readable with no narration
Insight & recommendation15Accurate findings, reasonable suggestionCosted, owned, quantified, testable; limitations volunteered
Presentation & Q&A5Near time, questions answeredInside 12:00 with demo intact; "we don't know, here's how we'd find out"
Read the rubric as a budget. Two spare evenings belong to the recommendation and the layout, not a fourth pipeline.
Avoid These Six

Where previous cohorts lost marks

FailureIn the roomFix
No recommendationTwelve minutes of charts, then "thank you"Write the recommendation slide first. If you can't draft it, you don't have a project
Vanity metricsA ticking total nobody can act onIf this number doubled tomorrow, who does what differently? Nobody โ†’ cut the chart
Unlabelled axesy-axis to 4,000 โ€” rides? rupees? minutes?Units on every axis; denominator beside every percentage: "17.99% (2,699 of 15,000)"
Rate with no volume floor"Our worst hour is 03:00 at 43.48%" โ€” on 46 bookingsApply a volume floor before ranking; show the denominator beside every rate
Causation from correlation"Failures are worst at 17:00, so drivers avoid the evening"Say "associated with", name what you can't rule out, propose the test
A borrowed modelNew data forced into the rides shape; sub-documents nobody queriesRe-derive from your access pattern
Demo with no fallbackFour minutes watching a spinnerScreenshots in the deck + a recording. Switch in 15 seconds
None of these are technical failures. All seven are judgement failures.
Worked Example

Rank by rate alone and you chase noise

HourFailure rateBookingsWhat it actually is
03:0043.48%46Noise โ€” two more failures moves this four points
07:0041.60%637Suggestive, still thin for a costed intervention
16:0040.45%764The shoulder of the real problem
17:0039.92%1,062The finding โ€” worst rate among hours carrying volume
18:0037.14%1,373Busiest hour of the day โ€” lower rate on more rides

โœ— The claim that collapses under questioning

"03:00 is our worst hour." Forty-six bookings. No intervention can reach them.

โœ“ The claim that survives

"The worst failure rate among hours that carry volume is 17:00 at 39.92% โ€” above the 18:00 peak's 37.14%, though 18:00 takes 1,373 bookings to 17:00's 1,062."

{ $group:     { _id: { $hour: "$booking_datetime" }, bookings: { $sum: 1 }, failed: { $sum: ... } } },
{ $match:     { bookings: { $gte: 1000 } } },   // <-- the volume floor, stated on the slide
{ $addFields: { failure_rate: { $divide: ["$failed", "$bookings"] } } },
{ $sort:      { failure_rate: -1 } }
Choose the floor deliberately and declare it. A floor you can defend shows you understand your numbers; one you can't is as bad as none.
Ground Rules ยท Today

The timer is visible and absolute

โฑ 12:00 hard stop

Warning at 11:00. Stop at 12:00 โ€” mid-sentence if necessary. Content not reached is content not marked.

๐ŸŽค 5 minutes Q&A

Questions go to the whole team. The chair may direct one at a named member. Everyone needs the model and the headline numbers.

๐Ÿ”Œ Set up in advance

The next team connects and tests during the previous team's Q&A. Changeover is not slot time.

๐Ÿ“ Forms filled live

Score during the presentation, not from memory at the end. No interruptions during the twelve minutes โ€” write the question down.

Every board paper and client readout you will ever give has a hard stop. People who overrun are people who did not decide what mattered.
Running Order

You are up next

SlotClockTeamStatus
โ€”0โ€“4Opening & ground rulesForms out
104โ€“21Team 1Presenting
221โ€“38Team 2Set up during Team 1 Q&A
338โ€“55Team 3On deck
455โ€“72Team 4On deck
572โ€“89Team 5On deck
โ€”89โ€“90Close ยท L20 order confirmedForms in
Five slots ร— 17 min = 85 of the 90 minutes. That is why the opening is four minutes and the admin is on a web page, not in the room.
Peer Evaluation

Score every team, 1โ€“5, on three things

DimensionThe question you are answeringScore 1Score 5
Clarity of the problemDid you know, within 90 seconds, whose problem this was and why it mattered?Still unclear at the endObvious immediately, never lost
Credibility of the analysisDo you believe the numbers, and would they survive a sceptical question?Unsupported or inconsistentSourced, denominated, defended
Strength of the recommendationCould a manager act on this on Monday?Vague or absentSpecific, costed, owned, testable

Peer scores inform the mark โ€” they do not set it

The examiner marks against the rubric; peer data corroborates. Scoring your friends uniformly 5 helps nobody and is visible in the distribution.

You are evaluating against the same rubric you are marked by. That is the point of the exercise.
Demo Hygiene

Four rules, all learned the hard way

  1. Pre-load the data and warm the cluster. M0 clusters idle down. Run the dashboard ten minutes before your slot so your demo's first query isn't the one paying the cold-start cost.
  2. Carry screenshots and a recording. Every demo view as an image in the deck, plus a two-minute walkthrough video. Rehearse the switch: fifteen seconds and one sentence.
  3. Do not rely on venue wi-fi. Assume forty devices are on it. Bring a hotspot you have actually tested by loading your dashboard over it.
  4. Know your own numbers cold. Source, denominator, exclusions โ€” for every figure on every slide.

โš ๏ธ No credentials on screen

No connection strings, passwords or API keys on a slide, in a screenshot, or in a public repo. Blur the host in Atlas captures. Credentials shown to forty people get rotated that evening.

"I'd have to check" about your own headline metric is the most damaging answer available in Q&A.
Wrap-Up

Six things to carry into the room

  1. The grade is for the decision, not the technology. 65 of 100 marks sit in framing, modelling and insight.
  2. Five requirements are non-negotiable โ€” loaded data, a non-trivial query, index evidence or a key schema, a dashboard, a written model justification.
  3. Bring your own dataset. Re-finding 62.29% proves you 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.
  5. Most marks are lost to judgement, not code. No recommendation, vanity metrics, unlabelled axes, a rate with no volume floor, causal overreach, a borrowed model, no fallback.
  6. Score peers honestly, live, on clarity, credibility and strength of recommendation.
Next โ€” Lecture 20: the remaining teams in 13-minute slots, then the course synthesis โ€” which family answers which question, the five-question framework, and compute-on-read vs compute-on-write.
โ† โ†’ or Space to navigate ยท F for fullscreen