<div class="section-label"><span class="num">06</span> Grid Insights</div>
<div class="section-title">Impact on fit and impact on <em>prediction</em>.</div>
After [[Grid Prediction]], thin clients fill <span class="mono">result.grid_insights</span> even when you do not set <span class="mono">retain_grid_objects</span>. The two measures to reach for first:
<div class="pillars">
<div class="pillar">
<div class="pillar-num">↳ IOF</div>
<div class="pillar-title">Impact on Fit</div>
<div class="pillar-text">How much each attribute changes conviction / reliability for this prediction.</div>
</div>
<div class="pillar">
<div class="pillar-num">↳ IOP</div>
<div class="pillar-title">Impact on Prediction</div>
<div class="pillar-text">How much each attribute changes the forecast itself for this prediction.</div>
</div>
<div class="pillar">
<div class="pillar-num">↳ +</div>
<div class="pillar-title">Variable weights</div>
<div class="pillar-text">How inclusion mass is distributed across attributes on the composite.</div>
</div>
</div>
Unlike a single t-statistic, these capture **total** importance for the task, including relationships that show up only across combinations, and they are tied to the reliability of *this* prediction, not only an average across many tasks.
<p> </p>
## Read these first
Access: <span class="mono">result.grid_insights</span> (Python) or <span class="mono">result$grid_insights</span> (R).
| Result name | Thin-client field | Shape | What it tells you |
| --- | --- | --- | --- |
| **Impact on Fit** | <span class="mono">impact_on_fit</span> | K | Does including this variable strengthen or weaken fit / conviction? |
| **Impact on Prediction** | <span class="mono">impact_on_prediction</span> | K | Does including this variable pull the forecast up or down? |
| **Variable weights** | <span class="mono">variable_weights</span> | K | Share of inclusion mass on each variable (sums to 1) |
Example: <span class="mono">result.grid_insights.impact_on_fit</span>
## Also available
| Result name | Thin-client field | Shape |
| --- | --- | --- |
| Component contribution to prediction | <span class="mono">component_contribution_to_prediction</span> | K |
| Solo composite weights | <span class="mono">xi_solo_composite</span> | N |
## Longer technical names
Prefer **Impact on Fit** / **Impact on Prediction** in analysis and reporting. The same arrays are also available under longer names (and short codes in some native docs):
| Prefer | Also stored as | Short code |
| --- | --- | --- |
| <span class="mono">impact_on_fit</span> | <span class="mono">marginal_contribution_to_conviction</span> | MCTC |
| <span class="mono">impact_on_prediction</span> | <span class="mono">marginal_contribution_to_prediction</span> | MCTP |
> [!tip]
> Talk and plot **Impact on Fit** and **Impact on Prediction**. Treat MCTC / MCTP as implementation names, not the story you tell stakeholders.
## Insights vs retain
| Layer | Without retain_grid_objects | With selected keys |
| --- | --- | --- |
| <span class="mono">grid_insights</span> (this page) | Usually filled | Filled |
| <span class="mono">grid_cells</span> | Absent | Per keys: [[Results/Grid Cells\|Grid Cells]] |
You do **not** need retain to read Impact on Fit or Impact on Prediction.
<div class="btn-row center">
<a class="btn-primary" href="/Functions/Grid%20Prediction">Back to Grid Prediction</a>
<a class="btn-ghost" href="/Results/Grid%20Cells">Grid cells</a>
</div>