Four SDKs, one behaviour model.
EGGai ships as libraries you call from your own systems — pip install eggai
or npm install eggai. Each SDK points the same behaviour model —
EGGai‑v1, a Large Behavior Model grounded in the real till history of a major
SEA grocery retailer — at a different commercial decision, and each has a published study behind it.
The model answers as one named shopper, not as a segment. Hand it a customer profile and it thinks as that person, in the first person, then decides as them — and every reply can be scored against what that shopper really did next.
The four SDKs
| SDK | The question it answers | You provide | Runs as |
|---|---|---|---|
| Offer Optimization | What is the least this customer would accept? | Customer profiles and the offer on the table | Job, per-row ladder |
| Lead Generation | Which of these people is worth the call? | The list you want ranked, one profile per contact | Job, one judgement per contact |
| Survey Response preview | What would a panel of your customers say? | Questions — the panel is drawn for you, or bring your own | Job, one twin per respondent |
| Assortment Optimization | Who follows the shelf, and who walks? | A customer panel and the shelf change | Job, plus a sampled sync preview |
Which SDK do I want?
- You have an offer and want it cheaper without losing the yes → Offer Optimization.
- You have a list of people and limited capacity to contact them → Lead Generation.
- You have questions and want a panel's spread of answers today → Survey Response.
- You are changing the range — delisting, introducing, or cutting a category — and want every customer's answer before you do it → Assortment Optimization.
One client, both languages
from eggai import EggAI client = EggAI() # reads EGGAI_API_KEY client.offers.cheapest_accepted(...) # the cheapest yes client.leads.rank(...) # the list, back in order client.surveys.ask(...) # a spread, not one answer client.assortment.impact(...) # who follows the shelf
import { EggAI } from 'eggai'; const client = new EggAI(); // reads EGGAI_API_KEY await client.offers.cheapestAccepted({...}); // the cheapest yes await client.leads.rank(customers, {...}); // the list, in order await client.surveys.ask(question, {...}); // a spread, not one answer await client.assortment.impact(panel, {...}); // who follows the shelf
Both packages are thin, zero-dependency clients over the same REST API at
https://api.eggai.tech — all inference runs on EGGai's servers. Anything the SDKs do,
you can do with plain HTTP: see the API reference.
Documentation map
The evidence
Three of the four SDKs rest on a fielded study, written up in full on the research pages — the data, the split, the scoring and the result, including where a purpose-built system beats us. Headline figures used throughout these docs:
- 82.0% accuracy on what shoppers said they would pay (frontier model: 67.1%).
- Orders a redeemer above a non-redeemer 76 times in 100 across 12,480 held-out offers.
- Lands 64% of panel answers where 1,013 real respondents landed theirs (frontier AI: 52%).
- Removes 6–15% of the discount committed to a re-priceable campaign, holding acceptance fixed.