diff --git a/app/services/ml/create_model_service.rb b/app/services/ml/create_model_service.rb
index 5c179d8edf7f690c639e6b51e0f4312d115ae13f..b87b13dd37910c9f44a3d8c372b7b8164a5663b7 100644
--- a/app/services/ml/create_model_service.rb
+++ b/app/services/ml/create_model_service.rb
@@ -22,6 +22,12 @@ def execute
 
         add_metadata(model, @metadata)
 
+        Gitlab::InternalEvents.track_event(
+          'model_registry_ml_model_created',
+          project: @project,
+          user: @user
+        )
+
         model
       end
     end
diff --git a/app/services/ml/create_model_version_service.rb b/app/services/ml/create_model_version_service.rb
index e7a592101070c1a5a2f6e8285a692a629f901cc6..3b8c096b5b41928d0f1872728000da73beef9c11 100644
--- a/app/services/ml/create_model_version_service.rb
+++ b/app/services/ml/create_model_version_service.rb
@@ -24,6 +24,12 @@ def execute
           { model_version: model_version }
         ).execute
 
+        Gitlab::InternalEvents.track_event(
+          'model_registry_ml_model_version_created',
+          project: @model.project,
+          user: @user
+        )
+
         model_version
       end
     end
diff --git a/config/events/ml_model_created.yml b/config/events/ml_model_created.yml
new file mode 100644
index 0000000000000000000000000000000000000000..ba9a41039561e69fea3f3e4364ae0740bf210ee5
--- /dev/null
+++ b/config/events/ml_model_created.yml
@@ -0,0 +1,24 @@
+---
+description: Tracks the creation of Machine learning models (Ml::Model) through Ml::CreateModelService
+category: InternalEventTracking
+action: model_registry_ml_model_created
+label_description:
+property_description:
+value_description:
+extra_properties:
+identifiers:
+- project
+- user
+- namespace
+product_section: data-science
+product_stage: modelops
+product_group: mlops
+milestone: "16.8"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/139798
+distributions:
+- ce
+- ee
+tiers:
+- free
+- premium
+- ultimate
diff --git a/config/events/ml_model_version_created.yml b/config/events/ml_model_version_created.yml
new file mode 100644
index 0000000000000000000000000000000000000000..655ea812aea919c1fe4ca05ee9000b4091ba3be7
--- /dev/null
+++ b/config/events/ml_model_version_created.yml
@@ -0,0 +1,24 @@
+---
+description: Tracks the creation of Machine learning models versions (Ml::ModelVersion) through Ml::CreateModelVersionService
+category: InternalEventTracking
+action: model_registry_ml_model_version_created
+label_description:
+property_description:
+value_description:
+extra_properties:
+identifiers:
+- project
+- user
+- namespace
+product_section: data-science
+product_stage: modelops
+product_group: mlops
+milestone: "16.8"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/139798
+distributions:
+- ce
+- ee
+tiers:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/count_total_model_registry_ml_model_created_28d.yml b/config/metrics/counts_28d/count_total_model_registry_ml_model_created_28d.yml
new file mode 100644
index 0000000000000000000000000000000000000000..1bf0b9df0c7a47a7eb0240478c8a894916023760
--- /dev/null
+++ b/config/metrics/counts_28d/count_total_model_registry_ml_model_created_28d.yml
@@ -0,0 +1,26 @@
+---
+key_path: count_total_model_registry_ml_model_created_28d
+description: Tracks the creation of Machine learning models (Ml::Model) through Ml::CreateModelService in the last 28 days.
+product_section: data-science
+product_stage: modelops
+product_group: mlops
+performance_indicator_type: []
+value_type: number
+status: active
+milestone: "16.8"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/139798
+time_frame: 28d
+data_source: internal_events
+data_category: optional
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+options:
+  events:
+    - model_registry_ml_model_created
+events:
+  - name: model_registry_ml_model_created
diff --git a/config/metrics/counts_28d/count_total_model_registry_ml_model_version_created_28d.yml b/config/metrics/counts_28d/count_total_model_registry_ml_model_version_created_28d.yml
new file mode 100644
index 0000000000000000000000000000000000000000..500f9f118c4213876476c7633cd296a5c1fc034e
--- /dev/null
+++ b/config/metrics/counts_28d/count_total_model_registry_ml_model_version_created_28d.yml
@@ -0,0 +1,26 @@
+---
+key_path: count_total_model_registry_ml_model_version_created_28d
+description: Tracks the creation of Machine learning models versions (Ml::ModelVersion) through Ml::CreateModelVersionService in the last 28 days.
+product_section: data-science
+product_stage: modelops
+product_group: mlops
+performance_indicator_type: []
+value_type: number
+status: active
+milestone: "16.8"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/139798
+time_frame: 28d
+data_source: internal_events
+data_category: optional
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+options:
+  events:
+    - model_registry_ml_model_version_created
+events:
+  - name: model_registry_ml_model_version_created
diff --git a/config/metrics/counts_7d/count_total_code_suggestions_authenticate_7d.yml b/config/metrics/counts_7d/count_total_code_suggestions_authenticate_7d.yml
index e7a5ada2e4e1c6ccd57e02f7e97ae1d553b0b7f5..285edb002a149f071030558908e5044d91e5e9b2 100644
--- a/config/metrics/counts_7d/count_total_code_suggestions_authenticate_7d.yml
+++ b/config/metrics/counts_7d/count_total_code_suggestions_authenticate_7d.yml
@@ -7,7 +7,7 @@ product_group: code_creation
 performance_indicator_type: []
 value_type: number
 status: active
-milestone: "16.7"
+milestone: "16.8"
 introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/138848
 time_frame: 7d
 data_source: internal_events
diff --git a/config/metrics/counts_7d/count_total_model_registry_ml_model_created_7d.yml b/config/metrics/counts_7d/count_total_model_registry_ml_model_created_7d.yml
new file mode 100644
index 0000000000000000000000000000000000000000..ce42cf6165443b0fe213ff7c94861343d17728de
--- /dev/null
+++ b/config/metrics/counts_7d/count_total_model_registry_ml_model_created_7d.yml
@@ -0,0 +1,26 @@
+---
+key_path: count_total_model_registry_ml_model_created_7d
+description: Tracks the creation of Machine learning models (Ml::Model) through Ml::CreateModelService in the last 7 days.
+product_section: data-science
+product_stage: modelops
+product_group: mlops
+performance_indicator_type: []
+value_type: number
+status: active
+milestone: "16.8"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/139798
+time_frame: 7d
+data_source: internal_events
+data_category: optional
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+options:
+  events:
+    - model_registry_ml_model_created
+events:
+  - name: model_registry_ml_model_created
diff --git a/config/metrics/counts_7d/count_total_model_registry_ml_model_version_created_7d.yml b/config/metrics/counts_7d/count_total_model_registry_ml_model_version_created_7d.yml
new file mode 100644
index 0000000000000000000000000000000000000000..e4bd8488cbffadc9e7db6ebadc2c67feda4fe851
--- /dev/null
+++ b/config/metrics/counts_7d/count_total_model_registry_ml_model_version_created_7d.yml
@@ -0,0 +1,26 @@
+---
+key_path: count_total_model_registry_ml_model_version_created_7d
+description: Tracks the creation of Machine learning models versions (Ml::ModelVersion) through Ml::CreateModelVersionService in the last 7 days.
+product_section: data-science
+product_stage: modelops
+product_group: mlops
+performance_indicator_type: []
+value_type: number
+status: active
+milestone: "16.8"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/139798
+time_frame: 7d
+data_source: internal_events
+data_category: optional
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+options:
+  events:
+    - model_registry_ml_model_version_created
+events:
+  - name: model_registry_ml_model_version_created
diff --git a/spec/services/ml/create_model_service_spec.rb b/spec/services/ml/create_model_service_spec.rb
index 212f0940635eec0e01f2d303ec920cdfa9769204..74c1dd5fec74ce1f44e0fa80d492ef5f6a90fbb8 100644
--- a/spec/services/ml/create_model_service_spec.rb
+++ b/spec/services/ml/create_model_service_spec.rb
@@ -9,6 +9,10 @@
   let_it_be(:description) { 'description' }
   let_it_be(:metadata) { [] }
 
+  before do
+    allow(Gitlab::InternalEvents).to receive(:track_event)
+  end
+
   subject(:create_model) { described_class.new(project, name, user, description, metadata).execute }
 
   describe '#execute' do
@@ -18,6 +22,10 @@
 
       it 'creates a model', :aggregate_failures do
         expect { create_model }.to change { Ml::Model.count }.by(1)
+        expect(Gitlab::InternalEvents).to have_received(:track_event).with(
+          'model_registry_ml_model_created',
+          { project: project, user: user }
+        )
 
         expect(create_model.name).to eq(name)
       end
@@ -29,6 +37,10 @@
 
       it 'creates a model', :aggregate_failures do
         expect { create_model }.to change { Ml::Model.count }.by(1)
+        expect(Gitlab::InternalEvents).to have_received(:track_event).with(
+          'model_registry_ml_model_created',
+          { project: project, user: user }
+        )
 
         expect(create_model.name).to eq(name)
       end
@@ -40,6 +52,7 @@
 
       it 'raises an error', :aggregate_failures do
         expect { create_model }.to raise_error(ActiveRecord::RecordInvalid)
+        expect(Gitlab::InternalEvents).not_to have_received(:track_event)
       end
     end
 
diff --git a/spec/services/ml/create_model_version_service_spec.rb b/spec/services/ml/create_model_version_service_spec.rb
index 4e71c538f7e11fe10a7e937e16aea668cd0e6c52..b3aead4a92c44835b7cfd3e633d209b40b1524c4 100644
--- a/spec/services/ml/create_model_version_service_spec.rb
+++ b/spec/services/ml/create_model_version_service_spec.rb
@@ -6,12 +6,21 @@
   let(:model) { create(:ml_models) }
   let(:params) { {} }
 
+  before do
+    allow(Gitlab::InternalEvents).to receive(:track_event)
+  end
+
   subject(:service) { described_class.new(model, params).execute }
 
   context 'when no versions exist' do
     it 'creates a model version', :aggregate_failures do
       expect { service }.to change { Ml::ModelVersion.count }.by(1).and change { Ml::Candidate.count }.by(1)
       expect(model.reload.latest_version.version).to eq('1.0.0')
+
+      expect(Gitlab::InternalEvents).to have_received(:track_event).with(
+        'model_registry_ml_model_version_created',
+        { project: model.project, user: nil }
+      )
     end
   end
 
@@ -23,6 +32,11 @@
     it 'creates another model version and increments the version number', :aggregate_failures do
       expect { service }.to change { Ml::ModelVersion.count }.by(1).and change { Ml::Candidate.count }.by(1)
       expect(model.reload.latest_version.version).to eq('4.0.0')
+
+      expect(Gitlab::InternalEvents).to have_received(:track_event).with(
+        'model_registry_ml_model_version_created',
+        { project: model.project, user: nil }
+      )
     end
   end