[
  {
    "name": "Canonical profit sweep",
    "description": "Move net income through the canonical value.",
    "canonical_step": 30,
    "summary": {
      "focus_step": 30,
      "focus_kind": "canonical-fixture",
      "canonical_output_match": true,
      "state_counts": {
        "calculated": 61
      },
      "value_min": 0.12,
      "value_max": 0.36,
      "segments": [
        {
          "start_step": 0,
          "end_step": 60,
          "state": "calculated",
          "decision": "three-factor-identity-reconciles",
          "start_value_label": "12.00%",
          "end_value_label": "36.00%"
        }
      ]
    },
    "states": [
      {
        "step": 0,
        "value": 0.12,
        "value_label": "12.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 48.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.04,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.12,
          "direct_roe": 0.12,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 1,
        "value": 0.124,
        "value_label": "12.40%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 49.6,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.041333333333,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.124,
          "direct_roe": 0.124,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 2,
        "value": 0.128,
        "value_label": "12.80%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 51.2,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.042666666667,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.128,
          "direct_roe": 0.128,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 3,
        "value": 0.132,
        "value_label": "13.20%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 52.8,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.044,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.132,
          "direct_roe": 0.132,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 4,
        "value": 0.136,
        "value_label": "13.60%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 54.4,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.045333333333,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.136,
          "direct_roe": 0.136,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 5,
        "value": 0.14,
        "value_label": "14.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 56.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.046666666667,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.14,
          "direct_roe": 0.14,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 6,
        "value": 0.144,
        "value_label": "14.40%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 57.6,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.048,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.144,
          "direct_roe": 0.144,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 7,
        "value": 0.148,
        "value_label": "14.80%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 59.2,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.049333333333,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.148,
          "direct_roe": 0.148,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 8,
        "value": 0.152,
        "value_label": "15.20%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 60.8,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.050666666667,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.152,
          "direct_roe": 0.152,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 9,
        "value": 0.156,
        "value_label": "15.60%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 62.4,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.052,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.156,
          "direct_roe": 0.156,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 10,
        "value": 0.16,
        "value_label": "16.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 64.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.053333333333,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.16,
          "direct_roe": 0.16,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 11,
        "value": 0.164,
        "value_label": "16.40%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 65.6,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.054666666667,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.164,
          "direct_roe": 0.164,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 12,
        "value": 0.168,
        "value_label": "16.80%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 67.2,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.056,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.168,
          "direct_roe": 0.168,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 13,
        "value": 0.172,
        "value_label": "17.20%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 68.8,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.057333333333,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.172,
          "direct_roe": 0.172,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 14,
        "value": 0.176,
        "value_label": "17.60%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 70.4,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.058666666667,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.176,
          "direct_roe": 0.176,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 15,
        "value": 0.18,
        "value_label": "18.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 72.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.06,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.18,
          "direct_roe": 0.18,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 16,
        "value": 0.184,
        "value_label": "18.40%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 73.6,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.061333333333,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.184,
          "direct_roe": 0.184,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 17,
        "value": 0.188,
        "value_label": "18.80%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 75.2,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.062666666667,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.188,
          "direct_roe": 0.188,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 18,
        "value": 0.192,
        "value_label": "19.20%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 76.8,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.064,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.192,
          "direct_roe": 0.192,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 19,
        "value": 0.196,
        "value_label": "19.60%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 78.4,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.065333333333,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.196,
          "direct_roe": 0.196,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 20,
        "value": 0.2,
        "value_label": "20.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 80.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.066666666667,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.2,
          "direct_roe": 0.2,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 21,
        "value": 0.204,
        "value_label": "20.40%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 81.6,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.068,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.204,
          "direct_roe": 0.204,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 22,
        "value": 0.208,
        "value_label": "20.80%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 83.2,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.069333333333,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.208,
          "direct_roe": 0.208,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 23,
        "value": 0.212,
        "value_label": "21.20%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 84.8,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.070666666667,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.212,
          "direct_roe": 0.212,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 24,
        "value": 0.216,
        "value_label": "21.60%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 86.4,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.072,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.216,
          "direct_roe": 0.216,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 25,
        "value": 0.22,
        "value_label": "22.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 88.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.073333333333,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.22,
          "direct_roe": 0.22,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 26,
        "value": 0.224,
        "value_label": "22.40%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 89.6,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.074666666667,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.224,
          "direct_roe": 0.224,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 27,
        "value": 0.228,
        "value_label": "22.80%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 91.2,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.076,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.228,
          "direct_roe": 0.228,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 28,
        "value": 0.232,
        "value_label": "23.20%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 92.8,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.077333333333,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.232,
          "direct_roe": 0.232,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 29,
        "value": 0.236,
        "value_label": "23.60%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 94.4,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.078666666667,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.236,
          "direct_roe": 0.236,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 30,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 31,
        "value": 0.244,
        "value_label": "24.40%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 97.6,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.081333333333,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.244,
          "direct_roe": 0.244,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 32,
        "value": 0.248,
        "value_label": "24.80%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 99.2,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.082666666667,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.248,
          "direct_roe": 0.248,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 33,
        "value": 0.252,
        "value_label": "25.20%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 100.8,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.084,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.252,
          "direct_roe": 0.252,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 34,
        "value": 0.256,
        "value_label": "25.60%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 102.4,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.085333333333,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.256,
          "direct_roe": 0.256,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 35,
        "value": 0.26,
        "value_label": "26.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 104.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.086666666667,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.26,
          "direct_roe": 0.26,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 36,
        "value": 0.264,
        "value_label": "26.40%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 105.6,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.088,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.264,
          "direct_roe": 0.264,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 37,
        "value": 0.268,
        "value_label": "26.80%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 107.2,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.089333333333,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.268,
          "direct_roe": 0.268,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 38,
        "value": 0.272,
        "value_label": "27.20%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 108.8,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.090666666667,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.272,
          "direct_roe": 0.272,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 39,
        "value": 0.276,
        "value_label": "27.60%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 110.4,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.092,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.276,
          "direct_roe": 0.276,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 40,
        "value": 0.28,
        "value_label": "28.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 112.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.093333333333,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.28,
          "direct_roe": 0.28,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 41,
        "value": 0.284,
        "value_label": "28.40%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 113.6,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.094666666667,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.284,
          "direct_roe": 0.284,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 42,
        "value": 0.288,
        "value_label": "28.80%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 115.2,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.096,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.288,
          "direct_roe": 0.288,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 43,
        "value": 0.292,
        "value_label": "29.20%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 116.8,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.097333333333,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.292,
          "direct_roe": 0.292,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 44,
        "value": 0.296,
        "value_label": "29.60%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 118.4,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.098666666667,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.296,
          "direct_roe": 0.296,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 45,
        "value": 0.3,
        "value_label": "30.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 120.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.1,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.3,
          "direct_roe": 0.3,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 46,
        "value": 0.304,
        "value_label": "30.40%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 121.6,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.101333333333,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.304,
          "direct_roe": 0.304,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 47,
        "value": 0.308,
        "value_label": "30.80%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 123.2,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.102666666667,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.308,
          "direct_roe": 0.308,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 48,
        "value": 0.312,
        "value_label": "31.20%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 124.8,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.104,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.312,
          "direct_roe": 0.312,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 49,
        "value": 0.316,
        "value_label": "31.60%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 126.4,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.105333333333,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.316,
          "direct_roe": 0.316,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 50,
        "value": 0.32,
        "value_label": "32.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 128.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.106666666667,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.32,
          "direct_roe": 0.32,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 51,
        "value": 0.324,
        "value_label": "32.40%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 129.6,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.108,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.324,
          "direct_roe": 0.324,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 52,
        "value": 0.328,
        "value_label": "32.80%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 131.2,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.109333333333,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.328,
          "direct_roe": 0.328,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 53,
        "value": 0.332,
        "value_label": "33.20%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 132.8,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.110666666667,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.332,
          "direct_roe": 0.332,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 54,
        "value": 0.336,
        "value_label": "33.60%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 134.4,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.112,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.336,
          "direct_roe": 0.336,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 55,
        "value": 0.34,
        "value_label": "34.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 136.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.113333333333,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.34,
          "direct_roe": 0.34,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 56,
        "value": 0.344,
        "value_label": "34.40%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 137.6,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.114666666667,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.344,
          "direct_roe": 0.344,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 57,
        "value": 0.348,
        "value_label": "34.80%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 139.2,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.116,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.348,
          "direct_roe": 0.348,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 58,
        "value": 0.352,
        "value_label": "35.20%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 140.8,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.117333333333,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.352,
          "direct_roe": 0.352,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 59,
        "value": 0.356,
        "value_label": "35.60%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 142.4,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.118666666667,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.356,
          "direct_roe": 0.356,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 60,
        "value": 0.36,
        "value_label": "36.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 144.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.12,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.36,
          "direct_roe": 0.36,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      }
    ]
  },
  {
    "name": "Revenue and turnover",
    "description": "Change revenue while assets and equity stay fixed.",
    "canonical_step": 30,
    "summary": {
      "focus_step": 30,
      "focus_kind": "canonical-fixture",
      "canonical_output_match": true,
      "state_counts": {
        "calculated": 61
      },
      "value_min": 0.24,
      "value_max": 0.24,
      "segments": [
        {
          "start_step": 0,
          "end_step": 60,
          "state": "calculated",
          "decision": "three-factor-identity-reconciles",
          "start_value_label": "24.00%",
          "end_value_label": "24.00%"
        }
      ]
    },
    "states": [
      {
        "step": 0,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 700.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.137142857143,
          "asset_turnover": 0.7,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 1,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 716.666666666667,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.133953488372,
          "asset_turnover": 0.716666666667,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 2,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 733.333333333333,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.130909090909,
          "asset_turnover": 0.733333333333,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 3,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 750.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.128,
          "asset_turnover": 0.75,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 4,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 766.666666666667,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.125217391304,
          "asset_turnover": 0.766666666667,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 5,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 783.333333333333,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.122553191489,
          "asset_turnover": 0.783333333333,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 6,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 800.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.12,
          "asset_turnover": 0.8,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 7,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 816.666666666667,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.117551020408,
          "asset_turnover": 0.816666666667,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 8,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 833.333333333333,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.1152,
          "asset_turnover": 0.833333333333,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 9,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 850.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.112941176471,
          "asset_turnover": 0.85,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 10,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 866.666666666667,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.110769230769,
          "asset_turnover": 0.866666666667,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 11,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 883.333333333333,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.108679245283,
          "asset_turnover": 0.883333333333,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 12,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 900.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.106666666667,
          "asset_turnover": 0.9,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 13,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 916.666666666667,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.104727272727,
          "asset_turnover": 0.916666666667,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 14,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 933.333333333333,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.102857142857,
          "asset_turnover": 0.933333333333,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 15,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 950.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.101052631579,
          "asset_turnover": 0.95,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 16,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 966.666666666667,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.099310344828,
          "asset_turnover": 0.966666666667,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 17,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 983.333333333333,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.097627118644,
          "asset_turnover": 0.983333333333,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 18,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1000.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.096,
          "asset_turnover": 1.0,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 19,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1016.666666666667,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.094426229508,
          "asset_turnover": 1.016666666667,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 20,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1033.333333333333,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.092903225806,
          "asset_turnover": 1.033333333333,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 21,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1050.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.091428571429,
          "asset_turnover": 1.05,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 22,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1066.666666666667,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.09,
          "asset_turnover": 1.066666666667,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 23,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1083.333333333333,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.088615384615,
          "asset_turnover": 1.083333333333,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 24,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1100.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.087272727273,
          "asset_turnover": 1.1,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 25,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1116.666666666667,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.085970149254,
          "asset_turnover": 1.116666666667,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 26,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1133.333333333333,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.084705882353,
          "asset_turnover": 1.133333333333,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 27,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1150.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08347826087,
          "asset_turnover": 1.15,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 28,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1166.666666666667,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.082285714286,
          "asset_turnover": 1.166666666667,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 29,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1183.333333333333,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.081126760563,
          "asset_turnover": 1.183333333333,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 30,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 31,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1216.666666666667,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.078904109589,
          "asset_turnover": 1.216666666667,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 32,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1233.333333333333,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.077837837838,
          "asset_turnover": 1.233333333333,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 33,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1250.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.0768,
          "asset_turnover": 1.25,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 34,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1266.666666666667,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.075789473684,
          "asset_turnover": 1.266666666667,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 35,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1283.333333333333,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.074805194805,
          "asset_turnover": 1.283333333333,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 36,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1300.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.073846153846,
          "asset_turnover": 1.3,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 37,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1316.666666666667,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.072911392405,
          "asset_turnover": 1.316666666667,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 38,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1333.333333333333,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.072,
          "asset_turnover": 1.333333333333,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 39,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1350.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.071111111111,
          "asset_turnover": 1.35,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 40,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1366.666666666667,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.070243902439,
          "asset_turnover": 1.366666666667,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 41,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1383.333333333333,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.069397590361,
          "asset_turnover": 1.383333333333,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 42,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1400.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.068571428571,
          "asset_turnover": 1.4,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 43,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1416.666666666667,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.067764705882,
          "asset_turnover": 1.416666666667,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 44,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1433.333333333333,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.066976744186,
          "asset_turnover": 1.433333333333,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 45,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1450.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.066206896552,
          "asset_turnover": 1.45,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 46,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1466.666666666667,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.065454545455,
          "asset_turnover": 1.466666666667,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 47,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1483.333333333333,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.064719101124,
          "asset_turnover": 1.483333333333,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 48,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1500.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.064,
          "asset_turnover": 1.5,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 49,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1516.666666666667,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.063296703297,
          "asset_turnover": 1.516666666667,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 50,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1533.333333333333,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.062608695652,
          "asset_turnover": 1.533333333333,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 51,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1550.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.061935483871,
          "asset_turnover": 1.55,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 52,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1566.666666666667,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.061276595745,
          "asset_turnover": 1.566666666667,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 53,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1583.333333333333,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.060631578947,
          "asset_turnover": 1.583333333333,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 54,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1600.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.06,
          "asset_turnover": 1.6,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 55,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1616.666666666667,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.059381443299,
          "asset_turnover": 1.616666666667,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 56,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1633.333333333333,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.058775510204,
          "asset_turnover": 1.633333333333,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 57,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1650.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.058181818182,
          "asset_turnover": 1.65,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 58,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1666.666666666667,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.0576,
          "asset_turnover": 1.666666666667,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 59,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1683.333333333333,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.05702970297,
          "asset_turnover": 1.683333333333,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 60,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1700.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.056470588235,
          "asset_turnover": 1.7,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      }
    ]
  },
  {
    "name": "Asset intensity",
    "description": "Change the asset base and observe turnover.",
    "canonical_step": 30,
    "summary": {
      "focus_step": 30,
      "focus_kind": "canonical-fixture",
      "canonical_output_match": true,
      "state_counts": {
        "calculated": 61
      },
      "value_min": 0.24,
      "value_max": 0.24,
      "segments": [
        {
          "start_step": 0,
          "end_step": 60,
          "state": "calculated",
          "decision": "three-factor-identity-reconciles",
          "start_value_label": "24.00%",
          "end_value_label": "24.00%"
        }
      ]
    },
    "states": [
      {
        "step": 0,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 700.0,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.5,
          "equity_multiplier": 2.0,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 800.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 1,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 713.333333333333,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.487603305785,
          "equity_multiplier": 2.016666666667,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 806.666666666667,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 2,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 726.666666666667,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.475409836066,
          "equity_multiplier": 2.033333333333,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 813.333333333333,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 3,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 740.0,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.463414634146,
          "equity_multiplier": 2.05,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 820.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 4,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 753.333333333333,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.451612903226,
          "equity_multiplier": 2.066666666667,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 826.666666666667,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 5,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 766.666666666667,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.44,
          "equity_multiplier": 2.083333333333,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 833.333333333333,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 6,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 780.0,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.428571428571,
          "equity_multiplier": 2.1,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 840.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 7,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 793.333333333333,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.417322834646,
          "equity_multiplier": 2.116666666667,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 846.666666666667,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 8,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 806.666666666667,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.40625,
          "equity_multiplier": 2.133333333333,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 853.333333333333,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 9,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 820.0,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.395348837209,
          "equity_multiplier": 2.15,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 860.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 10,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 833.333333333333,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.384615384615,
          "equity_multiplier": 2.166666666667,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 866.666666666667,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 11,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 846.666666666667,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.374045801527,
          "equity_multiplier": 2.183333333333,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 873.333333333333,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 12,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 860.0,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.363636363636,
          "equity_multiplier": 2.2,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 880.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 13,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 873.333333333333,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.353383458647,
          "equity_multiplier": 2.216666666667,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 886.666666666667,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 14,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 886.666666666667,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.34328358209,
          "equity_multiplier": 2.233333333333,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 893.333333333333,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 15,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 900.0,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.333333333333,
          "equity_multiplier": 2.25,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 900.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 16,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 913.333333333333,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.323529411765,
          "equity_multiplier": 2.266666666667,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 906.666666666667,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 17,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 926.666666666667,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.313868613139,
          "equity_multiplier": 2.283333333333,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 913.333333333333,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 18,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 940.0,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.304347826087,
          "equity_multiplier": 2.3,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 920.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 19,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 953.333333333333,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.294964028777,
          "equity_multiplier": 2.316666666667,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 926.666666666667,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 20,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 966.666666666667,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.285714285714,
          "equity_multiplier": 2.333333333333,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 933.333333333333,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 21,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 980.0,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.276595744681,
          "equity_multiplier": 2.35,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 940.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 22,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 993.333333333333,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.267605633803,
          "equity_multiplier": 2.366666666667,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 946.666666666667,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 23,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1006.666666666667,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.258741258741,
          "equity_multiplier": 2.383333333333,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 953.333333333333,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 24,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1020.0,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.25,
          "equity_multiplier": 2.4,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 960.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 25,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1033.333333333333,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.241379310345,
          "equity_multiplier": 2.416666666667,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 966.666666666667,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 26,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1046.666666666667,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.232876712329,
          "equity_multiplier": 2.433333333333,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 973.333333333333,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 27,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1060.0,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.224489795918,
          "equity_multiplier": 2.45,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 980.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 28,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1073.333333333333,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.216216216216,
          "equity_multiplier": 2.466666666667,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 986.666666666667,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 29,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1086.666666666667,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.208053691275,
          "equity_multiplier": 2.483333333333,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 993.333333333333,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 30,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100.0,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 31,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1113.333333333333,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.192052980132,
          "equity_multiplier": 2.516666666667,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1006.666666666667,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 32,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1126.666666666667,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.184210526316,
          "equity_multiplier": 2.533333333333,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1013.333333333333,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 33,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1140.0,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.176470588235,
          "equity_multiplier": 2.55,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1020.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 34,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1153.333333333333,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.168831168831,
          "equity_multiplier": 2.566666666667,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1026.666666666667,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 35,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1166.666666666667,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.161290322581,
          "equity_multiplier": 2.583333333333,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1033.333333333333,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 36,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1180.0,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.153846153846,
          "equity_multiplier": 2.6,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1040.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 37,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1193.333333333333,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.146496815287,
          "equity_multiplier": 2.616666666667,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1046.666666666667,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 38,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1206.666666666667,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.139240506329,
          "equity_multiplier": 2.633333333333,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1053.333333333333,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 39,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1220.0,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.132075471698,
          "equity_multiplier": 2.65,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1060.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 40,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1233.333333333333,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.125,
          "equity_multiplier": 2.666666666667,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1066.666666666667,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 41,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1246.666666666667,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.11801242236,
          "equity_multiplier": 2.683333333333,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1073.333333333333,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 42,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1260.0,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.111111111111,
          "equity_multiplier": 2.7,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1080.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 43,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1273.333333333333,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.104294478528,
          "equity_multiplier": 2.716666666667,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1086.666666666667,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 44,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1286.666666666667,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.09756097561,
          "equity_multiplier": 2.733333333333,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1093.333333333333,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 45,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1300.0,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.090909090909,
          "equity_multiplier": 2.75,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1100.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 46,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1313.333333333333,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.084337349398,
          "equity_multiplier": 2.766666666667,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1106.666666666667,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 47,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1326.666666666667,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.077844311377,
          "equity_multiplier": 2.783333333333,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1113.333333333333,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 48,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1340.0,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.071428571429,
          "equity_multiplier": 2.8,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1120.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 49,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1353.333333333333,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.065088757396,
          "equity_multiplier": 2.816666666667,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1126.666666666667,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 50,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1366.666666666667,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.058823529412,
          "equity_multiplier": 2.833333333333,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1133.333333333333,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 51,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1380.0,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.052631578947,
          "equity_multiplier": 2.85,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1140.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 52,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1393.333333333333,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.046511627907,
          "equity_multiplier": 2.866666666667,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1146.666666666667,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 53,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1406.666666666667,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.040462427746,
          "equity_multiplier": 2.883333333333,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1153.333333333333,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 54,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1420.0,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.034482758621,
          "equity_multiplier": 2.9,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1160.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 55,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1433.333333333333,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.028571428571,
          "equity_multiplier": 2.916666666667,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1166.666666666667,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 56,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1446.666666666667,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.022727272727,
          "equity_multiplier": 2.933333333333,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1173.333333333333,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 57,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1460.0,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.016949152542,
          "equity_multiplier": 2.95,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1180.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 58,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1473.333333333333,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.011235955056,
          "equity_multiplier": 2.966666666667,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1186.666666666667,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 59,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1486.666666666667,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.005586592179,
          "equity_multiplier": 2.983333333333,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1193.333333333333,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 60,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1500.0,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.0,
          "equity_multiplier": 3.0,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1200.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      }
    ]
  },
  {
    "name": "Equity multiplier",
    "description": "Change average equity and the accounting leverage factor.",
    "canonical_step": 30,
    "summary": {
      "focus_step": 30,
      "focus_kind": "canonical-fixture",
      "canonical_output_match": true,
      "state_counts": {
        "calculated": 61
      },
      "value_min": 0.174545454545,
      "value_max": 0.384,
      "segments": [
        {
          "start_step": 0,
          "end_step": 60,
          "state": "calculated",
          "decision": "three-factor-identity-reconciles",
          "start_value_label": "38.40%",
          "end_value_label": "17.45%"
        }
      ]
    },
    "states": [
      {
        "step": 0,
        "value": 0.384,
        "value_label": "38.40%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 120.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 4.0,
          "dupont_roe": 0.384,
          "direct_roe": 0.384,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 250.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 1,
        "value": 0.376470588235,
        "value_label": "37.65%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 130.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 3.921568627451,
          "dupont_roe": 0.376470588235,
          "direct_roe": 0.376470588235,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 255.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 2,
        "value": 0.369230769231,
        "value_label": "36.92%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 140.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 3.846153846154,
          "dupont_roe": 0.369230769231,
          "direct_roe": 0.369230769231,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 260.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 3,
        "value": 0.362264150943,
        "value_label": "36.23%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 150.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 3.77358490566,
          "dupont_roe": 0.362264150943,
          "direct_roe": 0.362264150943,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 265.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 4,
        "value": 0.355555555556,
        "value_label": "35.56%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 160.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 3.703703703704,
          "dupont_roe": 0.355555555556,
          "direct_roe": 0.355555555556,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 270.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 5,
        "value": 0.349090909091,
        "value_label": "34.91%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 170.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 3.636363636364,
          "dupont_roe": 0.349090909091,
          "direct_roe": 0.349090909091,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 275.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 6,
        "value": 0.342857142857,
        "value_label": "34.29%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 180.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 3.571428571429,
          "dupont_roe": 0.342857142857,
          "direct_roe": 0.342857142857,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 280.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 7,
        "value": 0.336842105263,
        "value_label": "33.68%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 190.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 3.508771929825,
          "dupont_roe": 0.336842105263,
          "direct_roe": 0.336842105263,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 285.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 8,
        "value": 0.331034482759,
        "value_label": "33.10%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 200.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 3.448275862069,
          "dupont_roe": 0.331034482759,
          "direct_roe": 0.331034482759,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 290.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 9,
        "value": 0.325423728814,
        "value_label": "32.54%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 210.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 3.389830508475,
          "dupont_roe": 0.325423728814,
          "direct_roe": 0.325423728814,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 295.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 10,
        "value": 0.32,
        "value_label": "32.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 220.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 3.333333333333,
          "dupont_roe": 0.32,
          "direct_roe": 0.32,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 300.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 11,
        "value": 0.314754098361,
        "value_label": "31.48%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 230.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 3.27868852459,
          "dupont_roe": 0.314754098361,
          "direct_roe": 0.314754098361,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 305.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 12,
        "value": 0.309677419355,
        "value_label": "30.97%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 240.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 3.225806451613,
          "dupont_roe": 0.309677419355,
          "direct_roe": 0.309677419355,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 310.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 13,
        "value": 0.304761904762,
        "value_label": "30.48%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 250.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 3.174603174603,
          "dupont_roe": 0.304761904762,
          "direct_roe": 0.304761904762,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 315.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 14,
        "value": 0.3,
        "value_label": "30.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 260.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 3.125,
          "dupont_roe": 0.3,
          "direct_roe": 0.3,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 320.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 15,
        "value": 0.295384615385,
        "value_label": "29.54%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 270.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 3.076923076923,
          "dupont_roe": 0.295384615385,
          "direct_roe": 0.295384615385,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 325.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 16,
        "value": 0.290909090909,
        "value_label": "29.09%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 280.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 3.030303030303,
          "dupont_roe": 0.290909090909,
          "direct_roe": 0.290909090909,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 330.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 17,
        "value": 0.286567164179,
        "value_label": "28.66%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 290.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.985074626866,
          "dupont_roe": 0.286567164179,
          "direct_roe": 0.286567164179,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 335.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 18,
        "value": 0.282352941176,
        "value_label": "28.24%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 300.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.941176470588,
          "dupont_roe": 0.282352941176,
          "direct_roe": 0.282352941176,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 340.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 19,
        "value": 0.278260869565,
        "value_label": "27.83%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 310.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.898550724638,
          "dupont_roe": 0.278260869565,
          "direct_roe": 0.278260869565,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 345.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 20,
        "value": 0.274285714286,
        "value_label": "27.43%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 320.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.857142857143,
          "dupont_roe": 0.274285714286,
          "direct_roe": 0.274285714286,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 350.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 21,
        "value": 0.270422535211,
        "value_label": "27.04%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 330.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.816901408451,
          "dupont_roe": 0.270422535211,
          "direct_roe": 0.270422535211,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 355.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 22,
        "value": 0.266666666667,
        "value_label": "26.67%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 340.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.777777777778,
          "dupont_roe": 0.266666666667,
          "direct_roe": 0.266666666667,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 360.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 23,
        "value": 0.26301369863,
        "value_label": "26.30%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 350.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.739726027397,
          "dupont_roe": 0.26301369863,
          "direct_roe": 0.26301369863,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 365.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 24,
        "value": 0.259459459459,
        "value_label": "25.95%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 360.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.702702702703,
          "dupont_roe": 0.259459459459,
          "direct_roe": 0.259459459459,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 370.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 25,
        "value": 0.256,
        "value_label": "25.60%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 370.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.666666666667,
          "dupont_roe": 0.256,
          "direct_roe": 0.256,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 375.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 26,
        "value": 0.252631578947,
        "value_label": "25.26%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 380.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.631578947368,
          "dupont_roe": 0.252631578947,
          "direct_roe": 0.252631578947,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 380.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 27,
        "value": 0.249350649351,
        "value_label": "24.94%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 390.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.597402597403,
          "dupont_roe": 0.249350649351,
          "direct_roe": 0.249350649351,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 385.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 28,
        "value": 0.246153846154,
        "value_label": "24.62%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 400.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.564102564103,
          "dupont_roe": 0.246153846154,
          "direct_roe": 0.246153846154,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 390.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 29,
        "value": 0.243037974684,
        "value_label": "24.30%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 410.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.53164556962,
          "dupont_roe": 0.243037974684,
          "direct_roe": 0.243037974684,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 395.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 30,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 31,
        "value": 0.237037037037,
        "value_label": "23.70%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 430.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.469135802469,
          "dupont_roe": 0.237037037037,
          "direct_roe": 0.237037037037,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 405.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 32,
        "value": 0.234146341463,
        "value_label": "23.41%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 440.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.439024390244,
          "dupont_roe": 0.234146341463,
          "direct_roe": 0.234146341463,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 410.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 33,
        "value": 0.231325301205,
        "value_label": "23.13%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 450.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.409638554217,
          "dupont_roe": 0.231325301205,
          "direct_roe": 0.231325301205,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 415.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 34,
        "value": 0.228571428571,
        "value_label": "22.86%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 460.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.380952380952,
          "dupont_roe": 0.228571428571,
          "direct_roe": 0.228571428571,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 420.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 35,
        "value": 0.225882352941,
        "value_label": "22.59%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 470.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.352941176471,
          "dupont_roe": 0.225882352941,
          "direct_roe": 0.225882352941,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 425.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 36,
        "value": 0.223255813953,
        "value_label": "22.33%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 480.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.325581395349,
          "dupont_roe": 0.223255813953,
          "direct_roe": 0.223255813953,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 430.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 37,
        "value": 0.220689655172,
        "value_label": "22.07%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 490.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.298850574713,
          "dupont_roe": 0.220689655172,
          "direct_roe": 0.220689655172,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 435.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 38,
        "value": 0.218181818182,
        "value_label": "21.82%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 500.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.272727272727,
          "dupont_roe": 0.218181818182,
          "direct_roe": 0.218181818182,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 440.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 39,
        "value": 0.215730337079,
        "value_label": "21.57%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 510.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.247191011236,
          "dupont_roe": 0.215730337079,
          "direct_roe": 0.215730337079,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 445.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 40,
        "value": 0.213333333333,
        "value_label": "21.33%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 520.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.222222222222,
          "dupont_roe": 0.213333333333,
          "direct_roe": 0.213333333333,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 450.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 41,
        "value": 0.210989010989,
        "value_label": "21.10%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 530.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.197802197802,
          "dupont_roe": 0.210989010989,
          "direct_roe": 0.210989010989,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 455.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 42,
        "value": 0.208695652174,
        "value_label": "20.87%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 540.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.173913043478,
          "dupont_roe": 0.208695652174,
          "direct_roe": 0.208695652174,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 460.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 43,
        "value": 0.206451612903,
        "value_label": "20.65%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 550.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.150537634409,
          "dupont_roe": 0.206451612903,
          "direct_roe": 0.206451612903,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 465.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 44,
        "value": 0.204255319149,
        "value_label": "20.43%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 560.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.127659574468,
          "dupont_roe": 0.204255319149,
          "direct_roe": 0.204255319149,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 470.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 45,
        "value": 0.202105263158,
        "value_label": "20.21%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 570.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.105263157895,
          "dupont_roe": 0.202105263158,
          "direct_roe": 0.202105263158,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 475.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 46,
        "value": 0.2,
        "value_label": "20.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 580.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.083333333333,
          "dupont_roe": 0.2,
          "direct_roe": 0.2,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 480.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 47,
        "value": 0.19793814433,
        "value_label": "19.79%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 590.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.061855670103,
          "dupont_roe": 0.19793814433,
          "direct_roe": 0.19793814433,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 485.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 48,
        "value": 0.195918367347,
        "value_label": "19.59%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 600.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.040816326531,
          "dupont_roe": 0.195918367347,
          "direct_roe": 0.195918367347,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 490.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 49,
        "value": 0.193939393939,
        "value_label": "19.39%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 610.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.020202020202,
          "dupont_roe": 0.193939393939,
          "direct_roe": 0.193939393939,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 495.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 50,
        "value": 0.192,
        "value_label": "19.20%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 620.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.0,
          "dupont_roe": 0.192,
          "direct_roe": 0.192,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 500.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 51,
        "value": 0.190099009901,
        "value_label": "19.01%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 630.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 1.980198019802,
          "dupont_roe": 0.190099009901,
          "direct_roe": 0.190099009901,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 505.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 52,
        "value": 0.188235294118,
        "value_label": "18.82%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 640.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 1.960784313725,
          "dupont_roe": 0.188235294118,
          "direct_roe": 0.188235294118,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 510.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 53,
        "value": 0.18640776699,
        "value_label": "18.64%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 650.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 1.941747572816,
          "dupont_roe": 0.18640776699,
          "direct_roe": 0.18640776699,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 515.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 54,
        "value": 0.184615384615,
        "value_label": "18.46%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 660.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 1.923076923077,
          "dupont_roe": 0.184615384615,
          "direct_roe": 0.184615384615,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 520.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 55,
        "value": 0.182857142857,
        "value_label": "18.29%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 670.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 1.904761904762,
          "dupont_roe": 0.182857142857,
          "direct_roe": 0.182857142857,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 525.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 56,
        "value": 0.181132075472,
        "value_label": "18.11%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 680.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 1.88679245283,
          "dupont_roe": 0.181132075472,
          "direct_roe": 0.181132075472,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 530.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 57,
        "value": 0.179439252336,
        "value_label": "17.94%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 690.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 1.869158878505,
          "dupont_roe": 0.179439252336,
          "direct_roe": 0.179439252336,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 535.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 58,
        "value": 0.177777777778,
        "value_label": "17.78%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 700.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 1.851851851852,
          "dupont_roe": 0.177777777778,
          "direct_roe": 0.177777777778,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 540.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 59,
        "value": 0.176146788991,
        "value_label": "17.61%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 710.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 1.834862385321,
          "dupont_roe": 0.176146788991,
          "direct_roe": 0.176146788991,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 545.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 60,
        "value": 0.174545454545,
        "value_label": "17.45%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 720.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 1.818181818182,
          "dupont_roe": 0.174545454545,
          "direct_roe": 0.174545454545,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 550.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      }
    ]
  },
  {
    "name": "Loss state",
    "description": "Move net income from a loss toward break-even.",
    "canonical_step": 30,
    "summary": {
      "focus_step": 30,
      "focus_kind": "comparison",
      "canonical_output_match": false,
      "state_counts": {
        "loss": 52,
        "calculated": 9
      },
      "value_min": -0.3,
      "value_max": 0.05,
      "segments": [
        {
          "start_step": 0,
          "end_step": 51,
          "state": "loss",
          "decision": "three-factor-identity-reconciles",
          "start_value_label": "-30.00%",
          "end_value_label": "-0.25%"
        },
        {
          "start_step": 52,
          "end_step": 60,
          "state": "calculated",
          "decision": "three-factor-identity-reconciles",
          "start_value_label": "0.33%",
          "end_value_label": "5.00%"
        }
      ]
    },
    "states": [
      {
        "step": 0,
        "value": -0.3,
        "value_label": "-30.00%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -120.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.1,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.3,
          "direct_roe": -0.3,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 1,
        "value": -0.294166666667,
        "value_label": "-29.42%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -117.666666666667,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.098055555556,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.294166666667,
          "direct_roe": -0.294166666667,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 2,
        "value": -0.288333333333,
        "value_label": "-28.83%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -115.333333333333,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.096111111111,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.288333333333,
          "direct_roe": -0.288333333333,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 3,
        "value": -0.2825,
        "value_label": "-28.25%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -113.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.094166666667,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.2825,
          "direct_roe": -0.2825,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 4,
        "value": -0.276666666667,
        "value_label": "-27.67%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -110.666666666667,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.092222222222,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.276666666667,
          "direct_roe": -0.276666666667,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 5,
        "value": -0.270833333333,
        "value_label": "-27.08%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -108.333333333333,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.090277777778,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.270833333333,
          "direct_roe": -0.270833333333,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 6,
        "value": -0.265,
        "value_label": "-26.50%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -106.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.088333333333,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.265,
          "direct_roe": -0.265,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 7,
        "value": -0.259166666667,
        "value_label": "-25.92%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -103.666666666667,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.086388888889,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.259166666667,
          "direct_roe": -0.259166666667,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 8,
        "value": -0.253333333333,
        "value_label": "-25.33%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -101.333333333333,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.084444444444,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.253333333333,
          "direct_roe": -0.253333333333,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 9,
        "value": -0.2475,
        "value_label": "-24.75%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -99.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.0825,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.2475,
          "direct_roe": -0.2475,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 10,
        "value": -0.241666666667,
        "value_label": "-24.17%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -96.666666666667,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.080555555556,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.241666666667,
          "direct_roe": -0.241666666667,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 11,
        "value": -0.235833333333,
        "value_label": "-23.58%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -94.333333333333,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.078611111111,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.235833333333,
          "direct_roe": -0.235833333333,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 12,
        "value": -0.23,
        "value_label": "-23.00%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -92.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.076666666667,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.23,
          "direct_roe": -0.23,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 13,
        "value": -0.224166666667,
        "value_label": "-22.42%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -89.666666666667,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.074722222222,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.224166666667,
          "direct_roe": -0.224166666667,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 14,
        "value": -0.218333333333,
        "value_label": "-21.83%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -87.333333333333,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.072777777778,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.218333333333,
          "direct_roe": -0.218333333333,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 15,
        "value": -0.2125,
        "value_label": "-21.25%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -85.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.070833333333,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.2125,
          "direct_roe": -0.2125,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 16,
        "value": -0.206666666667,
        "value_label": "-20.67%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -82.666666666667,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.068888888889,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.206666666667,
          "direct_roe": -0.206666666667,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 17,
        "value": -0.200833333333,
        "value_label": "-20.08%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -80.333333333333,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.066944444444,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.200833333333,
          "direct_roe": -0.200833333333,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 18,
        "value": -0.195,
        "value_label": "-19.50%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -78.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.065,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.195,
          "direct_roe": -0.195,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 19,
        "value": -0.189166666667,
        "value_label": "-18.92%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -75.666666666667,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.063055555556,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.189166666667,
          "direct_roe": -0.189166666667,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 20,
        "value": -0.183333333333,
        "value_label": "-18.33%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -73.333333333333,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.061111111111,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.183333333333,
          "direct_roe": -0.183333333333,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 21,
        "value": -0.1775,
        "value_label": "-17.75%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -71.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.059166666667,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.1775,
          "direct_roe": -0.1775,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 22,
        "value": -0.171666666667,
        "value_label": "-17.17%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -68.666666666667,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.057222222222,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.171666666667,
          "direct_roe": -0.171666666667,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 23,
        "value": -0.165833333333,
        "value_label": "-16.58%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -66.333333333333,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.055277777778,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.165833333333,
          "direct_roe": -0.165833333333,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 24,
        "value": -0.16,
        "value_label": "-16.00%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -64.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.053333333333,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.16,
          "direct_roe": -0.16,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 25,
        "value": -0.154166666667,
        "value_label": "-15.42%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -61.666666666667,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.051388888889,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.154166666667,
          "direct_roe": -0.154166666667,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 26,
        "value": -0.148333333333,
        "value_label": "-14.83%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -59.333333333333,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.049444444444,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.148333333333,
          "direct_roe": -0.148333333333,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 27,
        "value": -0.1425,
        "value_label": "-14.25%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -57.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.0475,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.1425,
          "direct_roe": -0.1425,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 28,
        "value": -0.136666666667,
        "value_label": "-13.67%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -54.666666666667,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.045555555556,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.136666666667,
          "direct_roe": -0.136666666667,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 29,
        "value": -0.130833333333,
        "value_label": "-13.08%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -52.333333333333,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.043611111111,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.130833333333,
          "direct_roe": -0.130833333333,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 30,
        "value": -0.125,
        "value_label": "-12.50%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -50.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.041666666667,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.125,
          "direct_roe": -0.125,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 31,
        "value": -0.119166666667,
        "value_label": "-11.92%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -47.666666666667,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.039722222222,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.119166666667,
          "direct_roe": -0.119166666667,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 32,
        "value": -0.113333333333,
        "value_label": "-11.33%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -45.333333333333,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.037777777778,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.113333333333,
          "direct_roe": -0.113333333333,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 33,
        "value": -0.1075,
        "value_label": "-10.75%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -43.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.035833333333,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.1075,
          "direct_roe": -0.1075,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 34,
        "value": -0.101666666667,
        "value_label": "-10.17%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -40.666666666667,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.033888888889,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.101666666667,
          "direct_roe": -0.101666666667,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 35,
        "value": -0.095833333333,
        "value_label": "-9.58%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -38.333333333333,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.031944444444,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.095833333333,
          "direct_roe": -0.095833333333,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 36,
        "value": -0.09,
        "value_label": "-9.00%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -36.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.03,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.09,
          "direct_roe": -0.09,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 37,
        "value": -0.084166666667,
        "value_label": "-8.42%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -33.666666666667,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.028055555556,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.084166666667,
          "direct_roe": -0.084166666667,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 38,
        "value": -0.078333333333,
        "value_label": "-7.83%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -31.333333333333,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.026111111111,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.078333333333,
          "direct_roe": -0.078333333333,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 39,
        "value": -0.0725,
        "value_label": "-7.25%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -29.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.024166666667,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.0725,
          "direct_roe": -0.0725,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 40,
        "value": -0.066666666667,
        "value_label": "-6.67%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -26.666666666667,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.022222222222,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.066666666667,
          "direct_roe": -0.066666666667,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 41,
        "value": -0.060833333333,
        "value_label": "-6.08%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -24.333333333333,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.020277777778,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.060833333333,
          "direct_roe": -0.060833333333,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 42,
        "value": -0.055,
        "value_label": "-5.50%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -22.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.018333333333,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.055,
          "direct_roe": -0.055,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 43,
        "value": -0.049166666667,
        "value_label": "-4.92%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -19.666666666667,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.016388888889,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.049166666667,
          "direct_roe": -0.049166666667,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 44,
        "value": -0.043333333333,
        "value_label": "-4.33%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -17.333333333333,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.014444444444,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.043333333333,
          "direct_roe": -0.043333333333,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 45,
        "value": -0.0375,
        "value_label": "-3.75%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -15.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.0125,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.0375,
          "direct_roe": -0.0375,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 46,
        "value": -0.031666666667,
        "value_label": "-3.17%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -12.666666666667,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.010555555556,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.031666666667,
          "direct_roe": -0.031666666667,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 47,
        "value": -0.025833333333,
        "value_label": "-2.58%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -10.333333333333,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.008611111111,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.025833333333,
          "direct_roe": -0.025833333333,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 48,
        "value": -0.02,
        "value_label": "-2.00%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -8.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.006666666667,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.02,
          "direct_roe": -0.02,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 49,
        "value": -0.014166666667,
        "value_label": "-1.42%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -5.666666666667,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.004722222222,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.014166666667,
          "direct_roe": -0.014166666667,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 50,
        "value": -0.008333333333,
        "value_label": "-0.83%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -3.333333333333,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.002777777778,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.008333333333,
          "direct_roe": -0.008333333333,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 51,
        "value": -0.0025,
        "value_label": "-0.25%",
        "state": "loss",
        "diagnostic": "loss · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": -1.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": -0.000833333333,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": -0.0025,
          "direct_roe": -0.0025,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "loss",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 52,
        "value": 0.003333333333,
        "value_label": "0.33%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 1.333333333333,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.001111111111,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.003333333333,
          "direct_roe": 0.003333333333,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 53,
        "value": 0.009166666667,
        "value_label": "0.92%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 3.666666666667,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.003055555556,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.009166666667,
          "direct_roe": 0.009166666667,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 54,
        "value": 0.015,
        "value_label": "1.50%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 6.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.005,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.015,
          "direct_roe": 0.015,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 55,
        "value": 0.020833333333,
        "value_label": "2.08%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 8.333333333333,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.006944444444,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.020833333333,
          "direct_roe": 0.020833333333,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 56,
        "value": 0.026666666667,
        "value_label": "2.67%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 10.666666666667,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.008888888889,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.026666666667,
          "direct_roe": 0.026666666667,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 57,
        "value": 0.0325,
        "value_label": "3.25%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 13.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.010833333333,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.0325,
          "direct_roe": 0.0325,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 58,
        "value": 0.038333333333,
        "value_label": "3.83%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 15.333333333333,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.012777777778,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.038333333333,
          "direct_roe": 0.038333333333,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 59,
        "value": 0.044166666667,
        "value_label": "4.42%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 17.666666666667,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.014722222222,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.044166666667,
          "direct_roe": 0.044166666667,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 60,
        "value": 0.05,
        "value_label": "5.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 20.0,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.016666666667,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.05,
          "direct_roe": 0.05,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      }
    ]
  },
  {
    "name": "Zero-revenue boundary",
    "description": "Approach and leave the zero-revenue not-meaningful state.",
    "canonical_step": 30,
    "summary": {
      "focus_step": 30,
      "focus_kind": "comparison",
      "canonical_output_match": false,
      "state_counts": {
        "not-meaningful": 1,
        "calculated": 60
      },
      "value_min": 0.0,
      "value_max": 0.24,
      "segments": [
        {
          "start_step": 0,
          "end_step": 0,
          "state": "not-meaningful",
          "decision": "zero-revenue",
          "start_value_label": "not meaningful",
          "end_value_label": "not meaningful"
        },
        {
          "start_step": 1,
          "end_step": 60,
          "state": "calculated",
          "decision": "three-factor-identity-reconciles",
          "start_value_label": "24.00%",
          "end_value_label": "24.00%"
        }
      ]
    },
    "states": [
      {
        "step": 0,
        "value": 0.0,
        "value_label": "not meaningful",
        "state": "not-meaningful",
        "diagnostic": "not-meaningful · zero-revenue",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 0.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": null,
          "asset_turnover": null,
          "equity_multiplier": null,
          "dupont_roe": null,
          "direct_roe": null,
          "identity_gap": null,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "not-meaningful",
          "reason": "zero-revenue"
        }
      },
      {
        "step": 1,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 20.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 4.8,
          "asset_turnover": 0.02,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 2,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 40.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 2.4,
          "asset_turnover": 0.04,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 3,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 60.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 1.6,
          "asset_turnover": 0.06,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 4,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 80.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 1.2,
          "asset_turnover": 0.08,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 5,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 100.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.96,
          "asset_turnover": 0.1,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 6,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 120.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.8,
          "asset_turnover": 0.12,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 7,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 140.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.685714285714,
          "asset_turnover": 0.14,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 8,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 160.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.6,
          "asset_turnover": 0.16,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 9,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 180.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.533333333333,
          "asset_turnover": 0.18,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 10,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 200.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.48,
          "asset_turnover": 0.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 11,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 220.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.436363636364,
          "asset_turnover": 0.22,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 12,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 240.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.4,
          "asset_turnover": 0.24,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 13,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 260.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.369230769231,
          "asset_turnover": 0.26,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 14,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 280.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.342857142857,
          "asset_turnover": 0.28,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 15,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 300.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.32,
          "asset_turnover": 0.3,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 16,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 320.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.3,
          "asset_turnover": 0.32,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 17,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 340.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.282352941176,
          "asset_turnover": 0.34,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 18,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 360.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.266666666667,
          "asset_turnover": 0.36,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 19,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 380.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.252631578947,
          "asset_turnover": 0.38,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 20,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 400.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.24,
          "asset_turnover": 0.4,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 21,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 420.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.228571428571,
          "asset_turnover": 0.42,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 22,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 440.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.218181818182,
          "asset_turnover": 0.44,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 23,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 460.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.208695652174,
          "asset_turnover": 0.46,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 24,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 480.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.2,
          "asset_turnover": 0.48,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 25,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 500.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.192,
          "asset_turnover": 0.5,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 26,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 520.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.184615384615,
          "asset_turnover": 0.52,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 27,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 540.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.177777777778,
          "asset_turnover": 0.54,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 28,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 560.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.171428571429,
          "asset_turnover": 0.56,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 29,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 580.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.165517241379,
          "asset_turnover": 0.58,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 30,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 600.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.16,
          "asset_turnover": 0.6,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 31,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 620.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.154838709677,
          "asset_turnover": 0.62,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 32,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 640.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.15,
          "asset_turnover": 0.64,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 33,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 660.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.145454545455,
          "asset_turnover": 0.66,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 34,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 680.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.141176470588,
          "asset_turnover": 0.68,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 35,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 700.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.137142857143,
          "asset_turnover": 0.7,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 36,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 720.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.133333333333,
          "asset_turnover": 0.72,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 37,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 740.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.12972972973,
          "asset_turnover": 0.74,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 38,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 760.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.126315789474,
          "asset_turnover": 0.76,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 39,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 780.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.123076923077,
          "asset_turnover": 0.78,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 40,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 800.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.12,
          "asset_turnover": 0.8,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 41,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 820.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.117073170732,
          "asset_turnover": 0.82,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 42,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 840.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.114285714286,
          "asset_turnover": 0.84,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 43,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 860.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.111627906977,
          "asset_turnover": 0.86,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 44,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 880.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.109090909091,
          "asset_turnover": 0.88,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 45,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 900.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.106666666667,
          "asset_turnover": 0.9,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 46,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 920.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.104347826087,
          "asset_turnover": 0.92,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 47,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 940.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.102127659574,
          "asset_turnover": 0.94,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 48,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 960.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.1,
          "asset_turnover": 0.96,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 49,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 980.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.097959183673,
          "asset_turnover": 0.98,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 50,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1000.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.096,
          "asset_turnover": 1.0,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 51,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1020.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.094117647059,
          "asset_turnover": 1.02,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 52,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1040.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.092307692308,
          "asset_turnover": 1.04,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 53,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1060.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.090566037736,
          "asset_turnover": 1.06,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 54,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1080.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.088888888889,
          "asset_turnover": 1.08,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 55,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1100.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.087272727273,
          "asset_turnover": 1.1,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 56,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1120.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.085714285714,
          "asset_turnover": 1.12,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 57,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1140.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.084210526316,
          "asset_turnover": 1.14,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 58,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1160.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08275862069,
          "asset_turnover": 1.16,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 59,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1180.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.081355932203,
          "asset_turnover": 1.18,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 60,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200.0,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      }
    ]
  },
  {
    "name": "Nonpositive-equity boundary",
    "description": "Cross the package's average-equity interpretation gate.",
    "canonical_step": 30,
    "summary": {
      "focus_step": 30,
      "focus_kind": "comparison",
      "canonical_output_match": false,
      "state_counts": {
        "not-meaningful": 8,
        "calculated": 53
      },
      "value_min": 0.0,
      "value_max": 71.999999999999,
      "segments": [
        {
          "start_step": 0,
          "end_step": 7,
          "state": "not-meaningful",
          "decision": "nonpositive-average-equity",
          "start_value_label": "not meaningful",
          "end_value_label": "not meaningful"
        },
        {
          "start_step": 8,
          "end_step": 60,
          "state": "calculated",
          "decision": "three-factor-identity-reconciles",
          "start_value_label": "7200.00%",
          "end_value_label": "24.00%"
        }
      ]
    },
    "states": [
      {
        "step": 0,
        "value": 0.0,
        "value_label": "not meaningful",
        "state": "not-meaningful",
        "diagnostic": "not-meaningful · nonpositive-average-equity",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -500.0
        },
        "output": {
          "net_profit_margin": null,
          "asset_turnover": null,
          "equity_multiplier": null,
          "dupont_roe": null,
          "direct_roe": null,
          "identity_gap": null,
          "average_assets": 1000.0,
          "average_equity": -60.0,
          "state": "not-meaningful",
          "reason": "nonpositive-average-equity"
        }
      },
      {
        "step": 1,
        "value": 0.0,
        "value_label": "not meaningful",
        "state": "not-meaningful",
        "diagnostic": "not-meaningful · nonpositive-average-equity",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -484.666666666667
        },
        "output": {
          "net_profit_margin": null,
          "asset_turnover": null,
          "equity_multiplier": null,
          "dupont_roe": null,
          "direct_roe": null,
          "identity_gap": null,
          "average_assets": 1000.0,
          "average_equity": -52.333333333333,
          "state": "not-meaningful",
          "reason": "nonpositive-average-equity"
        }
      },
      {
        "step": 2,
        "value": 0.0,
        "value_label": "not meaningful",
        "state": "not-meaningful",
        "diagnostic": "not-meaningful · nonpositive-average-equity",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -469.333333333333
        },
        "output": {
          "net_profit_margin": null,
          "asset_turnover": null,
          "equity_multiplier": null,
          "dupont_roe": null,
          "direct_roe": null,
          "identity_gap": null,
          "average_assets": 1000.0,
          "average_equity": -44.666666666667,
          "state": "not-meaningful",
          "reason": "nonpositive-average-equity"
        }
      },
      {
        "step": 3,
        "value": 0.0,
        "value_label": "not meaningful",
        "state": "not-meaningful",
        "diagnostic": "not-meaningful · nonpositive-average-equity",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -454.0
        },
        "output": {
          "net_profit_margin": null,
          "asset_turnover": null,
          "equity_multiplier": null,
          "dupont_roe": null,
          "direct_roe": null,
          "identity_gap": null,
          "average_assets": 1000.0,
          "average_equity": -37.0,
          "state": "not-meaningful",
          "reason": "nonpositive-average-equity"
        }
      },
      {
        "step": 4,
        "value": 0.0,
        "value_label": "not meaningful",
        "state": "not-meaningful",
        "diagnostic": "not-meaningful · nonpositive-average-equity",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -438.666666666667
        },
        "output": {
          "net_profit_margin": null,
          "asset_turnover": null,
          "equity_multiplier": null,
          "dupont_roe": null,
          "direct_roe": null,
          "identity_gap": null,
          "average_assets": 1000.0,
          "average_equity": -29.333333333333,
          "state": "not-meaningful",
          "reason": "nonpositive-average-equity"
        }
      },
      {
        "step": 5,
        "value": 0.0,
        "value_label": "not meaningful",
        "state": "not-meaningful",
        "diagnostic": "not-meaningful · nonpositive-average-equity",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -423.333333333333
        },
        "output": {
          "net_profit_margin": null,
          "asset_turnover": null,
          "equity_multiplier": null,
          "dupont_roe": null,
          "direct_roe": null,
          "identity_gap": null,
          "average_assets": 1000.0,
          "average_equity": -21.666666666667,
          "state": "not-meaningful",
          "reason": "nonpositive-average-equity"
        }
      },
      {
        "step": 6,
        "value": 0.0,
        "value_label": "not meaningful",
        "state": "not-meaningful",
        "diagnostic": "not-meaningful · nonpositive-average-equity",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -408.0
        },
        "output": {
          "net_profit_margin": null,
          "asset_turnover": null,
          "equity_multiplier": null,
          "dupont_roe": null,
          "direct_roe": null,
          "identity_gap": null,
          "average_assets": 1000.0,
          "average_equity": -14.0,
          "state": "not-meaningful",
          "reason": "nonpositive-average-equity"
        }
      },
      {
        "step": 7,
        "value": 0.0,
        "value_label": "not meaningful",
        "state": "not-meaningful",
        "diagnostic": "not-meaningful · nonpositive-average-equity",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -392.666666666667
        },
        "output": {
          "net_profit_margin": null,
          "asset_turnover": null,
          "equity_multiplier": null,
          "dupont_roe": null,
          "direct_roe": null,
          "identity_gap": null,
          "average_assets": 1000.0,
          "average_equity": -6.333333333333,
          "state": "not-meaningful",
          "reason": "nonpositive-average-equity"
        }
      },
      {
        "step": 8,
        "value": 71.999999999999,
        "value_label": "7200.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -377.333333333333
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 749.999999999995,
          "dupont_roe": 71.999999999999,
          "direct_roe": 71.999999999999,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 1.333333333333,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 9,
        "value": 10.666666666667,
        "value_label": "1066.67%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -362.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 111.111111111111,
          "dupont_roe": 10.666666666667,
          "direct_roe": 10.666666666667,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 9.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 10,
        "value": 5.76,
        "value_label": "576.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -346.666666666667
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 60.0,
          "dupont_roe": 5.76,
          "direct_roe": 5.76,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 16.666666666667,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 11,
        "value": 3.945205479452,
        "value_label": "394.52%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -331.333333333333
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 41.095890410959,
          "dupont_roe": 3.945205479452,
          "direct_roe": 3.945205479452,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 24.333333333333,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 12,
        "value": 3.0,
        "value_label": "300.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -316.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 31.25,
          "dupont_roe": 3.0,
          "direct_roe": 3.0,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 32.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 13,
        "value": 2.420168067227,
        "value_label": "242.02%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -300.666666666667
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 25.210084033613,
          "dupont_roe": 2.420168067227,
          "direct_roe": 2.420168067227,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 39.666666666667,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 14,
        "value": 2.028169014085,
        "value_label": "202.82%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -285.333333333333
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 21.12676056338,
          "dupont_roe": 2.028169014085,
          "direct_roe": 2.028169014085,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 47.333333333333,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 15,
        "value": 1.745454545455,
        "value_label": "174.55%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -270.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 18.181818181818,
          "dupont_roe": 1.745454545455,
          "direct_roe": 1.745454545455,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 55.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 16,
        "value": 1.531914893617,
        "value_label": "153.19%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -254.666666666667
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 15.957446808511,
          "dupont_roe": 1.531914893617,
          "direct_roe": 1.531914893617,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 62.666666666667,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 17,
        "value": 1.364928909953,
        "value_label": "136.49%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -239.333333333333
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 14.218009478673,
          "dupont_roe": 1.364928909953,
          "direct_roe": 1.364928909953,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 70.333333333333,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 18,
        "value": 1.230769230769,
        "value_label": "123.08%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -224.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 12.820512820513,
          "dupont_roe": 1.230769230769,
          "direct_roe": 1.230769230769,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 78.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 19,
        "value": 1.120622568093,
        "value_label": "112.06%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -208.666666666667
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 11.673151750973,
          "dupont_roe": 1.120622568093,
          "direct_roe": 1.120622568093,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 85.666666666667,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 20,
        "value": 1.028571428571,
        "value_label": "102.86%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -193.333333333333
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 10.714285714286,
          "dupont_roe": 1.028571428571,
          "direct_roe": 1.028571428571,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 93.333333333333,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 21,
        "value": 0.950495049505,
        "value_label": "95.05%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -178.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 9.90099009901,
          "dupont_roe": 0.950495049505,
          "direct_roe": 0.950495049505,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 101.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 22,
        "value": 0.883435582822,
        "value_label": "88.34%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -162.666666666667
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 9.20245398773,
          "dupont_roe": 0.883435582822,
          "direct_roe": 0.883435582822,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 108.666666666667,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 23,
        "value": 0.825214899713,
        "value_label": "82.52%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -147.333333333333
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 8.595988538682,
          "dupont_roe": 0.825214899713,
          "direct_roe": 0.825214899713,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 116.333333333333,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 24,
        "value": 0.774193548387,
        "value_label": "77.42%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -132.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 8.064516129032,
          "dupont_roe": 0.774193548387,
          "direct_roe": 0.774193548387,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 124.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 25,
        "value": 0.729113924051,
        "value_label": "72.91%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -116.666666666667
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 7.594936708861,
          "dupont_roe": 0.729113924051,
          "direct_roe": 0.729113924051,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 131.666666666667,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 26,
        "value": 0.688995215311,
        "value_label": "68.90%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -101.333333333333
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 7.177033492823,
          "dupont_roe": 0.688995215311,
          "direct_roe": 0.688995215311,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 139.333333333333,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 27,
        "value": 0.65306122449,
        "value_label": "65.31%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -86.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 6.802721088435,
          "dupont_roe": 0.65306122449,
          "direct_roe": 0.65306122449,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 147.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 28,
        "value": 0.620689655172,
        "value_label": "62.07%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -70.666666666667
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 6.465517241379,
          "dupont_roe": 0.620689655172,
          "direct_roe": 0.620689655172,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 154.666666666667,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 29,
        "value": 0.591375770021,
        "value_label": "59.14%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -55.333333333333
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 6.160164271047,
          "dupont_roe": 0.591375770021,
          "direct_roe": 0.591375770021,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 162.333333333333,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 30,
        "value": 0.564705882353,
        "value_label": "56.47%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -40.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 5.882352941176,
          "dupont_roe": 0.564705882353,
          "direct_roe": 0.564705882353,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 170.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 31,
        "value": 0.540337711069,
        "value_label": "54.03%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -24.666666666667
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 5.62851782364,
          "dupont_roe": 0.540337711069,
          "direct_roe": 0.540337711069,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 177.666666666667,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 32,
        "value": 0.517985611511,
        "value_label": "51.80%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": -9.333333333333
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 5.395683453237,
          "dupont_roe": 0.517985611511,
          "direct_roe": 0.517985611511,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 185.333333333333,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 33,
        "value": 0.497409326425,
        "value_label": "49.74%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 6.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 5.181347150259,
          "dupont_roe": 0.497409326425,
          "direct_roe": 0.497409326425,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 193.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 34,
        "value": 0.478405315615,
        "value_label": "47.84%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 21.333333333333
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 4.983388704319,
          "dupont_roe": 0.478405315615,
          "direct_roe": 0.478405315615,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 200.666666666667,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 35,
        "value": 0.4608,
        "value_label": "46.08%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 36.666666666667
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 4.8,
          "dupont_roe": 0.4608,
          "direct_roe": 0.4608,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 208.333333333333,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 36,
        "value": 0.444444444444,
        "value_label": "44.44%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 52.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 4.62962962963,
          "dupont_roe": 0.444444444444,
          "direct_roe": 0.444444444444,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 216.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 37,
        "value": 0.429210134128,
        "value_label": "42.92%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 67.333333333333
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 4.470938897168,
          "dupont_roe": 0.429210134128,
          "direct_roe": 0.429210134128,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 223.666666666667,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 38,
        "value": 0.414985590778,
        "value_label": "41.50%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 82.666666666667
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 4.322766570605,
          "dupont_roe": 0.414985590778,
          "direct_roe": 0.414985590778,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 231.333333333333,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 39,
        "value": 0.401673640167,
        "value_label": "40.17%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 98.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 4.18410041841,
          "dupont_roe": 0.401673640167,
          "direct_roe": 0.401673640167,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 239.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 40,
        "value": 0.389189189189,
        "value_label": "38.92%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 113.333333333333
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 4.054054054054,
          "dupont_roe": 0.389189189189,
          "direct_roe": 0.389189189189,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 246.666666666667,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 41,
        "value": 0.37745740498,
        "value_label": "37.75%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 128.666666666667
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 3.931847968545,
          "dupont_roe": 0.37745740498,
          "direct_roe": 0.37745740498,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 254.333333333333,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 42,
        "value": 0.36641221374,
        "value_label": "36.64%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 144.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 3.81679389313,
          "dupont_roe": 0.36641221374,
          "direct_roe": 0.36641221374,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 262.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 43,
        "value": 0.355995055624,
        "value_label": "35.60%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 159.333333333333
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 3.708281829419,
          "dupont_roe": 0.355995055624,
          "direct_roe": 0.355995055624,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 269.666666666667,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 44,
        "value": 0.346153846154,
        "value_label": "34.62%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 174.666666666667
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 3.605769230769,
          "dupont_roe": 0.346153846154,
          "direct_roe": 0.346153846154,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 277.333333333333,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 45,
        "value": 0.336842105263,
        "value_label": "33.68%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 190.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 3.508771929825,
          "dupont_roe": 0.336842105263,
          "direct_roe": 0.336842105263,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 285.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 46,
        "value": 0.328018223235,
        "value_label": "32.80%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 205.333333333333
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 3.416856492027,
          "dupont_roe": 0.328018223235,
          "direct_roe": 0.328018223235,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 292.666666666667,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 47,
        "value": 0.319644839068,
        "value_label": "31.96%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 220.666666666667
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 3.329633740289,
          "dupont_roe": 0.319644839068,
          "direct_roe": 0.319644839068,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 300.333333333333,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 48,
        "value": 0.311688311688,
        "value_label": "31.17%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 236.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 3.246753246753,
          "dupont_roe": 0.311688311688,
          "direct_roe": 0.311688311688,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 308.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 49,
        "value": 0.304118268215,
        "value_label": "30.41%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 251.333333333333
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 3.167898627244,
          "dupont_roe": 0.304118268215,
          "direct_roe": 0.304118268215,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 315.666666666667,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 50,
        "value": 0.296907216495,
        "value_label": "29.69%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 266.666666666667
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 3.092783505155,
          "dupont_roe": 0.296907216495,
          "direct_roe": 0.296907216495,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 323.333333333333,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 51,
        "value": 0.29003021148,
        "value_label": "29.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 282.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 3.021148036254,
          "dupont_roe": 0.29003021148,
          "direct_roe": 0.29003021148,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 331.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 52,
        "value": 0.283464566929,
        "value_label": "28.35%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 297.333333333333
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.952755905512,
          "dupont_roe": 0.283464566929,
          "direct_roe": 0.283464566929,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 338.666666666667,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 53,
        "value": 0.27718960539,
        "value_label": "27.72%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 312.666666666667
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.88739172281,
          "dupont_roe": 0.27718960539,
          "direct_roe": 0.27718960539,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 346.333333333333,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 54,
        "value": 0.271186440678,
        "value_label": "27.12%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 328.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.824858757062,
          "dupont_roe": 0.271186440678,
          "direct_roe": 0.271186440678,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 354.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 55,
        "value": 0.265437788018,
        "value_label": "26.54%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 343.333333333333
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.764976958525,
          "dupont_roe": 0.265437788018,
          "direct_roe": 0.265437788018,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 361.666666666667,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 56,
        "value": 0.259927797834,
        "value_label": "25.99%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 358.666666666667
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.707581227437,
          "dupont_roe": 0.259927797834,
          "direct_roe": 0.259927797834,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 369.333333333333,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 57,
        "value": 0.254641909814,
        "value_label": "25.46%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 374.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.652519893899,
          "dupont_roe": 0.254641909814,
          "direct_roe": 0.254641909814,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 377.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 58,
        "value": 0.249566724437,
        "value_label": "24.96%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 389.333333333333
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.599653379549,
          "dupont_roe": 0.249566724437,
          "direct_roe": 0.249566724437,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 384.666666666667,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 59,
        "value": 0.24468988955,
        "value_label": "24.47%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 404.666666666667
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.548853016143,
          "dupont_roe": 0.24468988955,
          "direct_roe": 0.24468988955,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 392.333333333333,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      },
      {
        "step": 60,
        "value": 0.24,
        "value_label": "24.00%",
        "state": "calculated",
        "diagnostic": "calculated · three-factor-identity-reconciles",
        "guidance": "Observe average assets/equity, three factors, direct ROE, and identity gap. The decision boundary is zero revenue or nonpositive average equity.",
        "input": {
          "net_income": 96,
          "revenue": 1200,
          "beginning_assets": 900,
          "ending_assets": 1100,
          "beginning_equity": 380,
          "ending_equity": 420.0
        },
        "output": {
          "net_profit_margin": 0.08,
          "asset_turnover": 1.2,
          "equity_multiplier": 2.5,
          "dupont_roe": 0.24,
          "direct_roe": 0.24,
          "identity_gap": 0.0,
          "average_assets": 1000.0,
          "average_equity": 400.0,
          "state": "calculated",
          "reason": "three-factor-identity-reconciles"
        }
      }
    ]
  }
]
