Grouping Inputs

The grouped input structure allows you to connect inputs from a differently opinionated budget schemas to SPENDiD services with minimal effort. Just supply the SPENDiD budget facets you want to group along with a fixed value.

We distribute your value across the items in an appropriate ratio determined by the underlying demographic model.

Items strings are subject to validation and correspond to SPENDiD budget object attributes.

{
  "demographics": {
    "age": 25,
    "gross_annual_income": 50000,
    "household_members": 1,
    "is_homeowner": false,
    "net_annual_income": 41004,
    "zip": "35210"
  },
  "grouped_inputs": [
    {
      "items": [
        "natural_gas",
        "electricity",
        "heating_fuels_other",
        "residential_phone_service",
        "water_and_public_services"
      ],
      "value": 2369
    }
  ],

In this example, the requesting application only captures data at the "Utilities" level. The grouped input allows this application to use SPENDiD APIs seamlessly.

{
  "model": {
    "food_home": 3511,
    "food_out": 2528,
    "alcoholic_beverages": 489,
    "mortgage_and_rent": 6347,
    "home_maintenance_and_repairs": 1012,
    "other_lodging": 503,
    "natural_gas": 339,
    "electricity": 1278,
    "heating_fuels_other": 88,
    "residential_phone_service": 176,
    "cellular_phone_service": 1028,
    "water_and_public_services": 488,
    "household_operations": 876,
    "housekeeping_supplies": 489,
    "furniture_and_appliances": 1582,
    "clothing_items_and_services": 1300,
    "vehicle_purchase_and_lease": 3744,
    "gasoline": 1786,
    "vehicle_maintenance_and_repairs": 725,
    "vehicle_insurance": 971,
    "public_and_other_transportation": 516,
    "health_insurance": 2722,
    "medical_services": 731,
    "prescription_drugs": 430,
    "medical_supplies": 155,
    "fees_and_admissions": 381,
    "media_hardware_and_services": 892,
    "pets": 516,
    "toys_and_hobbies": 160,
    "personal_care": 587,
    "reading": 82,
    "education": 665,
    "tobacco_and_smoking": 322,
    "miscellaneous": 865,
    "cash_contributions": 1189,
    "life_and_personal_insurance": 249,
    "savings": 1286,
    "other_debt_payments": 0
  }
}

Grouped inputs are available for endpoints that accept fixed expenses - Budgets and Scores.

🚧

How are conflicts between direct inputs and grouped inputs handled?

In situations where a key value is specified both individually and as part of a grouped input - the grouped input % will take precedence.