author

A question that occasionally comes up among our users is where Aito belongs in the stack. So we decided to dig a bit deeper into the subject.

What is Aito?

Aito is a predictive database with machine learning capabilities. From a software developer’s perspective, Aito resembles a rather ordinary database. Data is imported much like you would enter data into ElasticSearch and once your data is in Aito you can query Aito’s API endpoints for predictions. The query syntax is familiar for most programmers as the Aito query language is largely inspired by SQL and MongoDB.

aito in the stack
Aito can be best compared to ES in the stack.

Aito’s powerful API provides a range of features that help developers to, for example, automate processes, predict churn, explain demand, recommend products, match candidates for open positions and personalize the content that optimizes conversion.

Recommendations and personalizations tools are already out there in abundance. Why adding a completely new tool to your stack?

It is true that several high-quality machine learning tools are available that solve specialized tasks. But they each require their own copy of your data and it has to be imported and formatted in a unique way. In contrast, Aito looks at your data from different perspectives and can answer many different predictive queries simply based on the same and one dataset.

But how?

Aito, in essence, is a database with machine learning deeply integrated into its internals. Training, feature selection, and scoring happen on the fly for each incoming query. This procedure is supported by the database implementation, which is optimized for low read latency.

Aito discovers statistical patterns when data is inserted and these discoveries make it possible for Aito to create ad-hoc models for each query in a matter of milliseconds. Aito’s Bayesian foundation makes the responses explainable, meaning that Aito helps in understanding the “why” behind the results it returns.

Example: product recommendation for an e-commerce site

Most recommendation tools will return results based on the keywords matched and the users’ previous behavior.

But an e-commerce site might want to promote products which yield higher profits more prominently or push the end-of-season products. Combining all of these different goals in one query is possible with Aito.

In the example below, we're finding the top 5 products which veronica (user id) would be most likely to purchase. In addition, we're boosting products which have a higher price. This would recommend products which are relevant for the user but also bring higher revenue to the shop. This demonstrates a situation where multiple factors should be considered in recommendations.

curl -X POST \
  https://aito-grocery-store.aito.app/api/v1/_query \
  -H 'content-type: application/json' \
  -H 'x-api-key: bc4Ck3nDwM1ILVjNahNJL8hPEAzCes8t2vGMUyo9' \
  -d '
  {
    "from": "impressions",
    "where": { "session.user": "veronica" },
    "get": "product",
    "orderBy": {
      "$multiply": [
        {
          "$p": {
            "$context": { "purchase": true }
          }
        },
        "price"
      ]
    },
    "limit": 3
  }'

The response to the query above:

{
  "offset": 0,
  "total": 44,
  "hits": [
    {
      "$score": 0.24400374631807537,
      "category": "108",
      "id": "6410405181190",
      "name": "Pirkka Costa Rica filter coffee 500g UTZ",
      "price": 2.89,
      "tags": "coffee pirkka"
    },
    {
      "$score": 0.2163635977117264,
      "category": "100",
      "id": "6410405060457",
      "name": "Pirkka bio cherry tomatoes 250g international 1st class",
      "price": 1.29,
      "tags": "fresh vegetable pirkka tomato"
    },
    {
      "$score": 0.2163635977117264,
      "category": "100",
      "id": "6410405093677",
      "name": "Pirkka iceberg salad Finland 100g 1st class",
      "price": 1.29,
      "tags": "fresh vegetable pirkka"
    }
  ]
}

What is the workflow of using Aito?

First, define your own schema for Aito database. This needs to be done only once in the beginning.

Second, upload your data using Aito’s data API. Depending on the level of automation you create, the data upload can be either a scheduled cron job or a one-off thing for data exploration.

Third, query for what you want to know using one of Aito’s available API endpoints: predict, relate, match, recommend, search or evaluate. Having uploaded your data to Aito, you’ll be able to run multiple types of queries without having to re-upload and retrain a separate model for each task.

Summary

  • Aito resembles a database and used by defining schema, uploading data and making queries.
  • Aito provides instant results to arbitrary queries, eliminating pre-model data preparation, modeling, deployment and integration steps.
  • Aito is generic, and it is able to solve range of machine learning use cases from a single API.
  • Aito is familiar for developers. Aito requires no special skills and can eliminate the hand-over from the data scientist and the expenses related to this. Immediate results speed up the iteration time, which makes Aito a great choice for agile software development teams.

Aito’s limited beta with free trial is now available for smart developers who value quick time to market.

For more questions, join our spectrum community to discuss directly with the team.

Back to blog list

New integration! Aito Instant Predictions app is now available from Airtable Marketplace.