diff --git a/app/components/admin/stats/sdg/goal_component.html.erb b/app/components/admin/stats/sdg/goal_component.html.erb
index d54fdeea0..055d94744 100644
--- a/app/components/admin/stats/sdg/goal_component.html.erb
+++ b/app/components/admin/stats/sdg/goal_component.html.erb
@@ -4,11 +4,7 @@
<% stats.each do |text, amount, options = {}| %>
-
- <%= tag.p(options) do %>
- <%= text %>
<%= amount %>
- <% end %>
-
+ <%= render Admin::Stats::StatComponent.new(text: text, amount: amount, options: options) %>
<% end %>
diff --git a/app/components/admin/stats/stat_component.html.erb b/app/components/admin/stats/stat_component.html.erb
new file mode 100644
index 000000000..684b016a3
--- /dev/null
+++ b/app/components/admin/stats/stat_component.html.erb
@@ -0,0 +1,5 @@
+
+ <%= tag.p(options) do %>
+ <%= text %>
<%= amount %>
+ <% end %>
+
diff --git a/app/components/admin/stats/stat_component.rb b/app/components/admin/stats/stat_component.rb
new file mode 100644
index 000000000..1cf3891ea
--- /dev/null
+++ b/app/components/admin/stats/stat_component.rb
@@ -0,0 +1,9 @@
+class Admin::Stats::StatComponent < ApplicationComponent
+ attr_reader :text, :amount, :options
+
+ def initialize(text:, amount:, options: {})
+ @text = text
+ @amount = amount
+ @options = options
+ end
+end