Deliver in-product analytics with tools developers love

Use Data Packages to serve analytics data in your app, with instant performance and reliability upgrades.  No need to pre-define metrics or set up infrastructure.
Several analytics charts and graphs.

Your data, in production

Integrate data into your application
with Data Packages
Compute time series metrics on the fly without pre-aggregations. No infrastructure or configuration required.

Publish

Generate & publish Data Packages over source tables from in your preferred language.

Explore Data Packages ->

Develop

Import data as a code package & run everything from complex analytical queries to row lookups.

See example queries ->

Deploy

Instantly upgrade performance, reliability, and manage schema evolution with a single click.

Request access->

Customer-facing Dashboards

Import data as code

Time bucketing and aggregations

Flexible interface for all time series functions such as bucketing by grain, lookback ranges, and aggregations.

Ship data products without the mess

Query time series data with dynamic filters and segmentation. No need to define metrics ahead of time.

import { UsImportsPrimaryDetails } from "us-imports";

const { actualDateOfArrival, shipperCountry, 
shipperName } = UsImportsPrimaryDetails.fields;

// Shipments per shipper and month, 
// from major SE Asian port countries, past 12 weeks
const query = await UsImportsPrimaryDetails.select(
  actualDateOfArrival.month.as("arrivalMonth"),
  actualDateOfArrival.year.as("arrivalYear"),
  shipperName.count().as("shipperNameCount"),
)
  .filter(
    shipperCountry
      .in(["TAIWAN","VIETNAM","SINGAPORE","AUSTRALIA"])
      .and(actualDateOfArrival.inPast(newerThan: 12, 
      	granularity: week))
  )
  .orderBy(
    ["arrivalYear", "ASC"],
    ["arrivalMonth", "ASC"],
    ["shipperNameCount", "DESC"]
  );

query.compile();
query.execute();
GET /payments_received
?purchase_timestamp:last=7:DAY
&_agg=purchase_amount:SUM
&_group_by=purchase_timestamp:DAY,item_type
&purchase_status=successful
&item_type=pants,skirts,shorts











Total purchase amount per day in key categories

Live QUERIES in minutes

Ultra low latency table scans and single row reads

A single row read.
Look up single rows blazing fast

Even analytics apps need to support ultra low latency reads for individual records by primary key.

Fully equipped query interfaces

All the power and conveniences you'd expect in an API - limits, pagination, sorting, grouping, and more - with type-safety, versioning, and more.

Read our API documentation -->

Built for development teams

Secure, scalable, and designed for your workflow

Native schema evolution workflow

Safely update source schemas to create new versions of Data Packages you can test in dev.

Integrated into developer workflows

Configure Data Packages in code using dbt, Terraform, or common CI tools.

{
    "patch.tech": {
        "active_users": {
            "where": {
                "account_id": "0823756123",
                "isVerified": true
            }
        }
    }
}

Encode claim filters in your JWT

Build with Patch

Thank you! We will reach out shortly with onboarding instructions.
Oops! Something went wrong while submitting the form.

By providing, I agree to the Terms of Use and Privacy Policy