How do you determine "best time to send" from seen history?

  • 20 June 2024
  • 3 replies


Hello, we’d like to learn when the best time is to send emails to various people that we’ve communicated with before. Does anyone have tips or scripts on how to do that?

All I can think of is to do the following; any other suggestions?

  • Search for all messages for each email address
  • Iterate through each message:
    • “Get message seen status” (which seems to show only the first seen - not sure if there’s any way to see every time it was seen?)
    • Get the message created_at (date at which the message as been sent or received)
    • Compare “seen” and “created_at” to address Apple mail and similar proxy views (i.e. “seen” within 1 minute of open)
      • Disregard or weigh those lower.
    • Then finally process all that info to somehow figure out the best send time by somehow weighting “first seen” in relation to day/time and frequency across all messages with a person. 
      • Not sure best way to “math that out” so to speak?

Does that sound about right or is there any better way to do it, or somehow involve AI if applicable?


Best answer by justin 21 June 2024, 16:52

View original

3 replies

Userlevel 3
Badge +8

Hi Matthew, 

With what I understand from your description, this would be the best way to calculate which recipients are opening the messages at a faster rate. With our current API abilities, we only offer ‘first_seen_at’, not every time. 

You may be able to implement external AI, or tools, to help with this in your configured logic to parse the data and better understand it. However, your described actions would be the current best implementation of what Front offers via the API to achieve this workflow. 

Please let me know if I can help with anything else in better understanding our API and how you can get the data you need. 



Thanks @justin ! My only follow up is if you’ve ever heard of any github project, libraries, etc for algorithms/making sense of this kind of data?

Userlevel 3
Badge +8

Hi, Matthew! 

Unfortunately, I have not heard of any that would apply to this use case. Should you find (or create) any in the future, feel free to share them here!