Scaling Our SaaS Gross sales Coaching Platform with Rockset

Scaling Our SaaS Gross sales Coaching Platform with Rockset

Fashionable Snack-Sized Gross sales Coaching

At ConveYour, we offer automated gross sales coaching by way of the cloud. Our all-in-one SaaS platform brings a recent method to hiring and onboarding new gross sales recruits that maximizes coaching and retention.

Excessive gross sales workers churn is wasteful and dangerous for the underside line. Nonetheless, it may be minimized with customized coaching that’s delivered constantly in bite-sized parts. By tailoring curricula for each gross sales recruit’s wants and a spotlight spans, we maximize engagement and cut back coaching time to allow them to hit the bottom working.

Such real-time personalization requires an information infrastructure that may immediately ingest and question huge quantities of consumer information. And as our prospects and information volumes grew, our authentic information infrastructure couldn’t sustain.

It wasn’t till we found a real-time analytics database referred to as Rockset that we may lastly mixture tens of millions of occasion information in underneath a second and our prospects may work with precise time-stamped information, not out-of-date info that was too stale to effectively support in gross sales coaching.


Our Enterprise Wants: Scalability, Concurrency and Low Ops

Constructed on the ideas of microlearning, ConveYour delivers brief, handy classes and quizzes to gross sales recruits by way of textual content messages, whereas permitting our prospects to watch their progress at an in depth degree utilizing the above inner dashboard (above).

We all know how far they’re in that coaching video right down to the 15-second section. And we all know which questions they bought proper and flawed on the newest quiz – and may mechanically assign extra or fewer classes based mostly on that.

Greater than 100,000 gross sales reps have been educated by way of ConveYour. Our microlearning method reduces trainee boredom, boosts studying outcomes and slashes workers churn. These are wins for any firm, however are particularly necessary for direct sales-driven corporations that always rent new reps, a lot of them recent graduates or new to gross sales.

Scale has all the time been our primary situation. We ship out tens of millions of textual content messages to gross sales reps yearly. And we’re not simply monitoring the progress of gross sales recruits – we observe each single interplay they’ve with our platform.

For instance, one buyer hires almost 8,000 gross sales reps a yr. Lately, half of them went by way of a compliance coaching program deployed and managed by way of ConveYour. Monitoring the progress of a person rep as they progress by way of all 55 classes creates 50,000 information factors. Multiply that by 4,000 reps, and also you get round 2 million items of occasion information. And that’s only one program for one buyer.

To make insights out there on demand to firm gross sales managers, we needed to run the analytics in a batch first after which cache the outcomes. Managing the assorted caches was extraordinarily exhausting. Inevitably, some caches would get stale, resulting in outdated outcomes. And that may result in calls from our shopper gross sales managers sad that the compliance standing of their reps was incorrect.

As our prospects grew, so did our scalability wants. This was an amazing drawback to have. However it was nonetheless an enormous drawback.


Different instances, caching wouldn’t reduce it. We additionally wanted highly-concurrent, immediate queries. For example, we constructed a CRM dashboard (above) that offered real-time aggregated efficiency outcomes on 7,000 gross sales reps. This dashboard was utilized by tons of of center managers who couldn’t afford to attend for that info to come back in a weekly and even every day report. Sadly, as the quantity of knowledge and variety of supervisor customers grew, the dashboard’s responsiveness slowed.

Throwing extra information servers may have helped. Nonetheless, our utilization can also be very seasonal: busiest within the fall, when corporations carry on-board crops of recent graduates, and ebbing at different instances of the yr. So deploying everlasting infrastructure to accommodate spiky demand would have been costly and wasteful. We wanted an information platform that might scale up and down as wanted.

Our remaining situation is our measurement. ConveYour has a crew of simply 5 builders. That’s a deliberate selection. We might a lot fairly maintain the crew small, agile and productive. However to unleash their interior 10x developer, we wished to maneuver to the most effective SaaS instruments – which we didn’t have.

Technical Challenges

Our authentic information infrastructure was constructed round an on-premises MongoDB database that ingested and saved all consumer transaction information. Linked to it by way of an ETL pipeline was a MySQL database working in Google Cloud that serves up each our giant ongoing workhorse queries and likewise the super-fast advert hoc queries of smaller datasets.

Neither database was slicing the mustard. Our “dwell” CRM dashboard was more and more taking as much as six seconds to return outcomes, or it will simply merely trip. This had a number of causes. There was the big however rising quantity of knowledge we had been gathering and having to investigate, in addition to the spikes in concurrent customers corresponding to when managers checked their dashboards within the mornings or at lunch.

Nonetheless, the most important motive was merely that MySQL just isn’t designed for high-speed analytics. If we didn’t have the fitting indexes already constructed, or the SQL question wasn’t optimized, the MySQL question would inevitably drag or trip. Worse, it will bleed over and damage the question efficiency of different prospects and customers.

My crew was spending a median of ten hours per week monitoring, managing and fixing SQL queries and indexes, simply to keep away from having the database crash.

It bought so dangerous that any time I noticed a brand new question hit MySQL, my blood strain would shoot up.

Drawbacks of Various Options

We checked out many potential options. To scale, we considered creating extra MongoDB slaves, however determined it will be throwing cash at an issue with out fixing it.

We additionally tried out Snowflake and favored some elements of their resolution. Nonetheless, the one large gap I couldn’t fill was the dearth of real-time information ingestion. We merely couldn’t afford to attend an hour for information to go from S3 into Snowflake.

We additionally checked out ClickHouse, however discovered too many tradeoffs, particularly on the storage facet. As an append-only information retailer, ClickHouse writes information immutably. Deleting or updating previously-written information turns into a prolonged batch course of. And from expertise, we all know we have to backfill occasions and take away contacts on a regular basis. After we do, we don’t wish to run any experiences and have these contacts nonetheless exhibiting up. Once more, it’s not real-time analytics for those who can’t ingest, delete and replace information in actual time.

We additionally tried however rejected Amazon Redshift for being ineffective with smaller datasets, and too labor-intensive basically.

Scaling with Rockset

By way of YouTube, I realized about Rockset. Rockset has the most effective of each worlds. It will probably write information shortly like a MongoDB or different transactional database, however can also be actually actually quick at advanced queries.

We deployed Rockset in December 2021. It took only one week. Whereas MongoDB remained our database of document, we started streaming information to each Rockset and MySQL and utilizing each to serve up queries.

Our expertise with Rockset has been unbelievable. First is its pace at information ingestion. As a result of Rockset is a mutable database, updating and backfilling information is tremendous quick. Having the ability to delete and rewrite information in real-time issues so much for me. If a contact will get eliminated and I do a JOIN instantly afterward, I don’t need that contact to point out up in any experiences.

Rockset’s serverless mannequin can also be an enormous boon. The best way Rockset’s compute and storage independently and mechanically grows or shrinks reduces the IT burden for my small crew. There’s simply zero database upkeep and 0 worries.

Rockset additionally makes my builders tremendous productive, with the easy-to-use UI and Write API and SQL help. And options like Converged Index and automated question optimization eradicate the necessity to spend precious engineering time on question efficiency. Each question runs quick out of the field. Our common question latency has shrunk from six seconds to 300 milliseconds. And that’s true for small datasets and enormous ones, as much as 15 million occasions in considered one of our collections. We’ve reduce the variety of question errors and timed-out queries to zero.

I now not fear that giving entry to a brand new developer will crash the database for all customers. Worst case situation, a nasty question will merely eat extra RAM. However it should. Nonetheless. Simply. Work. That’s an enormous weight off my shoulders. And I don’t should play database gatekeeper anymore.

Additionally, Rockset’s real-time efficiency means we now not should take care of batch analytics and rancid caches. Now, we will mixture 2 million occasion information in lower than a second. Our prospects can take a look at the precise time-stamped information, not some out-of-date by-product.

We additionally use Rockset for our inner reporting, ingesting and analyzing our digital server utilization with our internet hosting supplier, Digital Ocean (watch this short video). Utilizing a Cloudflare Employee, we frequently sync our Digital Ocean Droplets right into a Rockset assortment for straightforward reporting round price and community topology. This can be a a lot simpler option to perceive our utilization and efficiency than utilizing Digital Ocean’s native console.

Our expertise with Rockset has been so good that we are actually within the midst of a full migration from MySQL to Rockset. Older information is being backfilled from MySQL into Rockset, whereas all endpoints and queries in MySQL are slowly-but-surely being shifted over to Rockset.

You probably have a rising technology-based enterprise like ours and want easy-to-manage real-time analytics with immediate scalability that makes your builders super-productive, then I like to recommend you take a look at Rockset.

Leave a Reply

Your email address will not be published. Required fields are marked *