Transit Timing Variations (TTV)

Detect timing deviations that may indicate additional planets.

What are TTVs?

Transit timing variations occur when gravitational perturbations from other planets cause the transit times to deviate from a linear ephemeris.

Measuring TTVs

from transitkit.analysis import measure_transit_timing_variations

result = measure_transit_timing_variations(
    time, flux,
    period=5.0,
    t0=2.5,
    duration=0.15
)

print(f"TTVs Detected: {result['ttvs_detected']}")
print(f"RMS TTV: {result['rms_ttv']*24*60:.2f} minutes")

O-C Diagram

The O-C (Observed minus Calculated) diagram shows timing deviations:

import matplotlib.pyplot as plt

epochs = result['epochs']
ttvs_minutes = np.array(result['ttvs']) * 24 * 60

plt.plot(epochs, ttvs_minutes, 'bo')
plt.axhline(0, color='gray', ls='--')
plt.xlabel('Epoch')
plt.ylabel('O-C (minutes)')
plt.title('Transit Timing Variations')
plt.show()