diff --git a/docs/monitor/deviation.md b/docs/monitor/deviation.md
index 14ae09e..ec3f814 100644
--- a/docs/monitor/deviation.md
+++ b/docs/monitor/deviation.md
@@ -1,9 +1,41 @@
 # deviation
 
 ## Description
-
+The +/- percentage allowed for the sensors of a fan to deviate from any
+requested target before being deemed out-of-spec and not functioning as
+expected according to the target requested.
 
 ## Attribute Value(s)
+integer (0 - 100)
 
+Deviation is represented as a percentage, so only 0 to 100 are valid values.
 
 ## Example
+<pre><code>
+{
+  "fans": [
+    {
+      "inventory": "/system/chassis/motherboard/fan0",
+      "allowed_out_of_range_time": 30,
+      "functional_delay": 5,
+      <b><i>"deviation": 15</i></b>,
+      "num_sensors_nonfunc_for_fan_nonfunc": 1,
+      "monitor_start_delay": 30,
+      "fan_missing_error_delay": 20,
+      "nonfunc_rotor_error_delay": 0,
+      "sensors": [
+        {
+          "name": "fan0_0",
+          "has_target": true
+        },
+        {
+          "name": "fan0_1",
+          "has_target": false,
+          "factor": 1.45,
+          "offset": -909
+        }
+      ]
+    }
+  ]
+}
+</code></pre>
diff --git a/monitor/json_parser.cpp b/monitor/json_parser.cpp
index 82fc621..9218634 100644
--- a/monitor/json_parser.cpp
+++ b/monitor/json_parser.cpp
@@ -190,6 +190,19 @@
             throw std::runtime_error(
                 "Missing required fan monitor definition parameters");
         }
+        // Valid deviation range is 0 - 100%
+        auto deviation = fan["deviation"].get<size_t>();
+        if (deviation < 0 || 100 < deviation)
+        {
+            auto msg =
+                fmt::format(
+                    "Invalid deviation of {} found, must be between 0 and 100",
+                    deviation)
+                    .c_str();
+            log<level::ERR>(msg);
+            throw std::runtime_error(msg);
+        }
+
         // Construct the sensor definitions for this fan
         auto sensorDefs = getSensorDefs(fan["sensors"]);
 
@@ -310,7 +323,7 @@
 
         fanDefs.emplace_back(std::tuple(
             fan["inventory"].get<std::string>(), method, funcDelay, timeout,
-            fan["deviation"].get<size_t>(), nonfuncSensorsCount, monitorDelay,
+            deviation, nonfuncSensorsCount, monitorDelay,
             nonfuncRotorErrorDelay, fanMissingErrorDelay, sensorDefs, cond));
     }
 
