|
28 | 28 | from policyengine_us_data.utils.soi import pe_to_soi, get_soi, get_tracked_soi_row |
29 | 29 | from policyengine_us_data.utils.ssi_targets import ( |
30 | 30 | SSI_RECIPIENT_TARGETS_2024, |
| 31 | + get_ssi_annual_payment_target, |
31 | 32 | ) |
32 | 33 | from policyengine_us_data.utils.target_variables import ( |
33 | 34 | target_variable_components, |
@@ -248,6 +249,11 @@ def _add_ssi_recipient_targets(loss_matrix, targets_array, sim, time_period): |
248 | 249 |
|
249 | 250 |
|
250 | 251 | def _cbo_program_target_value(sim, variable_name: str, time_period): |
| 252 | + if variable_name == "ssi": |
| 253 | + ssi_target = get_ssi_annual_payment_target(time_period) |
| 254 | + if ssi_target is not None: |
| 255 | + return ssi_target["value"] |
| 256 | + |
251 | 257 | param_name = CBO_PARAM_NAME_MAP.get(variable_name, variable_name) |
252 | 258 | return sim.tax_benefit_system.parameters(time_period).calibration.gov.cbo._children[ |
253 | 259 | param_name |
@@ -1339,7 +1345,11 @@ def build_loss_matrix(dataset: type, time_period): |
1339 | 1345 |
|
1340 | 1346 | for variable_name in CBO_PROGRAMS: |
1341 | 1347 | label = f"nation/cbo/{variable_name}" |
1342 | | - loss_matrix[label] = sim.calculate(variable_name, map_to="household").values |
| 1348 | + loss_matrix[label] = sim.calculate( |
| 1349 | + variable_name, |
| 1350 | + time_period, |
| 1351 | + map_to="household", |
| 1352 | + ).values |
1343 | 1353 | if any(loss_matrix[label].isna()): |
1344 | 1354 | raise ValueError(f"Missing values for {label}") |
1345 | 1355 | targets_array.append(_cbo_program_target_value(sim, variable_name, time_period)) |
|
0 commit comments