Templates
Algolia's pay-as-you-go pricing

Algolia's pay-as-you-go pricing

algolia-template

Discover how Algolia, the search and discovery platform, increases conversion with commitment-free pricing options that adapt to customers’ needs.

What's in it for you?

In this article, you will learn how to build a ‘pay-as-you-go’ billing system.

This template is suitable for companies whose pricing fully depends on usage, such as cloud service providers and API companies, that only charge their customers for the resources they consume.

What's the secret sauce?

For its two main products, Algolia Search and Algolia Recommend, the platform offers its customers to subscribe for free and only pay based on usage.

Search API
Recommend API
Monthly price
$1.50 / 1,000 requests
$0.60 / 1,000 requests
Free usage (each month)
10,000 requests
10,000 requests

Although users don’t need to subscribe to access the platform, Algolia offers its customers discounts based on volume and commitment (rates available upon request).

We are going to teach you how to replicate this pricing with our billing solution.

What do you need?

The first thing to do is to create your company account on Lago Cloud or deploy Lago Open Source on your existing infrastructure. In both cases, you should ask a back-end developer to help you with the setup.

Our documentation includes a step-by-step guide on how to get started with our solution.

Instruction manual

Step 1 – How to calculate the number of requests

Lago monitors consumption by converting events into billable metrics. For Algolia, there would be two billable metrics based on the number of requests for the Search and Recommendation APIs.

As the platform handles high volumes of requests, it would be inefficient to create an event each time a request is made. Instead, Algolia could simply send an event once an hour or hour a day with the total number of requests.

Screenshot of Lago, showing how to create a billable metric using the 'sum' aggregation type
Create a billable metric using the 'sum' aggregation type

Through the user interface, we have created two billable metrics called ‘Search requests’ and ‘Recommend requests’. For these metrics, we use the ‘sum’ aggregation type based on the volume of requests.

At the end of the billing period, Lago will calculate the sum of requests for each metric using the value of each event (i.e. the event property) and reset the amount to 0 as the aggregation type is metered.

Step 2 – How to create a plan with multiple charges

Now that we have all our billable metrics, we can replicate Algolia’s pricing. As this is a ‘pay-as-you-go’ plan, there is no subscription fee. In the plan settings, we can simply define a monthly billing period and then add our charges.

Screenshot of Lago, showing how to create a package pricing
Create packages pricing

For both charges, we use the package pricing model. This model allows us to create packages of units and define a unique package price. Customers will be charged for usage based on packages of 1,000 requests. Algolia offers 10,000 requests for free each month, for both APIs. Beyond this limit, each ‘opened’ package is due, which means that 800 Search requests cost the same price as 1,000 requests (i.e. $1.50).

At the end of each billing period (i.e. each month), Lago will automatically invoice each customer according to their consumption, then all counts and calculations will be reset to zero for the next period.

Step 3 – How to offer volume and commitment discounts

“When committing to the equivalent of 100 Search units per month or more, you automatically unlock a discount compared to PAYGO. Please contact sales for more information.”

Algolia doesn't provide much information about their volume and commitment discounts but we know that customers who commit to making at least 100,000 Search requests per month (for Algolia, a “Search unit” is a package of 1,000 requests) can benefit from a reduced price.

We are going to make some assumptions to see how we could implement this logic.

If we want to keep our package pricing model, we should convert the commitment part of our plan into a subscription. With the standard pricing, 100,000 requests would be charged $150 (i.e. 100 packages of 1,000 requests at $1.50 each). Since we want to offer a discount to our customers, we can create a monthly subscription of $120, paid in advance. Then, we set the package price for 1000 requests at $1.20. Also, we include 100,000 free units, which are covered by the subscription fee.

Screenshot of Lago showing how to create a subscription
Create a subscription

Another option would be to drop the package pricing model and use the graduated pricing model. This model would allow us to create several tiers with different unit prices. For the first 100,000 requests included in the subscription, we set a flat fee of $0 and then apply a decreasing unit price to offer a volume discount.

Algolia step 3 - 2
Apply a volume discount

Wrap-up

‘Pay-as-you-go’ pricing strategies are popular among API companies like Algolia.

With Lago, you can adapt this template to your products and services, using some of our most popular features:

  1. Plan models, with or without subscription;
  2. Billable metrics, including the ‘sum’ aggregation type; and
  3. Charges, including our package and graduated pricing models.

Give it a try, click here to get started!

Two hosting options, same benefits

Whether you choose the cloud version or decide to host the solution yourself, you will benefit from our powerful API and user-friendly interface.

logo-typo-lago-light
Open source

The optimal solution for small projects.

lago-open-source-version
logo-typo-lago-dark
Premium

The optimal solution for teams who want control and flexibility on cloud or self-hosted version.

lago-cloud-version