schedule
code
Python
verified
Бесплатная загрузка
devices
Кроссплатформенный
code Предпросмотр кода
Python#!/usr/bin/env python3
"""
Follow-up Scheduler
Schedule follow-ups based on dates and calculate optimal send times
"""
from datetime import datetime, timedelta
import csv
def schedule_followups(start_date, intervals=[3, 7, 14]):
"""Generate follow-up schedule from start date"""
if isinstance(start_date, str):
current = datetime.strptime(start_date, '%Y-%m-%d')
else:
current = start_date
schedule = []
for i, days in enumerate(intervals, 1):
followup_date = current + timedelta(days=days)
schedule.append({
'followup': i,
'date': followup_date.strftime('%Y-%m-%d'),
'weekday': followup_date.strftime('%A'),
'days_after': days
})
return schedule
def optimal_send_time(date_str, timezone='UTC'):
"""Calculate optimal send time (Tue-Thu, 9-11 AM)"""
date = datetime.strptime(date_str, '%Y-%m-%d')
# Adjust to Tuesday-Thursday (best open rates)
weekday = date.weekday()
if weekday == 0: # Monday -> Tuesday
date += timedelta(days=1)
elif weekday == 4: # Friday -> Tuesday
date += timedelta(days=4)
elif weekday >= 5: # Weekend -> Tuesday
date += timedelta(days=(8 - weekday))
# Set optimal time (10 AM)
send_time = date.replace(hour=10, minute=0, second=0)
return send_time.strftime('%Y-%m-%d %H:%M')
def export_schedule(contacts, start_date, output_file='schedule.csv'):
"""Export schedule for all contacts"""
with open(output_file, 'w', newline='') as f:
writer = csv.writer(f)
writer.writerow(['email', 'followup', 'send_date', 'send_time'])
for contact in contacts:
schedule = schedule_followups(start_date)
for item in schedule:
send_time = optimal_send_time(item['date'])
writer.writerow([contact, item['followup'], item['date'], send_time])
if __name__ == '__main__':
schedule = schedule_followups('2025-01-15')
for item in schedule:
print(f"Followup {item['followup']}: {item['date']} ({item['weekday']})")
info Об инструменте
Планировщик follow-up рассчитывает оптимальное время отправки и генерирует последовательности. Автоматизируйте стратегию тайминга для лучшего отклика.
Ключевые особенности
- Настраиваемые интервалы - Установите тайминг follow-up (по умолчанию: 3, 7, 14 дней)
- Optimal Timing - Автоподстройка под лучшие дни (Вт-Чт)
- Оптимизация времени - Планирование на пиковую открываемость (9-11 утра)
- Массовое планирование - Генерация расписаний для всех контактов
- Экспорт в CSV - Готово для импорта в email-инструменты
Правила оптимального тайминга
- Лучшие дни - Вторник, среда, четверг
- Лучшее время - 9-11 утра по местному времени получателя
- Избегайте - Понедельники, пятницы, выходные
Требования
- Python 3.7+
- Без внешних зависимостей
Совет: Emails sent Tuesday-Thursday at 10 AM have 25% higher open rates than weekend sends.
download Скачать скрипт
Нужна полная автоматизация?
Попробуйте Postigo для автоматизированных email-кампаний с AI-персонализацией
rocket_launch Start Free Trial