Skip to content

MonashDeepNeuron/Meeting-Efficiency-Score-ShreyaGarg-

Repository files navigation

Meeting Efficiency Score System

This Python program takes meeting notes or transcripts and gives them a grade from A to F. It helps you figure out if your meetings are actually getting things done or just wasting everyone's time.

What it does

  • Scores meetings from 0 to 100 points and gives letter grades
  • Looks at 6 different things that make meetings productive
  • Pulls out action items, decisions, and attendee names automatically
  • Tells you exactly what to improve
  • Can save results in different file formats

What gets scored (100 points total)

Criterion Points What this means How to Detect
Clear Agenda 10 Were there organized topics to discuss? Keywords: "agenda", "topics to cover", bullet list at start
Decisions Made 25 Did people actually decide things? Count: "decided", "approved", "agreed", "finalized" (4+ = full points)
Action Items 25 Were tasks assigned to specific people with deadlines? Has action items with owners + deadlines (from existing extraction)
Follow-up Items 15 Did anyone check on previous meeting progress? Keywords: "update on", "progress", "completed", "status"
Clear Outcomes 15 Were next steps and conclusions written down? Keywords: "next steps", "action items", "conclusion", "summary"
Good Attendance 10 Did people show up who were supposed to? ≥80% of expected attendees present (compare to past similar meetings)

Note: Meeting duration is tracked for reference but doesn't affect the score.

Grade meanings

  • A (80-100): Really good meeting that got stuff done
  • B (65-79): Pretty good with a few things to improve
  • C (50-64): OK but could be much better organized
  • D (35-49): Had some problems and wasted some time
  • F (0-34): Terrible meeting that accomplished nothing

Installation

  1. Clone or download the files to your project directory
  2. No external dependencies required - uses only Python standard library

Usage

Command Line Interface

# Basic usage
python main.py meeting_notes.txt

# With additional options
python main.py sample_data/excellent_meeting.txt --title "Team Meeting" --attendees 5 --duration 30 --output report.json --format json

# Run demo to see all examples
python demo.py

Python API

from main import MeetingEfficiencyApp

# Create the app
app = MeetingEfficiencyApp()

# Score from text
meeting_text = """
Agenda:
1. Review progress
2. Plan next steps

Discussion:
- Ted completed the authentication feature
- Team decided to deploy on Friday
- Shreya will handle testing

Action Items:
- Write documentation (Ted) - Due Wednesday
- Set up staging (Shreya) - Due Thursday
"""

result = app.score_meeting_text(meeting_text, title="Team Meeting")
print(f"Grade: {result.letter_grade}")
print(f"Score: {result.total_score}/100")

# Generate detailed report
report = app.generate_report(result)
print(report)

File Structure

Meeting Efficiency Score/
├── src/                          # Core source code
│   ├── __init__.py              # Package initialization
│   ├── meeting_efficiency_scorer.py  # Core scoring algorithm and criteria
│   └── meeting_parser.py        # Content parsing utilities
├── sample_data/                 # Example meeting files
│   ├── excellent_meeting.txt    # High-scoring meeting example
│   ├── average_meeting.txt      # Medium-scoring meeting example
│   └── poor_meeting.txt         # Low-scoring meeting example
├── tests/                       # Test suite
│   ├── test_examples.py         # Basic functionality tests
│   └── test_scorer.py           # Comprehensive scoring tests
├── main.py                      # CLI application entry point
├── demo.py                      # Interactive demonstration
├── requirements.txt             # Python dependencies
├── .gitignore                   # Version control exclusions
└── README.md                    # This documentation

Example Output

============================================================
MEETING EFFICIENCY SCORE REPORT
============================================================

Overall Grade: B
Total Score: 72/100 (72.0%)

Grade Meaning: Good - Effective meeting with minor areas for improvement

DETAILED SCORES:
----------------------------------------
✓ Clear Agenda            : 10/10 (100%)
✓ Decisions Made          : 20/25 ( 80%)
✓ Action Items            : 20/25 ( 80%)
⚠ Followup Items          :  0/15 (  0%)
✓ Clear Outcomes          : 12/15 ( 80%)
✓ Good Attendance         :  8/10 ( 80%)

AREAS FOR IMPROVEMENT:
----------------------------------------
• Start meetings by reviewing progress on previous action items

QUICK TIPS:
----------------------------------------
• Great job! Small improvements could make this perfect
• Consider adding time estimates to agenda items
============================================================

Customization

Adding New Scoring Criteria

To add a new criterion, modify the MeetingEfficiencyScorer class:

  1. Add the criterion to max_points dictionary
  2. Create a scoring method following the pattern _score_criterion_name()
  3. Add the method call to the main score_meeting() method

Adjusting Keyword Patterns

Modify the regex patterns in the source files:

# In src/meeting_parser.py - add new action item patterns
ACTION_ITEM_PATTERNS.append(r'new_pattern_here')

# In src/meeting_efficiency_scorer.py - customize detection keywords
# Modify the existing patterns to match your organization's language

Custom Grade Boundaries

Adjust the grading scale in the GRADE_BOUNDARIES dictionary:

GRADE_BOUNDARIES = {
    'A': 85,  # Raise bar for A grade
    'B': 70,  # Adjust other grades accordingly
    'C': 55,
    'D': 40,
    'F': 0
}

Testing

Run the demo to see the system in action:

python demo.py

Or run the test suite:

python tests/test_examples.py
python tests/test_scorer.py

Contributing

  1. Follow the existing code style and patterns
  2. Add unit tests for new functionality
  3. Update documentation for any API changes
  4. Ensure backward compatibility when possible

About

Standalone feature to calculate the Meeting Efficiency Score in Dappi.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages