Skip to main content
SMS

Messages (SMS) and their need for speed

by July 22, 2020#!31Thu, 23 Jul 2020 14:02:56 +0200+02:005631#31Thu, 23 Jul 2020 14:02:56 +0200+02:00-2Europe/Rome3131Europe/Rome202031 23pm31pm-31Thu, 23 Jul 2020 14:02:56 +0200+02:002Europe/Rome3131Europe/Rome2020312020Thu, 23 Jul 2020 14:02:56 +0200022027pmThursday=4159#!31Thu, 23 Jul 2020 14:02:56 +0200+02:00Europe/Rome7#July 23rd, 2020#!31Thu, 23 Jul 2020 14:02:56 +0200+02:005631#/31Thu, 23 Jul 2020 14:02:56 +0200+02:00-2Europe/Rome3131Europe/Rome202031#!31Thu, 23 Jul 2020 14:02:56 +0200+02:00Europe/Rome7#252 Comments

Let's be clear, we're not talking about how long a message to leave the phone and get to your friends; (although we know this is extremely important), we are talking about business-to-consumer messaging, e.g. when your bank sends you a fraud notification.

We thought about it and decided to write a blog post to explain how critical the delivery times of messages are.

First, we must explain that the industry divides business-to-consumer messaging into two types of messages: transactional and promotional. There is an implicit speed for each type, for the delivery of transactional messages it must be fast; for promotional messages it doesn't have to be that fast.

  • Transactional - financial balance notices, hotel booking confirmations, single passwords, etc. - a one-time message usually joined and sent as needed. In some cases, messages are sent while the user is in session, e.g. on the web by making a reservation. Transactional messages should be delivered within minutes.
  • Promotional - vouchers, redemption codes, special offers etc. - usually opted for a "brand base" and will be sent until the user gives up. These types of messages are not as critical as transactional messages and should be delivered within 1 hour of posting

By far the most important transactional messages are those that send a PIN or password needed to go to the next stage of a process, e.g. by logging in to access an online account or reset a password. For the sake of clarity, we will group this subset of transactional messages into one and call them two-factor authentication (2FA) messages.

It should be noted that the speed of delivery of a message or delivery times are often referred to as the latency of a message. The true meaning of latency may require a magnifying glass in some contracts; because the definition can vary significantly from one supplier to another and in most cases it does not actually mean the time from when a user requests the message to when he receives it on his own Phone.

Our starting point in answering the question, “How important is the delivery time of a message SMS? ”, Was to look at other digital communications and see if there were any similarities. We started by looking at the loading time of the web page and its abandonment of the conversion.

We found this excellent infographic on the importance that webpage loading time has on converting. Kissmetrics found that the 35% of the users surveyed would abandon a page within 10 seconds of waiting. Intuitively this sounded roughly about what most users would do if they hadn't received a 2FA message in the same time period; but we needed proof.

Many companies that implement 2FA have this data at their fingertips; but since CLX carries only 2FA messages and is unable to know exactly when a user actually enters the code; we need some other mechanism to determine the point of no return, the point where the user becomes impatient and requests another message. After destroying the brain, we realized that the most likely thing someone would have done if the 2FA message was delayed would have been to do exactly that; request another one!

We embarked on a journey of discovery to determine what the "repeated request" rate was based on delivery times. Since the 90% of CLX messages is delivered in less than 5 seconds; we had to look for times when there were rare, but notorious congestion peaks due to an interrupted support network or other problems.

“When using 2FA, the need to immediately deliver the text message to the phone is not only required, but expected by the consumer. But how "immediate" should the message be? How long are people willing to wait to receive the text before making an additional request to resend the message? "

To determine this threshold, we specifically looked at a single request versus multiple requests per unique mobile number. Before the analysis, the data were cleaned up, for example due to non-delivery problems; we performed an HLR on all laptops in the dataset and excluded those that had any kind of potential delivery problem. We therefore eliminated repeat requests from non-existent numbers, as this indicates that someone entered their mobile number incorrectly.

The first result of our analysis showed that multiple requests are infrequent, in fact the 98% was made up of single entries, which means that the security code was sent to the phone once, the remaining 2% did more than a request. This low percentage of total attempts can be explained by the fact that congestion on the CLX network is rare and transient. It is assumed that each 2FA message will receive a repeat request if the message is not delivered within a reasonable and expected time period.

Looking more closely at these data, we can see how important delivery latency is.

First, users' 10% asked for a repeat message if they didn't receive the message within 3 seconds, another 19% asked for a repeat message if they didn't receive the message within 7 seconds, and 6% asked for a repeat message within 11 seconds. In total, this is an incredible 35% of users who will ask for a repeat message if the first one is not delivered within 11 seconds. This is very similar to Kissmetrics 'discovery, which shows that users' 35% would abandon a web page within 10 seconds of waiting.

We also noticed that the average number of repeated requests was 1.2 in the dataset, which means that for these users the firm will pay at least double, if not more than double, per user than necessary - this can be attributed directly to latency.

We conclude that a 2FA message should be delivered within a maximum of 10 seconds, ideally it should be in less than 3 seconds.

There are several problems that can affect delivery speed:

  1. The speed with which your SMS provider can accept messages must be sufficient to ensure that even during peak periods they are able to accept the message within 100 ms
  2. The ability that your SMS provider has both to deliver messages and to search for mobile number portability (MNP), both have the same importance
  3. Your messaging provider's ability to divide between low latency and high latency traffic, that is, divide and prioritize messages based on whether they are transactional or promotional
  4. The routing algorithm used by the messaging provider. Some cheaper providers will queue the messages to send them along the cheapest route, regardless of congestion or latency
  5. Multi-hop connections make latency checking very difficult, so using direct connections will always lead to greater performance and visibility. Gray routes, SIM farms or other routes that could be blocked can also cause latency problems as various filters can affect delivery
  6. SMSC operator configuration, ideally operators should split A2P and P2P messaging, so retrying algorithms within SMSC can be more aggressive
  7.  Backup connectivity in case of primary route failure or direct connection is essential. Using SS7 connectivity (albeit at a much higher price) can be useful

Tips for optimizing delivery speed

  1. Make sure your messaging provider is able to offer an SLA and provide regular reports against those SLAs
  2. Choose a messaging provider that has direct connections and SS7 backups to the destinations you are sending to, as this will provide maximum reliability and speed
  3. Check that your messaging provider is constantly analyzing and monitoring the delivery latency of end-to-end messages, i.e. over the phone, to ensure that problems within the operator's networks can be proactively detected
  4. Make sure your messaging provider can divide traffic by message provider level message priority and send high priority messages before lower priority messages to the manager's networks if capacity / congestion is detected
  5. Make sure your app allows a repeat request only after 10 seconds, this will prevent some users from being overly happy

CLX has over 100 direct connections worldwide. We proactively monitor our system performance and message delivery times. As part of our monitoring process, our system continually performs tests, some of which are outgoing to courier networks and partners to measure message delivery times and notify us of any latency changes. Timely detection allows us to warn and accelerate collaboration with couriers and partners to correct performance.

252 Comments

Leave a Reply