diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 0.7.1
+
+* Add the `stats` command
+
 ## 0.7.0.4
 
 * Respect --summary option
diff --git a/Stackage/Stats.hs b/Stackage/Stats.hs
new file mode 100644
--- /dev/null
+++ b/Stackage/Stats.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE OverloadedStrings, NoImplicitPrelude #-}
+module Stackage.Stats
+    ( printStats
+    ) where
+
+import Stackage.Prelude
+import Data.Yaml (decodeFileEither)
+
+printStats :: FilePath -- ^ YAML build plan file
+           -> IO ()
+printStats fp = do
+    bp <- decodeFileEither (fpToString fp) >>= either throwIO return
+    let core = length $ siCorePackages $ bpSystemInfo bp
+        pkgs = length $ bpPackages bp
+        maintainers = length $ asSet $ flip foldMap (bpPackages bp)
+            $ maybe
+                mempty
+                singletonSet
+                . pcMaintainer . ppConstraints
+    putStrLn $ "Core packages:      " ++ tshow core
+    putStrLn $ "Non-core packages:  " ++ tshow pkgs
+    putStrLn $ "Total packages:     " ++ tshow (core + pkgs)
+    putStrLn $ "Unique maintainers: " ++ tshow maintainers
diff --git a/app/stackage.hs b/app/stackage.hs
--- a/app/stackage.hs
+++ b/app/stackage.hs
@@ -12,6 +12,7 @@
 import Stackage.CompleteBuild
 import Stackage.Upload
 import Stackage.InstallBuild
+import Stackage.Stats
 import Network.HTTP.Client (withManager)
 import Network.HTTP.Client.TLS (tlsManagerSettings)
 import qualified Data.Text as T
@@ -76,6 +77,11 @@
                   uploadv2Flags
                   "upload2"
                   "Upload a pre-existing v2 bundle"
+            , cmnd
+                  printStats
+                  printStatsFlags
+                  "stats"
+                  "Print statistics on a build plan"
             ]
 
     cmnd exec parse name desc =
@@ -220,3 +226,7 @@
                <> help "Used to run old LTS minor bumps, and rerun broken builds"
                <> value ""
                 ) ) )
+
+    printStatsFlags = fmap decodeString $ strArgument
+         $ metavar "YAML-FILE"
+        <> help "YAML file containing a build plan"
diff --git a/stackage-curator.cabal b/stackage-curator.cabal
--- a/stackage-curator.cabal
+++ b/stackage-curator.cabal
@@ -1,5 +1,5 @@
 name:                stackage-curator
-version:             0.7.0.5
+version:             0.7.1
 synopsis:            Tools for curating Stackage bundles
 description:         Please see <http://www.stackage.org/package/stackage-curator> for a description and documentation.
 homepage:            https://github.com/fpco/stackage
@@ -28,6 +28,7 @@
                        Stackage.InstallBuild
                        Stackage.PackageDescription
                        Stackage.ServerBundle
+                       Stackage.Stats
                        Stackage.Upload
                        Stackage.PerformBuild
                        Stackage.CompleteBuild
