Grouping Outputs

We know that there are countless ways of capturing and modeling spending data, and that most applications will use different definitions than ours. Read this guide to see how to quickly adapt SPENDiD to fit your application's schema.

SPENDiD uses a simple transformer object to alias our budget schema to yours.

The transformer object allows you to provide an alias category title for each core budget key. If you want to merge SPENDiD categories together, just use the same alias across multiple properties. We'll combine everything for you in the response.

{
  "demographics": {
    "age": 25,
    "gross_annual_income": 50000,
    "household_members": 1,
    "is_homeowner": false,
    "net_annual_income": 41004,
    "zip": "35210"
  },
  "transformer": {
    "savings": "Savings",
    "other_debt_payments": "Debt",
    "mortgage_and_rent": "Mortage/Rent",
    "vehicle_purchase_and_lease": "Vehicle Payment",
    "life_and_personal_insurance": "Miscellaneous",
    "cash_contributions": "Charitable Giving",
    "miscellaneous": "Miscellaneous",
    "tobacco_and_smoking": "Miscellaneous",
    "education": "Education",
    "reading": "Miscellaneous",
    "personal_care": "Personal Care",
    "toys_and_hobbies": "Entertainment & Travel",
    "pets": "Entertainment & Travel",
    "media_hardware_and_services": "Entertainment & Travel",
    "fees_and_admissions": "Entertainment & Travel",
    "medical_supplies": "Medical Services & Supplies",
    "prescription_drugs": "Prescriptions",
    "medical_services": "Medical Services & Supplies",
    "health_insurance": "Health Insurance",
    "public_and_other_transportation": "Public Transportation",
    "vehicle_insurance": "Vehicle Insurance",
    "vehicle_maintenance_and_repairs": "Vehicle Maintenance",
    "gasoline": "Gasoline",
    "clothing_items_and_services": "Clothing & Jewelry",
    "furniture_and_appliances": "Household Expenses",
    "housekeeping_supplies": "Household Expenses",
    "household_operations": "Household Expenses",
    "water_and_public_services": "Utilities",
    "cellular_phone_service": "Cell Phone",
    "residential_phone_service": "Utilities",
    "heating_fuels_other": "Utilities",
    "electricity": "Utilities",
    "natural_gas": "Utilities",
    "other_lodging": "Entertainment & Travel",
    "home_maintenance_and_repairs": "Household Expenses",
    "alcoholic_beverages": "Entertainment & Travel",
    "food_out": "Dining Out",
    "food_home": "Groceries"
  }
}

Merged output appears in the transformed property of the response body.

{
  "transformed": {
    "Savings": 0,
    "Debt": 0,
    "Mortage/Rent": 6553,
    "Vehicle Payment": 3865,
    "Miscellaneous": 1567,
    "Charitable Giving": 1228,
    "Education": 686,
    "Personal Care": 606,
    "Entertainment & Travel": 3036,
    "Medical Services & Supplies": 915,
    "Prescriptions": 443,
    "Health Insurance": 2810,
    "Public Transportation": 533,
    "Vehicle Insurance": 1002,
    "Vehicle Maintenance": 748,
    "Gasoline": 1843,
    "Clothing & Jewelry": 1342,
    "Household Expenses": 4086,
    "Utilities": 2446,
    "Cell Phone": 1061,
    "Dining Out": 2610,
    "Groceries": 3625
  },
  "budget": {
    "food_home": 3625,
    "food_out": 2610,
    "alcoholic_beverages": 505,
    "mortgage_and_rent": 6553,
    "home_maintenance_and_repairs": 1044,
    "other_lodging": 520,
    "natural_gas": 350,
    "electricity": 1319,
    "heating_fuels_other": 91,
    "residential_phone_service": 182,
    "cellular_phone_service": 1061,
    "water_and_public_services": 504,
    "household_operations": 904,
    "housekeeping_supplies": 504,
    "furniture_and_appliances": 1634,
    "clothing_items_and_services": 1342,
    "vehicle_purchase_and_lease": 3865,
    "gasoline": 1843,
    "vehicle_maintenance_and_repairs": 748,
    "vehicle_insurance": 1002,
    "public_and_other_transportation": 533,
    "health_insurance": 2810,
    "medical_services": 755,
    "prescription_drugs": 443,
    "medical_supplies": 160,
    "fees_and_admissions": 393,
    "media_hardware_and_services": 920,
    "pets": 533,
    "toys_and_hobbies": 165,
    "personal_care": 606,
    "reading": 84,
    "education": 686,
    "tobacco_and_smoking": 333,
    "miscellaneous": 893,
    "cash_contributions": 1228,
    "life_and_personal_insurance": 257,
    "savings": 0,
    "other_debt_payments": 0
  }
}

🚧

Transformers must map ALL core categories.

Transformers must provide aliases for all core budget items. This is to avoid confusion and make sure the output is always usable as a stand-alone budget.