# Interface VotingStatistics

Voting statistics for an MEP.

Aggregated metrics on an MEP's voting behavior in plenary sessions, calculated from roll-call votes. Statistics include vote distribution (for/against/abstain) and attendance rate. Used for transparency and accountability reporting.

Calculation Period: Typically current parliamentary term Update Frequency: After each plenary session (monthly) Data Source: EP API `/meps/{id}/voting-statistics`

Note: Only includes recorded roll-call votes, not show-of-hands votes. Attendance rate may differ from physical attendance as it only counts voting participation.

#### Interface

VotingStatistics

#### Example

    const statistics: VotingStatistics = {
      totalVotes: 1250,
      votesFor: 800,
      votesAgainst: 350,
      abstentions: 100,
      attendanceRate: 92 // 92% participation
    };

    // Calculate vote percentages
    const forPercentage = (statistics.votesFor / statistics.totalVotes * 100).toFixed(1);
    console.log(`Voted FOR: ${forPercentage}%`);

#### Example

    // Low participation example
    const lowParticipation: VotingStatistics = {
      totalVotes: 500,
      votesFor: 300,
      votesAgainst: 150,
      abstentions: 50,
      attendanceRate: 45 // Only 45% of possible votes
    };

#### See

- MEPDetails for complete MEP profile
- VotingRecord for individual vote records

interface VotingStatistics {
abstentions: number;
attendanceRate: number;
totalVotes: number;
votesAgainst: number;
votesFor: number;
}

- Defined in types/ep/mep.ts:427

##### Index

### Properties

abstentions
attendanceRate
totalVotes
votesAgainst
votesFor

## Properties

### abstentions

abstentions: number

Number of abstentions.

Count of votes where the MEP abstained from voting. Abstention is a recorded choice distinct from absence.

Min Value: 0 Max Value: totalVotes

#### Example

    100

- Defined in types/ep/mep.ts:479

### attendanceRate

attendanceRate: number

Attendance rate as percentage (0 to 100).

Percentage of possible votes where the MEP participated (voted for, against, or abstained). Does not distinguish between physical absence and strategic non-participation.

Calculation: `(totalVotes / possibleVotes) * 100` Format: Number between 0 and 100 Schema: `z.number().min(0).max(100)`

#### Example

    92.5 // 92.5% attendance

#### Example

    78   // 78% attendance

#### Example

    100  // 100% attendance (perfect record)

- Defined in types/ep/mep.ts:496

### totalVotes

totalVotes: number

Total number of votes cast.

Sum of all recorded votes (for + against + abstentions). Does not include missed votes or votes without recorded position.

Calculation: `votesFor + votesAgainst + abstentions` Typical Range: 500-2000 per term Min Value: 0

#### Example

    1250

- Defined in types/ep/mep.ts:440

### votesAgainst

votesAgainst: number

Number of votes against.

Count of votes where the MEP voted "AGAINST" or "NO" on a measure. Indicates opposition voting behavior.

Min Value: 0 Max Value: totalVotes

#### Example

    350

- Defined in types/ep/mep.ts:466

### votesFor

votesFor: number

Number of votes in favor.

Count of votes where the MEP voted "FOR" or "YES" on a measure. Indicates supportive voting behavior.

Min Value: 0 Max Value: totalVotes

#### Example

    800

- Defined in types/ep/mep.ts:453