Type something to search...

Attandance Tracking from Microsoft Teams Report

Summary

Automated Microsoft Teams attendance tracking by normalizing participant names and applying fuzzy matching to accurately sync attendance data with an official database via a Streamlit web application.

Problem

Attendance tracking from Microsoft Teams is often done manually by matching attendance reports with a participant database.

Key challenges:

  • Inconsistent participant names
    • Abbreviated names
    • First name–last name only
    • Extra labels such as (Unverified), (External), (guest)
    • Variations in capitalization, punctuation, and formatting
  • Large scale usage
    • Applied across 10+ classes
    • Multiple sessions with dozens of participants
  • Manual process is time-consuming
    • High risk of human error
    • Difficult to audit and maintain consistency

As a result, attendance tracking becomes an operational bottleneck that consumes significant time and effort.


Solution

Built an Attendance Synchronization & Matching System using Python that:

  • Ingests Microsoft Teams attendance reports
  • Performs name preprocessing and normalization
  • Matches participants against an official database using fuzzy string matching
  • Automatically generates attendance summaries (present/absent and statistics)

Workflow:

  1. Upload Participant Database
  2. Upload Microsoft Teams Attendance Report
  3. The system automatically:
    • Cleans and standardizes participant names
    • Applies fuzzy matching with a configurable threshold
    • Determines attendance status
    • Aggregates attendance data across sessions
  4. Outputs are ready to use with no manual intervention

The solution is deployed as a Streamlit web application, making it accessible to non-technical users.


Impact

  • ⏱️ Significant time savings
    • Manual work reduced from hours to seconds
  • πŸ“‰ Reduced human error
    • Consistent and standardized name matching
  • πŸ“Š Clean and structured attendance data
    • Easier analysis, reporting, and auditing
  • πŸš€ Scalable
    • Can be reused across multiple classes without workflow changes
  • πŸ’Ό Business-ready
    • Suitable for Edu-Tech, training programs, and stakeholder reporting

Tech Stack

  • Python
  • Pandas – data processing and aggregation
  • RapidFuzz – fuzzy string matching
  • Regex (re) – text preprocessing and normalization
  • Streamlit – interactive web application
  • Microsoft Teams Attendance Report – data source

Extras (Optional)

  • Configurable fuzzy matching threshold to adapt to data quality
  • Modular code structure for easy extension
  • Future enhancements:
    • CSV / Excel export
    • Analytics dashboard
    • Direct database or LMS integration
    • Automated attendance reporting