"""Synthetic denominator example. Run: python3 metric_example.py.
These are teaching values, not My AskAI performance results.
"""


def rate(numerator, denominator):
    if denominator == 0:
        return None
    if numerator < 0 or denominator < 0 or numerator > denominator:
        raise ValueError('inconsistent counts')
    return numerator / denominator


if __name__ == '__main__':
    eligible, involved, mature = 100, 80, 60
    contained, verified_resolved = 42, 30
    assert rate(involved, eligible) == 0.8
    assert rate(contained, mature) == 0.7
    assert rate(verified_resolved, mature) == 0.5
    assert rate(0, 0) is None
    print('Involvement: 80%; mature containment: 70%; mature verified resolution: 50%.')
    print('20 involved conversations are immature. Ticket deflection is not established.')
