> ## Documentation Index
> Fetch the complete documentation index at: https://docs.allyy.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Preparing your data

> The data Allyy uses, in fundraising terms — and how to share it

These are the data types Allyy typically uses to model your supporters and predict who to contact, when, and for how much. Each maps onto one of the four entities in [the Allyy data model](/data/data-model), though familiarity with that model is not required to prepare your data.

<Note>
  **You can connect your data in its existing format and structure.** The [data-mapping](/processes/data_mapping) step links your fields to the Allyy data model, so you do not need to restructure your data beforehand. More history and greater detail about your donors and their interactions generally improve prediction accuracy, as the models determine for themselves which data points are relevant.
</Note>

## What to share, at a glance

<CardGroup cols={2}>
  <Card title="Contacts" icon="user">
    Your supporters and their attributes.
  </Card>

  <Card title="Engagement & responses" icon="reply">
    Direct mail, telemarketing, SMS/WhatsApp and email communication history.
  </Card>

  <Card title="Payments" icon="money-bill">
    Donation history across all channels.
  </Card>

  <Card title="Campaigns" icon="bullhorn">
    Campaign names, labels and unit costs.
  </Card>

  <Card title="Subscriptions" icon="rotate">
    Recurring-giving agreements (direct debit / standing order).
  </Card>
</CardGroup>

## 1. Contacts

Your supporters — individuals or organisations — and the attributes you hold about them.

| ContactId | Age | Gender | Postal code | Other attributes |
| --------- | --- | ------ | ----------- | ---------------- |
| 10        | 50  | Female | 2000        | …                |
| 11        | 40  | Female | 2000        | …                |
| 12        | 30  | Female | 2000        | …                |

* **ContactId** — unique identifier
* **Age**, **Gender**, **Postal code**
* **Other attributes** — permissions, contact type, demographics, and anything else you hold

These are the most commonly useful fields, but additional donor-related data is often valuable and worth including.

*→ Mapped to the **Contact** entity.*

## 2. Engagement / responses

Your communication history — what you sent each contact and, where you have it, how they reacted. Include as much detail as you have.

For **direct mail, SMS/WhatsApp and email**, the table usually records the *send-out* only; the **donation itself is found in your payment history** (section 3). For **telemarketing**, the outcome is often stored alongside the call as a response code.

**Direct Mail** — ContactId, Campaign, Send-out timestamp

| ContactId | Campaign         | Send-out timestamp |
| --------- | ---------------- | ------------------ |
| 10        | Christmas appeal | 18/11/2022         |
| 11        | Christmas appeal | 18/11/2022         |

**Telemarketing** — ContactId, Campaign, Call timestamp, Call response code

| ContactId | Campaign | Call timestamp      | Call response code    |
| --------- | -------- | ------------------- | --------------------- |
| 10        | Upgrade  | 2022-11-18 08:57:04 | Not interested        |
| 11        | Upgrade  | 2022-11-23 10:47:04 | Maximum calls reached |
| 12        | Upgrade  | 2022-11-25 09:07:04 | Interested            |

**SMS / WhatsApp** — ContactId, Campaign, Sent timestamp
**Email** — ContactId, Campaign, Sent timestamp

| ContactId | Campaign       | Sent timestamp |
| --------- | -------------- | -------------- |
| 10        | Ukraine appeal | 18/11/2022     |
| 11        | Ukraine appeal | 18/11/2022     |

*→ Mapped to the **Response** entity — one record per communication, including the send-out itself.*

## 3. Payment history

Every donation you've recorded, across all channels.

| ContactId | Campaign         | Payment timestamp   | Payment amount |
| --------- | ---------------- | ------------------- | -------------- |
| 10        | Christmas appeal | 2022-05-25 09:07:04 | 500            |
| 11        | Christmas appeal | 2022-09-25 09:07:04 | 250            |
| 12        | One off May      | 2022-11-25 09:07:04 | 100            |

* **ContactId**, **Campaign**, **Payment timestamp**, **Payment amount**
* Additional fields — payment method, transaction ID, etc. — are welcome

<Tip>
  Donations often live in more than one place — one-off donations, responses to mailings, and recurring-donation charges. Include **all** of them so none is missed; this is the single most important input for accurate models.
</Tip>

*→ Mapped to the **Response** entity.*

## 4. Campaign metadata

Background on your campaigns, so Allyy can reason about *type* of ask and cost-effectiveness.

| Campaign         | Label 1   | Label 2   | Unit cost |
| ---------------- | --------- | --------- | --------- |
| One off May      | Emergency | Country X | 10        |
| One off June     | Emergency | Country Y | 12        |
| Christmas appeal | Emergency | Region X  | 12        |

* **Campaign name**
* **Labels** — emergency type, region/country, nurturing/retention, or any other characteristics
* **Unit cost** — for direct mail and telemarketing

*→ Mapped to the **Offer** entity (also called Content or Treatment) — one row per campaign.*

## 5. Subscription agreement history

Your recurring-giving agreements — direct debits and standing orders.

| ContactId | Subscription      | Start               | End                 | Amount | Frequency |
| --------- | ----------------- | ------------------- | ------------------- | ------ | --------- |
| 10        | Regular agreement | 2022-05-25 09:07:04 |                     | 200    | Monthly   |
| 11        | Regular agreement | 2018-09-25 09:07:04 | 2022-09-25 09:07:04 | 150    | Monthly   |
| 12        | Regular agreement | 2019-11-25 09:07:04 |                     | 150    | Monthly   |

* **ContactId**, **SubscriptionId**
* **Start** (YYYY-MM-DD HH:MM:SS)
* **End** (YYYY-MM-DD HH:MM:SS, or blank if still active)
* **Amount** (numeric, with currency)
* **Frequency** (e.g. Monthly)
* Any other relevant information is welcome

*→ Mapped to the **Subscription** entity.*

## How your data maps to Allyy

You provide data in the terms above; Allyy maps it onto a small set of entities so the same models and dashboards work for any organisation.

| What you provide                                            | Mapped to (Allyy entity)                    |
| ----------------------------------------------------------- | ------------------------------------------- |
| Contacts / supporters                                       | **Contact**                                 |
| Campaigns — one row per campaign, with labels and cost      | **Offer** (also called Content / Treatment) |
| Direct mail, telemarketing, SMS, email and donation records | **Response**                                |
| Recurring-giving agreements                                 | **Subscription**                            |

For the conceptual model behind these entities, see [The Allyy data model](/data/data-model). For how your fields are connected to them inside the app, see [Data mapping](/processes/data_mapping).

Next: [Connect a data source](/processes/data) · [Data mapping](/processes/data_mapping)
